Если у вас есть менеджер сеансов, совместимый с freedesktop, вы можете использовать DBus для вызова перезапуска из X-сессии. Команда идет:
dbus-send --system --dest=org.freedesktop.Hal --type=method_call \
--print-reply /org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Reboot int32:0
(это, вероятно, более чем необходимо; работает для меня). Я использую это в сценарии оболочки. Вам не нужно запускать это из root
, но вам нужно запустить его изнутри сеанса X (например, в терминале). Вы можете найти больше по этой теме на https://wiki.ubuntu.com/DebuggingGNOMEPowerManager