LINUX.ORG.RU

autosuspend systemd

 , ,


0

2

Хочу, чтобы при старте системы при неактивности система уходила в standby

Делаю так:

cat /etc/systemd/sleep.conf

[Sleep]
AllowSuspend=yes
SuspendMode=disk

cat /etc/systemd/logind.conf

[Login]
IdleAction=suspend
IdleActionSec=1min

В итоге при неактивности в 1 минуту ничего не происходит

★★★★

а так можно

IdleActionSec=1min
anonymous
()

Значит не все процессы корректно передают idle status

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

Не обязательно это делать с помощью systemd. Какие еще есть инструменты, чтобы уводить машину в standby при неактивности?

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

Определи «активность», а то может тебе xidlu/swayidle нужны.

t184256 ★★★★★
()

есть еще такой скрипт, но он работает если его просто запустить, а если запускает dwm при старте - то он не работает

# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((120*60*1000))

# Sequence to execute when timeout triggers.
trigger_cmd() {
    sudo systemctl suspend
    # kill -9 $1
}

sleep_time=$IDLE_TIME
triggered=false

# ceil() instead of floor()
while sleep $(((sleep_time+999)/1000)); do
    idle=$(xprintidle)
    if [ $idle -ge $IDLE_TIME ]; then
        if ! $triggered; then
            trigger_cmd
            triggered=true
            sleep_time=$IDLE_TIME
        fi
    else
        triggered=false
        # Give 100 ms buffer to avoid frantic loops shortly before triggers.
        sleep_time=$((IDLE_TIME-idle+100))
    fi
done
bryak ★★★★
() автор топика
Ответ на: комментарий от littlechris

у меня

systemd-inhibit –list

WHO          UID USER PID COMM         WHAT  WHY                                 MODE
ModemManager 0   root 625 ModemManager sleep ModemManager needs to reset devices delay

Но обычный sudo systemctl suspend уводит в standby, но из скрипта не хочет уводить

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.