(Это было ранее запрашивалось , но решение больше не работает в соответствии с 11.10.)
В Ubuntu 11.10 любой пользователь может отключить машину из меню питания в правом верхнем углу Экран без необходимости корневых привилегий. Как я могу приостановить как обычный пользователь из командной строки?
Есть новый ответ на это в Как я могу приостановить / спящий режим из командной строки? . Вы можете приостановить работу своего компьютера (если он это поддерживает) без ввода пароля, набрав
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
. Это работает для меня в Ubuntu 12.04. Кредиты Адаму, который разместил ответ там.
Проверьте вашу систему, поддерживает ли она команду pm-suspend
, с помощью следующего простого сценария:
for m in --suspend --hibernate --suspend-hybrid
do
echo -n "$m: "
if pm-is-supported $m; then echo "supported"; else echo "not supported"; fi
done
Пример вывода:
--suspend: supported
--hibernate: supported
--suspend-hybrid: not supported
Если у вас есть --suspend: supported
, вы должны быть возможность приостановить работу вашей системы с помощью sudo pm-suspend
.
Большинству функций в системе dbus потребуется питание root. Так что это должно хорошо работать (проверено на Ubuntu 14.04):
dbus-send --session --dest=com.canonical.Unity \
/com/canonical/Unity/Session \
com.canonical.Unity.Session.Shutdown
Это может также работать:
dbus-send --session --dest=org.gnome.SessionManager \
/org/gnome/SessionManager \
org.gnome.SessionManager.Shutdown
Установите инструмент d-feet
и просмотрите DBus для всех доступных параметров. ]
Я делаю это успешно с пакетом powermanagement-interface и pmi action suspend в 12.10. Возможно, проблема, с которой вы столкнулись, была исправлена в обновлениях.