Приостановить команду в Ubuntu 16.04
В Ubuntu 14.04 я использовал следующую команду для приостановки компьютера как пользователя без прав root:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
/org/freedesktop/UPower org.freedesktop.UPower.Suspend
К сожалению, в Ubuntu 16.04 это больше не работает, и я получаю сообщение об ошибке:
Ошибка org.freedesktop.DBus.Error.UnknownMethod: нет такого метода "Suspend"
По-видимому, произошли некоторые изменения, так что теперь будет правильной командой?
1 ответ
Согласно вики Debian, с systemd это новая команда:
systemctl suspend
ПРИМЕЧАНИЕ. Эта команда по-прежнему требует привилегий root, если открыт сеанс другого пользователя. Это также не работает в Cron. В обоих случаях вам нужно будет создать дополнительные настройки.
Suspend
метод по-прежнему доступен на D-Bus, если необходимо:
dbus-send \
--system \
--print-reply \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend \
boolean:true
boolean:true
это
user_interaction
параметр:
Логические параметры user_interaction могут использоваться для управления тем, должен ли PolicyKit интерактивно запрашивать у пользователя учетные данные для аутентификации, если это необходимо.