Гибридный спящий режим (ASUS ZENBOOK) & ArchLinux

День добрый. Интересуюсь возможностью реализации данной технологии.
В винде работает следующим образом - при закрытии крышки ноут засыпает, при открытии - просыпается из гибридного спящего режима за 2-3 секунды.

Кто сталкивался с реализацией?
Это и не ждущий режим (сон) как таковой, и не спящий (гибернация).

Данная технология присутствует во многих современных ноутах, а также во всей линейке zenbook, насколько мне известно.
Она там на аппаратном уровне реализована.
new_arch_user
Это и не ждущий режим (сон) как таковой, и не спящий (гибернация).
Это и то и другое:
suspend - в свопе сохраняется дамп памяти, снимается питание со всего железа кроме памяти (может зависеть от режима ACPI в BIOS);
resume - проверяется содержимое памяти и, если оно не нарушено, восстанавливается работа железа (аналогично suspend to RAM);
в противном, поскольку имело место отключение питания, память восстанавливается из свопа (аналогично suspend to disk).

$ systemctl hybrid-sleep

Я в этом плане слабо знаком с ноутами, но крышка, по идее - та же клавиша и имеет свой скан-код. Ройте, где идет привязка на suspend и привяжите ее к вышеописанному действию. Во всяком случае я себе это так представляю.
$ cat logind.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# You can override the directives in this file by creating files in
# /etc/systemd/logind.conf.d/*.conf.
#
# See logind.conf(5) for details

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
LidSwitchIgnoreInhibited - как раз и отвечает за реакцию на закрытие крышки.
Тогда:
/etc/systemd/logind.conf
—————
HandleLidSwitch=hybrid-sleep
LidSwitchIgnoreInhibited=yes

# systemctl restart systemd-logind.service
Доберусь до ноута - проверю.
Доберусь до ноута - проверю.
Прописал - при закрытии крышки ноута погасает экран... При открытии - загорается. До того, как прописал, ноут никак не реагировал на закрытие крышки, дисплей продолжал работать.

Между прочим, при выключении \ перезагрузке ноута после входа в систему и запуска startxfce4 открываются приложения, которые были запущены ранее (но не все). Это, наверное, фишка от xfce и к спящему режиму отношения не имеет..

systemctl hybrid-sleep
Не удалось.

--
-- Unit hybrid-sleep.target has failed.
--
-- The result is dependency.
May 22 01:39:13 localhost systemd: Job hybrid-sleep.target/start failed with result 'dependency'.
May 22 01:39:13 localhost systemd: Unit sleep.target is not needed anymore. Stopping.
May 22 01:39:13 localhost systemd: Unit systemd-hybrid-sleep.service entered failed state.
May 22 01:39:13 localhost systemd: systemd-hybrid-sleep.service failed.
May 22 01:39:13 localhost polkitd: Unregistered Authentication Agent for unix-process:22169:329602 (system bus name :1.29, object path /org/freedesktop/PolicyKit1/AuthenticationAgent,
May 22 01:39:13 localhost systemd: Stopped target Sleep.
-- Subject: Unit sleep.target has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sleep.target has finished shutting down.
May 22 01:39:13 localhost systemd: Stopping Sleep.
-- Subject: Unit sleep.target has begun shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sleep.target has begun shutting down.
May 22 01:39:18 localhost kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found , ACPI requires (20150204/nsarguments-95)
May 22 01:39:18 localhost kernel: ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found , ACPI requires (20150204/nsarguments-95)
Добрался, проверил. До этого, как и полагается, при закрытии крышки ноут уходил в suspend-to-ram, при открывании и нажатии кнопки питания восстанавливал работу.
Внес изменения, проделал ту же операцию - ноут оперативненько проснулся, т.е., поскольку питание не снималось, восстановилась сессия из памяти.
Закрыл крышку, подождал пока уснул, вынул аккумулятор, отключил от сети, (сосчитал до десяти :)), дал питание, включил: пробуждение длилось на несколько секунд дольше (явно resume from disk). Т.е. работает, но через 30 сек. самопроизвольно уходит в сон. Раскомментировал IdleAction=ignore - дуло исчезло, но после запуска mplayer'а повторилась та же история. Знаний по этому поводу не имею, а интернета рядом не было, поэтому поставил все на место и отложил на следующий раз.

new_arch_user
systemctl hybrid-sleep
Не удалось.
Swap имеется?
Раздел/файл свопа указан в параметрах загрузки ядра?
В образ initramfs включен хук resume?
Другими словами, тут были?

Затем пробуйте:
$ systemctl hibernate
Спасибо за рекомендации, всё проделал, свап подключил.

Итак, ситуация такова:

systemctl hybrid-sleep: после ввода команды экран моментально гаснет, затем через полторы-две секунды включается снова, можно разглядеть рабочий стол в течение примерно еще 1 секунды (1), затем гаснет окончательно. После включения восстанавливает рабочий стол без потерь - вроде как работает так, и как должно было. На винде это отнимало чуть больше времени, кстати (именно пробуждение). Здесь шустрее на пару секунд. Мне даже показалось, что это было простое выключение дисплея))
Между прочим, при открытии крышки происходит выход из режима (как и должно быть), но вот закрытие крышки не дает ничего, кроме потемнения экрана (2).

systemctl hibernate: аналогично предыдущему пункту (с демонстрацией рабочего стола), однако, происходит выключение системы. При повторном нажатии кнопки питания происходит загрузка системы с нуля. После включения в терминале последние введенные команды не сохранились.

Итак, 4 вопроса:

1. Почему рабочий стол показывается во время входа в режим? Можно это спрятать?
2. Каким образом привязать закрытие крышки к команде systemctl hybrid-sleep?
3. Меню выхода из системы XFCE 4 при выборе пункта "Hibernate" выключает компьютер, хотя должна выполнять другую функцию... Встречались ранее с таким поведением?
4. Как починить systemclt hibernate ?
1. Не знаю, не сталкивался;
2. Тут высказывался, но требует доводки;
3. Возможно связано с п. 4;
4. Читать тут, затем тут;
5. Экспериментировать. У меня редко бывает ноут под рукой. :-/
3. Возможно связано с п. 4;
4. Читать тут, затем тут;
5. Экспериментировать. У меня редко бывает ноут под рукой. :-/
Гибернацию починил ( была ошибка в параметре resume=/ )

1. Не знаю, не сталкивался;
2. Тут высказывался, но требует доводки;
А тут еще работа предстоит.. В частности, по настройкам функции крышки. Впрочем, подождем чуть-чуть..
 
Зарегистрироваться или войдите чтобы оставить сообщение.