Как я могу приостановить или перевести свой ноутбук в спящий режим с помощью командной строки без установки дополнительного программного обеспечения?
Традиционно ubuntu поддерживала довольно грубый метод приостановки и перехода в спящий режим. Ни то, ни другое не будет хорошо интегрироваться с другими приложениями, а иногда даже не будет работать на некоторых машинах. Этот новый метод не требует root и уведомляет все приложения, прослушивающие события питания.
Метод Systemd
Начиная с Ubuntu 16.04, systemctl
необходимо использовать вызов (см. Команда приостановки в Ubuntu 16.04)
systemctl suspend
и
systemctl hibernate
Новый метод (устаревший)
Устаревший около Ubuntu 16.04; используйте systemctl
вместо этого, как указано выше.
Смотрите ответ здесь, на этой странице от Адама Паетзника относительно использования dbus. В идеале вы бы создали ~/bin/suspend
ярлык / скрипт, который упрощает использование этого действия.
Для использования по ssh вы должны изменить правила policykit, изложенные Питером В. Мерхом
Старый Метод
Согласно Форум Ubuntu вы можете использовать следующие команды:
pmi action suspend
и
pmi action hibernate
Для этого необходимо установить пакет powermanagement-interface (не тестировался).
sudo apt-get install powermanagement-interface
Я также нашел команды sudo pm-suspend
и sudo pm-hibernate
для работы на моем нетбуке.
Удобный для gnome способ - использовать 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.hibernateResultActive=yes
Это было проверено на Убунтугном 14.04.
Примечание: Это в основном то же самое, что и ответ qbi, но обновлено для работы с более новыми версиями Ubuntu, а также для включения режима гибернации.
Английский
Если вы хотите, чтобы ваш компьютер отключился через час, потому что вы хотите лечь спать, слушая свою любимую радиостанцию, откройте терминал и введите:
sudo bash -c "sleep 1h; pm-suspend"
и ваш компьютер заснет через 1 час. Когда вы проснетесь, он сохранит ваши открытые изображения и все ваши вещи.
Вы можете заменить 1h
тем, что ты хочешь: h
в течение нескольких часов, m
в течение нескольких минут, s
в течение нескольких секунд, d
в течение нескольких дней.
Спокойной ночи!
Француз
Если вы просто хотите, чтобы ваш компьютер перешел в спящий режим через час, потому что хотите заснуть во время прослушивания любимого радио, откройте терминал и введите :
sudo bash -c "sleep 1h; pm-suspend"
и ваш компьютер уснет через час. Когда вы проснетесь, он сохранит в памяти ваши открытые приложения.
Вы можете заменить 1h
тем, что вы хотите: h
для часов, m
минуты, s
секунд, d
на несколько дней.
Спокойной ночи!
Испанский
Если вы хотите приостановить работу компьютера в течение часа, потому что вы хотите спать, слушая любимую радиостанцию, просто откройте терминал и введите:
sudo bash -c "sleep 1h; pm-suspend"
и ваш компьютер заснет через 1 час. Когда вы проснетесь, там будут открыты ваши изображения и все ваши вещи.
Вы можете заменить 1h
за то, что вы хотите: h
для часов, m
для минут, s
для секунд, d
на несколько дней.
Спокойной ночи!
Чтобы перейти в спящий режим:
sudo pm-hibernate
Чтобы получить приостановку:
sudo pm-suspend
Вы можете использовать файл /sys/power/state
чтобы сделать это. Сначала выясните, какие состояния поддерживаются:
user@linux:_> cat /sys/power/statestandby mem diskroot@linux:~> echo -n mem > /sys/power/state # suspend to ramroot@linux:~> echo -n disk > /sys/power/state # suspend to disk
или через dbus:
В соответствии с этим запись в панели запуска вышеупомянутый интерфейс был удален. Так что в Ubuntu это больше не будет работать.
Чтобы приостановить работу системы (14.04) из командной строки (или сочетания клавиш), используйте:
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend 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
с 15.04 systemD - это стандартная система инициализации, поэтому необходимо использовать новую команду:
systemctl suspend
Ответ Адама Паетзника на dbus-send не сработал так, как предполагалось для меня на lucid; машина проснулась разблокированной, хотя gnome-power-manager настроен на блокировку экрана при пробуждении.Я хочу, чтобы экран был заблокирован при пробуждении, и обнаружил, что это делается следующим образом:
$ gnome-screensaver-command --lock && pmi action hibernate
Я предполагаю, что это не зависит от конфигурации gnome, но я этого не проверял.
Новый интерфейс
...который работает в 15.10 Хитро, и, возможно, утопично и ярко.
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 "(режим сна 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.
Для Ubuntu 16.04 смотрите Этот вопрос: Suspend command in Ubuntu 16.04 - Ask Ubuntu и его ответ systemctl приостановить