Как я могу приостановить / спящий режим из командной строки?
Как я могу приостановить или перевести мой ноутбук в спящий режим с помощью командной строки, не устанавливая дополнительное программное обеспечение?
14 ответов
Традиционно Ubuntu поддерживает довольно тупой метод приостановки и гибернации. Ни один из них не будет хорошо интегрироваться с другими приложениями и иногда даже не будет работать на некоторых машинах. Новый метод не требует root и уведомляет все приложения, прослушивающие события power.
Системный метод
Начиная с Ubuntu 16.04, systemctl
необходимо использовать вызов (см. команду Suspend в 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
работать на моем нетбуке.
Удобный для гномов способ - использовать dbus.
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
У этой команды есть два преимущества pm-suspend
,
Он заблокирует ваш экран (после возобновления), если у вас выбрана эта опция в gnome.
Он не требует привилегий 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.
английский
Если вы хотите, чтобы ваш компьютер зависал в течение одного часа, потому что вы хотите лечь спать, слушая любимую радиостанцию, откройте терминал и введите:
sudo bash -c "sleep 1h; pm-suspend"
и ваш компьютер засыпает через 1 час. Когда вы проснетесь, он сохранит ваши открытые изображения и все ваши вещи.
Вы можете заменить 1h
по тому, что вы хотите: h
часами, m
на несколько минут, s
на секунды, d
несколько дней.
Доброй ночи!
Français
Вообще-то, вы должны знать, что вам нужно знать, что вам нужно, чтобы узнать больше о радиоприемнике, о том, что вы работаете с терминалом:
sudo bash -c "sleep 1h; pm-suspend"
et votre ordinateur s'endormira dans und heure. Quand vous vous réveillerez, il aura conservé en mémoire vos приложения Overtes.
Vous Pouvez Remplacer 1h
Par Ce Que Vous Voulez: h
ле ле heures, m
налить минут, s
за второе место, d
лейте журналы.
Доброй ночи!
Español
Приводит к сведению информацию о том, что все в порядке и в течение определенного времени, и в то же время, когда речь идет о радиопередаче, соло и терминале, опишите:
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
para segundos, d
пара диас
Спокойной ночи!
Для Ubuntu 12.04 LTS и Ubuntu 13.04
Чтобы получить спящий режим:
sudo pm-hibernate
Чтобы получить Suspend:
sudo pm-suspend
Вы можете использовать файл /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:
Согласно этой записи в панели запуска вышеупомянутый интерфейс был удален. Так что это не будет работать в Ubuntu.
С 15.04 systemD является стандартной системой инициализации, поэтому необходимо использовать новую команду:
systemctl suspend
Для выключения системы (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
Ответ dbus-send Адама Петцника не сработал так, как я предполагал, на lucid; машина проснулась разблокированной, хотя gnome-power-manager настроен на блокировку экрана при пробуждении. Я хочу, чтобы экран был заблокирован при пробуждении, и обнаружил, что следующее делает это:
$ gnome-screensaver-command --lock && pmi action hibernate
Я полагаю, что это не зависит от конфигурации GNOME, но я не проверял это.
Новый интерфейс
... который работает в 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
команда.
Вот как перевести удаленный компьютер в режим ожидания через 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.
Обновление для тех, кто, как и я, все еще работает в системах 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
,
Лично я экспериментировал с методом pmi. Однако, когда я попробовал это, я получил сообщение об ошибке: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
, Тем не менее, в третьем комментарии к этому сообщению об ошибке есть обходной путь, который, похоже, сработал для меня (я использую Ubuntu 13.03).
Как заблокировать экран и перевести компьютер в спящий режим (приостановить) в одну строку из командной строки (можно назначить сочетание клавиш Ubuntu)
Протестировано на Ubuntu 22.04.
Это прямо . Обратитесь к этому ответу для подробного объяснения этой команды:
Вы можете заблокировать экран и перевести компьютер в спящий режим с помощью одной команды:
# lock the screen and put the computer to sleep sudo true && gnome-screensaver-command -l && sudo pm-suspend
Вы можете назначить приведенную выше команду сочетанию клавиш, если хотите быстро перевести компьютер в спящий режим.
, как показано в основном ответе , похоже, также дает результат, аналогичный моей команде. Я не знаю, чем они отличаются и имеют ли они какие-либо разные эффекты.
Обновление: в более старых версиях Ubuntu возможно, чтоsudo systemctl suspend
также не будет блокировать экран и требовать пароль при пробуждении, тогда как мойsudo true && gnome-screensaver-command -l && sudo pm-suspend
Команда всегда сначала блокирует экран и требует пароль после пробуждения. Однако в Ubuntu 22.04 результаты кажутся такими же. Только в браузере Edge (при использовании любого другого браузера не будет отображаться весь контент) вы можете увидеть мой чат по этому поводу с Bing AI здесь .
После пробуждения ото сна (приостановки) можно запуститьjournalctl -n 1000 -e | grep "PM: suspend"
чтобы доказать, что ваш компьютер действительно спал. Опять же, подробности из моего более подробного ответа здесьсм. в моем более подробном ответе .
Через меню графического интерфейса:
Выполнение моей команды выше дает тот же результат, что и щелчок в правом верхнем углу экрана и переход к «Выключение/Выход из системы» -> Приостановить, как показано на этом снимке экрана:
16.04 у меня работает (с рабочим столом Gnome):
gnome-screensaver-command --lock && compsleep
Я также установил его в качестве пользовательского сочетания клавиш через панель настроек Gnome в качестве клавиш "Shift-Super-X".