Когда я печатаю
reboot
я получил
reboot: Need to be root
P.S. У меня нет прав sudo и пароля
решение1
В Debian вам нужно быть членом группы powerdev, чтобы выключить компьютер как обычный пользователь. Я не уверен, как это работает в Ubuntu.
Что вы можете сделать в любом случае, так это использовать бит setuid, чтобы разрешить любому перезагружать компьютер. Подумайте об этом, прежде чем вы это сделаете. Возможно, вы можете установить setuid только для группы reboot
и изменить группу перезагрузки на свою собственную группу пользователей (или создать новую группу вручную).
решение2
Мы не знаем, какую версию 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
Для получения списка возможных действий выполните команду
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.DBus.Introspectable.Introspect
решение3
Попробуйте эту команду
systemctl reboot -i
Для выключения запустите это
systemctl poweroff -i
вводить в спящий режим, приостанавливать работу, гибридный режим
systemctl hibernate -i
systemctl suspend -i
systemctl hybrid-sleep -i