Как остановить экран от гашения / затемнения?


14

Я переустановил Debian 7 (Wheezy) через некоторое время. Впервые я использую бесплатные драйверы Nvidia (не nouveau) и vesafb для виртуальных консолей.

Я не могу, на всю жизнь, остановить экран от гашения. Там нет заставки, ничего, просто гаснет, через пару минут бездействия. Это не только во время VLC (у которого была такая проблема в прошлом), но во время чего-либо.

Что еще хуже, кажется, что это происходит случайно. Иногда экран не гаснет часами, а иногда и так.

Шаги, которые я предпринял до сих пор:

  1. Добавлено несколько строк /etc/X11/xorg.confдля остановки дпм:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. Добавлено в мой .xinitrcфайл:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. Отключены ВСЕ заставки и режимы энергосбережения в настройках KDE.

  4. Добавлен следующий цикл в моем /etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. Я установил патч для моего xdg-screensaver с патчем, который заставлял VLC создавать заставку. (С тех пор я прекратил использовать VLC и вернулся к игроку Dragon.)

Это превращается в кошмар, и это действительно очень раздражает. Перед тем, как я разберусь с vesafb и setterm (которые, как мне кажется, как-то ответственны за это), я хотел бы узнать, сталкивался ли кто-нибудь с этой проблемой и как ей удалось ее решить.


Попробуйте удалить все файлы power * из ~ / .kde / share / config /, а затем включите все функции управления питанием на всех вкладках (применяя их по мере их просмотра), затем снова отключите.
Кирилл-

1
Чтобы сузить проблему, бегите xscreensaver-command -watchкуда-нибудь в xterm. После события нежелательного пустого экрана посмотрите, выводит ли оно событие BLANK. Если это так, то это определенно блокируется действием X-сервера. В противном случае, он ниже в стеке, и вы можете сосредоточиться на видео драйверах.
aecolley

@aecolley спасибо за ваше предложение. Нет выхода в терминал после нежелательного гашения экрана. Я использую проприетарный видеодрайвер nvidia, в инструменте графических настроек не было настроек энергосбережения. Кстати, гашение происходило, когда были открыты только несколько окон браузера и Менделей, а не VLC.
Румцхо

Смотрите мое обновление: unix.stackexchange.com/a/440648/3285
Эван Кэрролл,

Ответы:


6

DPMS может быть чертовски устойчивым!

Попробуйте эту команду:

xset dpms 0 0 0 && xset s noblank  && xset s off

Если это работает, добавьте его в любой файл автозапуска, который использует KDE.

Кстати, VLC имеет опцию Настройки >> Видео >> Отключить заставку . Если этот параметр установлен, экран не будет пустой, пока VLC воспроизводит видео, но впоследствии DPMS будет включен (независимо от того, был ли он включен до запуска VLC). Поэтому оставьте эту опцию не отмеченной, и VLC не должен вызывать проблем с гашением.


Я не уверен, что это решает всю проблему (мой экран гаснет с нерегулярными интервалами, поэтому мне придется оставлять свой компьютер без изменений в течение 2 часов на тест). Но часть о том, как VLC включает DPMS сама по себе, очень интересна, поэтому я решил дать вам награду.
rumtscho

1
Обязательно сообщите нам, если оно окажется постоянным. Я использую Debian с openbox, и это единственный способ, которым мне удалось избавиться от DPMS. Кстати, DPMS активен только тогда, когда никакая другая заставка не установлена, поэтому, если ничего не помогает, вы можете попробовать (пере) установить xscreensaver и настроить его так, чтобы отключить гашение.
MajorBriggs

@MajorBriggs: я также использую Debian с Openbox. Вы рекомендуете добавить эту строку в ~ / .xinitrc прямо перед этим exec openbox-session? Благодарю.
user001

Я только что добавил команду в автозапуск Openbox: ~/.config/openbox/autostart.shи это хорошо работает.
MajorBriggs

Для LXDE я добавляю эти команды в~/.config/lxsession/LXDE/autostart
Моника Для генерального директора

2

Чтобы воспроизвести эту проблему, нам нужно знать, что xdg-screensaverделает.

Получение идентификатора корневого окна

  1. Обновите xdg-screensaverснова.
  2. Откройте терминал
  3. Бегать xwininfo -root
  4. Скопируйте идентификатор окна, в этом случае это 0x131

    xwininfo: Window id: 0x131 (the root window) (has no name)
    

Отключение заставки

Теперь беги

    xdg-screensaver suspend <window id>

Вы можете подтвердить, что работает, запустив xdg-screensaver status

Renable

Для сдачи в аренду

    xdg-screensaver resume <window id>

Вы можете подтвердить, что работает, запустив xdg-screensaver status

Была ли заставка пустой / черной, когда вы suspend(запретили) заставку? Если так, то это ошибка с xdg-screensaver.

Другие заметки

Если вы когда-нибудь захотите выключить DPMS, хотя я бы никогда этого не сделал - если только монитор не смог разбудить что-то странное с хардваром - вы можете просто запустить

xset -dpms;

Это остановит его от отключения питания. Вообще говоря, вы не хотите отключать гашение (очистку экрана) или отключать управление питанием. Вы хотите выяснить, что вызывает его отключение или отключение питания, когда вы этого не хотите, и вы хотите это исправить.


1

Попробуйте запустить этот скрипт, heartbeat.shкоторый будет сбрасывать время простоя X каждые 55 секунд.

#!/bin/bash

while sleep 55
do
    #xscreensaver-command -deactivate
    #xdg-screensaver reset
    xset s reset
done


1

Я отправляю ответ, как я уже несколько удалось решить эту проблему. Я говорю несколько, потому что у меня все еще есть проблемы.

Wheezy, кажется, нуждается в использовании заставки. Я отключил все варианты, которые мог найти, даже пропатченный xscreensaver, но безрезультатно. Вышеупомянутые исправления, которые я пробовал в своем вопросе, иногда вызывают проблемы при входе в систему, иногда они этого не делают!

Однако, кажется, что эта проблема решилась, это две вещи:

  1. Я перестал использовать VLC. Я люблю это, использовал это много лет, но это виновник, который порождает те сеансы xscreensaver. Сейчас я использую dragon-player и могу смотреть видео без запуска xscreensaver.

  2. Я заставил KDE использовать выбранную мной заставку. Похоже, что это иногда отменяет стандартную заставку xscreensaver .

Иногда экран гаснет сам по себе, без отображения выбранной заставки. Это не мои мониторы (я использую двойную настройку, поэтому было бы странно отключать оба устройства). Это выглядит случайным образом, так как иногда экран остается включенным в течение нескольких часов без отключения питания.

Я даже пробовал патчить xscreensaver, но ничего не получалось. Надеюсь, это исправлено в следующем стабильном Debian.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.