Когда я печатаю
reboot
, я получаю
reboot: Need to be root
P.S. У меня нет привилегий sudo и пароля
Мы не знаем, какую Ubuntu вы используете, но для выключения компьютера попробуйте
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
и перезапустите
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
Для получения списка возможных действий выполните [ 115]
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.DBus.Introspectable.Introspect
В Debian вы должны быть членом группы powerdev, чтобы выключить компьютер как обычный пользователь. Я не уверен, как это работает в Ubuntu.
То, что вы можете сделать в любом случае, это использовать бит setuid, чтобы позволить кому-либо перезагрузить компьютер. Подумайте об этом, прежде чем сделать это, хотя. Возможно, вы можете установить setuid только для группы reboot
и изменить группу перезагрузки на собственную группу пользователей (или создать новую группу мощности вручную).
Попробуйте эту команду
systemctl reboot -i
Для выключения выполните эту
systemctl poweroff -i
для гибернации, приостановки, гибридного запуска
systemctl hibernate -i
systemctl suspend -i
systemctl hybrid-sleep -i