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


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


305
2017-08-09 20:24


Источник


Для Ubuntu 16.04 см. Этот вопрос: askubuntu.com/questions/777178/suspend-command-in-ubuntu-16-04 и его ответ systemctl suspend - CJlano


Ответы:


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

Метод Systemd

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

systemctl suspend

а также

systemctl hibernate

Новый метод

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

Для использования по ssh, вы должны изменить правила политики, изложенные Петром V. Mørch

Старый метод

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

pmi action suspend

а также

pmi action hibernate

Для этого требуется установить пакет управления powermanagement-interface (не проверен).

sudo apt-get install powermanagement-interface

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


256
2017-08-09 20:32



pm-suspend и pm-hibernate работает для меня, и это легко. Требуется sudo, но все в порядке. (Найденная идея pmi, но установка пакета для использования suspend хорошо ...) - user1034
Обратите внимание, что вам нужно apt-get install powermanagement-interface запустить pmi. - nealmcb
В 11.10 только pm- * работает, также с добавленным интерфейсом powermanagament - Omegafil
не работает с моим ubuntu 12.10. после apt-get install powermanagement-interface - somethis
новый метод теперь разбит unix.stackexchange.com/questions/153099/... - ijk


Другим способом gnome является использование 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 создает команду 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, а также в спящем режиме.


186
2018-05-03 20:40



Ваш ответ действительно должен быть первым. Это не-root no-packages-to-be-installed gnome. Подобно! - turbo
к Hibernate, вы можете просто заменить последнюю строку на org.freedesktop.UPower.Hibernate - Sheharyar
на моем 13.10 он действительно работает. однако экран не заблокирован при возобновлении, хотя в разделе «Безопасность и конфиденциальность» «Требовать мой пароль при пробуждении из Suspend» является активируется. - andreas-h
Не работал для меня (Gnome 3.12, Ubuntu 14.04). Кажется, интерфейс [UPower.Suspend] удален, согласно bugs.launchpad.net/ubuntu/+source/gnome-power-manager/+bug/... - Gui Ambros
Интерфейс Suspend был перенесен на логин; askubuntu.com/questions/652978 - Khurshid Alam


английский

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

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 parce que vous voulez vous endormir en ecoutant votre radio préférée, ouvrez Terminal et tapez:

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

et votre ordinateur s'endormira dans une heure. Quand vous vous réveillerez, il aura conservé en mémoire vos applications ouvertes.

Vous pouvez remplacer 1h par ce que vous voulez: h pour les heures, m залить минут, s pour les secondes, d залить лежу.

Доброй ночи!

Español

Si quieres suspender tu computadora en una hora porque quieres and dormir escuchando tu estación de radio favorita, tan solo abre el terminal y escribe:

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

y tu computadora se quedará dormida en 1 hora. Cuando despiertes, allí habrán quedado abiertas tus imágenes y todas tus cosas.

Puedes reemplazar 1h por lo que desees: h para horas, m para minutos, s пара-сегундос, d para días.

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


50
2018-01-18 08:31



Идеальное, простое решение! - wakeup
Это мой прецедент, который я ищу! AFIK pm- * может работать без прав суперпользователя - ruX
лучший ответ, простой, элегантный, без установки дополнительных пакетов - Louis


Для Ubuntu 12.04 LTS  а также Ubuntu 13.04

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

sudo pm-hibernate

Чтобы получить Suspend:

sudo pm-suspend

30
2017-09-14 13:45



«sudo pm-suspend» не работает на mint 13 mate :( - rsjethani
Да, я думаю, что пакет не был установлен. ищите эти пакеты в синаптических. - Ten-Coin
пакет установлен, я думаю, что «mate-power-manager» вмешивается в него. - rsjethani
Недостатком этого метода является то, что если вы используете GUI, pm-suspend НЕ блокирует ваш сеанс, что может быть небезопасным. - Raúl Salinas-Monteagudo
Он также работает на ubuntu 15.10. - Searene


Вы можете использовать файл /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 это не сработает.


22
2017-08-09 20:35



Первая идея дает мне: «bash: echo: write error: Invalid argument» Идея Dbus дает результат: «Ошибка org.freedesktop.DBus.Error.UnknownMethod: Метод« Приостановить »с сигнатурой« »на интерфейсе« org.gnome.PowerManager » не существует " - user1034
Я добавил небольшое объяснение /sys/power/state-вещь. Кроме того, метод dbus был удален из Ubuntu, поэтому он больше не будет работать. - qbi
$ sudo echo -n mem > /sys/power/state - bash: /sys/power/state: Permission denied - Hubro
Это отлично работает. Для людей, имеющих проблемы с этим методом при использовании sudo, в вашей текущей оболочке работает «pipe to file», aka «>», поэтому он не получает привилегий суперпользователя во время вашего эха. Вам нужно будет использовать sudo -i сначала, или sudo tee вот так: echo mem | sudo tee /sys/power/state - RandomInsano


Для выключения системы (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

11
2017-08-07 15:08





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

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

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


8
2018-05-15 16:07



Ницца. Или xscreensaver-command --lock в зависимости от обстоятельств. - phyzome


поскольку 15,04 systemD - стандартная система init, поэтому есть новая команда, которая будет использоваться:

systemctl suspend

8
2017-11-27 13:36



Я использую Xubuntu 15.04. Команда systemctl suspend приостанавливает работу компьютера, но это не приводит к блокировке экрана, даже если я установил флажок «Блокировка экрана при сбое системы» в «Настройки» -> «Управление электропитанием» -> «Безопасность». Кто-нибудь может понять, почему? - Teemu Leisti
Я обновился до Xubuntu 16.04. Команда systemctl suspend все еще приостанавливает работу компьютера. Теперь это также заставляет экран блокироваться, если и только если установлен флажок «Блокировка экрана при сбое системы» в «Настройки» -> «Управление электропитанием» -> «Безопасность». - Teemu Leisti


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

... который работает в 15.10 Уайли и, возможно, Утопик и Яркий.

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

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


2
2017-11-18 18:09



Мой XPS 13 9350 с Debian / Gnome был с проблемами приостановки / спячки при закрытии крышки. После выполнения этой команды (и эквивалента для спящего режима) она успешно перешла в режим приостановки (и спящий режим) и теперь закрывает и открывает крышку, как и следовало ожидать! - Victor Schröder


Вот как поставить удаленную машину в режим ожидания по 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 пароль:
[sudo] пароль для x:
Соединение с 192.168.1.4 закрыто.

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


1
2017-12-27 05:09