Как я могу приостановить / спящий режим из командной строки?

Как приостановить или перевести компьютер в спящий режим с помощью командной строки, не устанавливая дополнительное программное обеспечение?

366
задан 11 February 2018 в 23:18

13 ответов

Следующее работает для меня 16.04 (с рабочим столом Gnome):

gnome-screensaver-command --lock && compsleep

Я также установил его в качестве настраиваемого сочетания клавиш через панель настроек Gnome в качестве клавиш «Shift». -Super-X».

0
ответ дан 11 February 2018 в 23:18

Обновление для тех, кто, как и я, все еще работает в системах KDE / Ubuntu 14.04. Для блокировки используйте qdbus, а для приостановки используйте dbus. Полная команда:

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Для перехода в спящий режим, т. Е. Приостановки на жесткий диск вместо ОЗУ, замените «Suspend» в конце команды на «Hibernate».

Чтобы просто заблокировать экран без приостановки, xscreensaver-command -lock будет работать, если вы введете только 1 дефис для опции «-lock», и только если запущена заставка. На самом деле не очень полезная команда. Использовать i3lock проще, но тогда вы не получите аккуратный диалог входа в систему, чтобы вернуться к работе, как при использовании qdbus.

0
ответ дан 11 February 2018 в 23:18

, поскольку 15.04 systemD является стандартной системой инициализации, поэтому необходимо использовать новую команду:

systemctl suspend
0
ответ дан 11 February 2018 в 23:18

Вот как перевести удаленный компьютер в режим ожидания через ssh:

ssh -t 192.168.1.4 'sudo nohup &>/dev/null bash -c "(sleep 1; echo -n mem >/sys/power/state) &"'
x@192.168.1.4's password: 
[sudo] password for x: 
Connection to 192.168.1.4 closed.

/ sys / power / state работает в Ubuntu 13.10. pmi выдает ошибку Dbus.

0
ответ дан 11 February 2018 в 23:18

Лично я экспериментировал с методом pmi. Однако, когда я попробовал это, я получил сообщение об ошибке: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1. Тем не менее, есть обходной путь в 3-м комментарии из этого сообщения об ошибке , который, кажется, сработал для меня (я использую Ubuntu 13.03).

0
ответ дан 11 February 2018 в 23:18

Английский язык

Если Вы хотите, чтобы Ваш компьютер приостановил через один час, потому что Вы хотите лечь спать, слушая Вашу любимую радиостанцию, открыть терминал и тип:

sudo bash -c "sleep 1h; pm-suspend"

и Ваш компьютер заснет через 1 час. Когда Вы проснетесь, это сохранит Ваши открытые изображения и весь Ваш материал.

Можно заменить 1h тем, что Вы хотите: h в течение многих часов, m в течение многих минут, s в течение многих секунд, d в течение многих дней.

Спокойной ночи!

Français

Синтаксический анализ Si vous voulez juste que votre ordinateur se mette en veille dans une heure радио избирателя que vous voulez vous endormir en ecoutant préférée, ouvrez Терминал и ленты:

sudo bash -c "sleep 1h; pm-suspend"

и избиратель ordinateur s'endormira dans une heure. Quand vous vous réveillerez, il аура приложения conservé en mémoire vos ouvertes.

Vous pouvez remplacer 1h par ce que vous voulez: h pour les heures, m pour les minutes, s pour les secondes, d pour les jours.

Доброй ночи!

Español

СИ quieres подвязка tu computadora en una hora porque quieres ir dormir escuchando tu estación de radio любимое, коричневое соло abre el terminal y escribe:

sudo bash -c "sleep 1h; pm-suspend"

y хора tu computadora se quedará dormida en 1. Cuando despiertes, allí habrán quedado abiertas tus imágenes y жабы tus устраивается.

Puedes reemplazar 1h por lo que desees: h хоры параграфа, m параграф minutos, s параграф segundos, d параграф días.

¡Buenas надре!

60
ответ дан 11 February 2018 в 23:18

Вы можете использовать файл /sys/power/state для этого. Сначала выясните, какие состояния поддерживаются:

user@linux:_> cat /sys/power/state
standby mem disk

root@linux:~> echo -n mem > /sys/power/state  # suspend to ram
root@linux:~> echo -n disk > /sys/power/state  # suspend to disk

