Екран не вимикається, коли неактивний


11

Нещодавно я помітив, що параметри яскравості та блокування для вимкнення екрана після періоду бездіяльності ігноруються.

У мене є налаштування за 1 хвилину і блокувати екран, коли екран вимикається, але мій комп'ютер ніколи не вимикає екран.

Я бачив подібні запитання, коли люди помічають проблему, коли екрани вмикаються, а екран заблокованого відображається, але комп'ютер не блокується.

введіть тут опис зображення

Відповіді:


1

Я можу запропонувати це вирішити


Незважаючи на налаштування в графічному інтерфейсі, ви можете заблокувати екран і відправити екрани в режим очікування за допомогою командного рядка


Щоб заблокувати екран, ви могли використовувати

gnome-screensaver-command -l

або (якщо не використовувати gnome3)

xdg-screensaver lock

і вимкнути монітори (у режимі очікування), які ви могли використовувати

xset dpms force off

Тепер, оскільки ви не хочете робити це вручну, але через пару хвилин простою, ми повинні з'ясувати, як довго ви простоюєте. Це можна зробити за допомогоюxprintidle

sudo apt-get install xprintidle

xprintidle поверне мілісекунд (xserver) простою

Тепер давайте об’єднаємо це у сценарій (*). Використовуйте свій улюблений редактор, щоб скопіювати / вставити наступне, змінивши IDLE_TIMEна свій смак

nano /home/yourusername/idle_stby_lock_screen.sh
#!/bin/sh

# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((5*60*1000))  # replace the '5' with how many minutes you'd like


# Sequence to execute when timeout triggers.
trigger_cmd() {
    echo "Triggered action $(date)"
}

sleep_time=$IDLE_TIME
triggered=false

while sleep $(((sleep_time+999)/1000)); do
    idle=$(xprintidle)
    if [ $idle -ge $IDLE_TIME ]; then
        if ! $triggered; then
            gnome-screensaver-command -l
            export DISPLAY=:0; xset dpms force off
            triggered=true
            sleep_time=$IDLE_TIME
        fi
    else
        triggered=false
        # Give 150 ms buffer to avoid frantic loops shortly before triggers.
        sleep_time=$((IDLE_TIME-idle+150))
    fi
done

Потім зробіть його виконуваним за допомогою

chmod +x /home/yourusername/idle_stby_lock_screen.sh

Ви можете перевірити його в командному рядку

/home/yourusername/idle_stby_lock_screen.sh

якщо ви вмістуєтесь з ним, ви можете додати його до запуску вашого Ubuntu, як описано в цих відповідях тут, або за допомогою програми "Запуск" в Ubuntu - просто переконайтеся, що ви використовуєте абсолютний шлях до свого сценарію.


Хоча це рішення спрацювало, я не впевнений, наскільки він життєздатний, коли блокування екрана / заставка має бути вбудованою функцією Ubuntu.
Jo W

@JoeW, як я вже сказав: вирішення проблеми
Роберт Рідл

Також я використовую це для того, щоб мої екрани залишалися в режимі очікування, адже іноді вони прокидаються з будь-якої причини ...
Роберт Рідл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.