В 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. Ошибка. UnknownMethod: Никакой такой метод Не 'Приостанавливает'
По-видимому, были некоторые изменения поэтому, какова была бы корректная команда теперь?
Согласно Wiki Debian, с systemd это - новая команда:
systemctl suspend
Примечание: Эта команда все еще требует полномочий пользователя root, если существует открытая сессия другого пользователя. Это также не работает в Кроне. В обоих случаях Вы необходимо будет создать дополнительные настройки.
Метод приостановки
по-прежнему доступен на D-Bus, если необходимо:
dbus-send \
--system \
--print-reply \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend \
boolean:true
логическое: true
- это параметр user_interaction
:
Логические параметры user_interaction могут использоваться для контролировать, должен ли PolicyKit интерактивно запрашивать у пользователя учетные данные для аутентификации, если это необходимо.