или через dbus:

# Приостановить dbus-send --session --dest = org.gnome.PowerManager \ --type = method_call --print-reply --reply-timeout = 2000 \ / org / gnome / PowerManager org.gnome.PowerManager.Suspend #Hibernate dbus-send --session --dest = org.gnome.PowerManager \ --type = method_call - -print-reply --reply-timeout = 2000 \ / org / gnome / PowerManager org.gnome.PowerManager.Hibernate

В соответствии с этой записью в панели запуска вышеупомянутый интерфейс был удален. Так что это больше не будет работать в Ubuntu.

0
ответ дан 11 February 2018 в 23:18

Новый интерфейс

…, который работает в 15.10 Wily, и, возможно, Utopic и Vivid.

dbus-send --print-reply --system                         \
    --dest=org.freedesktop.login1                        \
    /org/freedesktop/login1                              \
    org.freedesktop.login1.Manager.Suspend boolean:true

Полезно, что это не требует sudo, в отличие от команды pm-suspend.

0
ответ дан 11 February 2018 в 23:18

Традиционно Ubuntu поддерживает довольно тупой метод приостановки и спящего режима. Ни один из них не будет хорошо интегрироваться с другими приложениями, а иногда даже не будет работать на некоторых машинах. Новый метод не требует root и уведомляет все приложения, прослушивающие события power.

Systemd Method

Начиная с Ubuntu 16.04, должен использоваться вызов systemctl (см. Команда приостановки в Ubuntu 16.04 )

systemctl suspend

и

systemctl hibernate

Новый метод

Смотрите ответ здесь на этой странице от Адама Пецника относительно использования dbus . В идеале вы должны создать ~/bin/suspend ярлык / скрипт, который облегчает использование этого действия.

Для использования через ssh вы должны изменить правила policykit, как описано Питером В. Мёрчем

Старый метод

Согласно Ubuntu Forum ] вы можете использовать следующие команды:

pmi action suspend

и

pmi action hibernate

Для этого необходимо установить пакет интерфейса powermanagement (не тестировался).

sudo apt-get install powermanagement-interface

Я также нашел команды sudo pm-suspend и sudo pm-hibernate для работы на моем нетбуке.

0
ответ дан 11 February 2018 в 23:18

Ответ dbus-send Адама Петцника не сработал так, как это якобы предполагалось для меня; машина проснулась разблокированной, хотя gnome-power-manager настроен на блокировку экрана при пробуждении. Я хочу, чтобы экран был заблокирован при пробуждении, и обнаружил, что следующее делает это:

$ gnome-screensaver-command --lock && pmi action hibernate

Я думаю, это не зависит от конфигурации гнома, но я не проверял это.

0
ответ дан 11 February 2018 в 23:18

Для выключения системы (14.04) из командной строки (или сочетания клавиш) используйте:

dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true

Я выяснил это, поиграв с gdbus, который может перечислить доступные интерфейсы:

Чтобы перечислить услуги, доступные на шине:

dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames

Чтобы найти методы:

gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
0
ответ дан 11 February 2018 в 23:18

Для Ubuntu 12.04 LTS и Ubuntu 13.04

Чтобы получить спящий режим:

sudo pm-hibernate

Для получения приостановки:

sudo pm-suspend
0
ответ дан 11 February 2018 в 23:18

Удобный для гномов способ - использовать dbus.

dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Suspend

У этой команды есть два преимущества перед pm-suspend.

  1. Он заблокирует ваш экран (после возобновления), если у вас выбрана эта опция в gnome.

  2. Он не требует привилегий root, поэтому его легко добавить, например, как сочетание клавиш.

Как уже упоминалось в комментариях, обмен Suspend в последней строке на Hibernate создает команду гибернации:

dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Hibernate

Если выбрасывает гибернацию Error org.freedesktop.UPower.GeneralError: not authorized, ваш пользователь может не быть разрешено впадать в спячку Отредактируйте или создайте /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla, чтобы он содержал следующий раздел: (источник)

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Это было проверено на UbuntuGnome 14.04 .

Примечание: это в основном то же самое, что и ответ qbi, но обновлено для работы с более новыми версиями Ubuntu, а также с включенным hibernate.

0
ответ дан 11 February 2018 в 23:18

Другие вопросы по тегам:

Похожие вопросы: