LINUX.ORG.RU

Как без DE вызывать после простоя, например 10 минут, systemctl suspend?

Сначала определить, что конкретно значит «простой».

intelfx ★★★★★
()
Ответ на: комментарий от Eulenspiegel

Глобального нет, потому что в консоли, в конкретном комозиторе и в иксах «простой» будет означать разное. Например, композитор будет отслеживать нажатия на клавиши клавиатуры, движения мыши, нажатия на кнопки на геймпаде и т.д. и т.п. Консоль в целом этого не делает, придётся свой велосипед городить, который прям из /dev будет читать состояния. Вероятно, такой уже даже есть, но всё же на уровне wlroots проще это решается, и отдельно.

CrX ★★★★★
()
Ответ на: комментарий от CrX

а... вон чего надо
Ну тогда хук на инпут повесить, запоминать в нём время и по крону проверять время и суспендить

superuser ★★★★☆
()
Последнее исправление: superuser (всего исправлений: 1)

Спасибо всем отписавшимся.

Пробовал logind.conf - выключает при работе.
Поставил утилиту xautolock, которая смотрит на шину kbd/mouse и запустил при старте GUI сессии.

Eulenspiegel
() автор топика
Ответ на: комментарий от Eulenspiegel

Claude посоветовал

[Unit]
Description=Suspend system after idle time

[Service]
Type=simple
EnvironmentFile=/etc/systemd/idle-suspend.conf
ExecStart=/bin/sh -c 'while true; do if [ "$(loginctl show-session $(loginctl show-user $USER -p Display --value) -p IdleHint --value)" = "yes" ]; then sleep 600; if [ "$(loginctl show-session $(loginctl show-user $USER -p Display --value) -p IdleHint --value)" = "yes" ]; then systemctl suspend; fi; else sleep 60; fi; done'

[Install]
WantedBy=multi-user.target
Eulenspiegel
() автор топика

Может быть установить параметр ядра consoleblank на нужное время, а потом как-нибудь по событию выключения экрана усыплять, если, конечно, чем-то такое событие можно поймать.

papin-aziat ★★★★★
()

Можно посмотреть в logind.conf

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.