Как приостановить или перевести компьютер в спящий режим с помощью командной строки, не устанавливая дополнительное программное обеспечение?
Следующее работает для меня 16.04 (с рабочим столом Gnome):
gnome-screensaver-command --lock && compsleep
Я также установил его в качестве настраиваемого сочетания клавиш через панель настроек Gnome в качестве клавиш «Shift». -Super-X».
Обновление для тех, кто, как и я, все еще работает в системах 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
.
, поскольку 15.04 systemD является стандартной системой инициализации, поэтому необходимо использовать новую команду:
systemctl 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's password: [sudo] password for x: Connection to 192.168.1.4 closed.
/ sys / power / state работает в Ubuntu 13.10. pmi выдает ошибку Dbus.
Лично я экспериментировал с методом pmi. Однако, когда я попробовал это, я получил сообщение об ошибке: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
. Тем не менее, есть обходной путь в 3-м комментарии из этого сообщения об ошибке , который, кажется, сработал для меня (я использую Ubuntu 13.03).
Если Вы хотите, чтобы Ваш компьютер приостановил через один час, потому что Вы хотите лечь спать, слушая Вашу любимую радиостанцию, открыть терминал и тип:
sudo bash -c "sleep 1h; pm-suspend"
и Ваш компьютер заснет через 1 час. Когда Вы проснетесь, это сохранит Ваши открытые изображения и весь Ваш материал.
Можно заменить 1h
тем, что Вы хотите: h
в течение многих часов, m
в течение многих минут, s
в течение многих секунд, d
в течение многих дней.
Спокойной ночи!
Синтаксический анализ 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.
Доброй ночи!
СИ 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 надре!
Вы можете использовать файл /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.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
.
Традиционно Ubuntu поддерживает довольно тупой метод приостановки и спящего режима. Ни один из них не будет хорошо интегрироваться с другими приложениями, а иногда даже не будет работать на некоторых машинах. Новый метод не требует root и уведомляет все приложения, прослушивающие события power.
Начиная с 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
для работы на моем нетбуке.
Ответ dbus-send Адама Петцника не сработал так, как это якобы предполагалось для меня; машина проснулась разблокированной, хотя gnome-power-manager настроен на блокировку экрана при пробуждении. Я хочу, чтобы экран был заблокирован при пробуждении, и обнаружил, что следующее делает это:
$ gnome-screensaver-command --lock && pmi action hibernate
Я думаю, это не зависит от конфигурации гнома, но я не проверял это.
Для выключения системы (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
Для Ubuntu 12.04 LTS и Ubuntu 13.04
Чтобы получить спящий режим:
sudo pm-hibernate
Для получения приостановки:
sudo pm-suspend
Удобный для гномов способ - использовать 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.