Как отключить экран (DPMS) вместе с блокировкой сеанса в KDE?

25

Прежде всего, я знаю, что аналогичный вопрос для GNOME задается здесь: «Отключить подсветку ноутбука при блокировке экрана» .

Задача

Я хотел бы отключить мой экран при блокировке сеанса из соображений экономии энергии.

Актуальная проблема

Блокировка экрана в Kubuntu (KDE) неизбежно вызывает заставку, насколько я вижу. Там нет опции заставки, кроме «Пустой экран», а его цвет фона установлен на черный, что очень близко подходит к моей цели. Он закрывает экран, но не выключает экран. Подсветка экрана по-прежнему будет включена и не будет экономить электроэнергию.

Текущее решение

Обходной путь с помощью скрипта + сочетания клавиш возможен, однако это всего лишь обходной путь, поскольку он не запускает все способы блокировки сеанса. Поэтому я думаю, что можно было бы сделать это более элегантно, например, предоставив эту опцию в диалоге настройки заставки KDE.

Обходной путь, который я сейчас использую, заключается в следующем. Скрипт, который блокирует экран и выключает экран:

#!/bin/bash

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
xset dpms force standby

и пусть он запускается с помощью сочетания клавиш через пользовательский пункт меню. Оно работает.

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

Мой актуальный вопрос (ы)

Нужно ли трогать / исправлять исходники KDE?

  • Если нет, каковы мои варианты?
  • Если так,
    • кто-то может указать мне, где я могу начать?
    • Как вы думаете, это рекомендуемое место в графическом интерфейсе для конфигурации?

Я использую Kubuntu 12.04 и готов обновиться до KDE 4.9 или жду релиза 12.10.

gertvdijk
источник

Ответы:

20

Нашел способ для KDE 4 (до Ubuntu 14.10). Для KDE 5 см. Другие ответы.

  1. Перейдите в « Настройки системы» → « Приложения и системные уведомления» → « Управление уведомлениями» .

  2. Выберите Заставку в качестве источника события

  3. Найдите и выберите экран заблокирован

  4. добавьте эту команду к событию:

    xset dpms force off
    

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

Он будет отключать все дисплеи каждый раз, когда он заблокирован.

Кто-то где-то
источник
Это просто СЛАДКИЙ и умный. Хитрость заключается в том, чтобы думать о «Заставке» в контексте блокировки экрана.
gertvdijk
Для пользователей Kubuntu 15.04 - при таком подходе возникает ошибка, при которой демон KDE полностью вылетает, забирая с ним весь сеанс ... :-(
gertvdijk
@gertvdijk Хм. Возможно, придется проверить это - я все еще на 14.04, и это работает для меня. Хотя я постепенно расширил это примерно до полдюжины разных вещей, которые происходят, когда я блокирую / разблокирую.
Кто-то где-то
xset dpms force standbyкажется очень надежным и не нуждается в sleep 1 ; xset dpms force offхитрости.
Алан Томпсон
@AlanThompson, sleep 1это просто так, что если вы используете мышь, чтобы нажать кнопку, у вас есть время, чтобы отпустить мышь, и она перестает двигаться, прежде чем дисплей отключится. В противном случае он может мгновенно разбудить дисплей, что может означать, что вам необходимо ввести пароль, прежде чем вы сможете снова заблокировать дисплей. Не уверен, где я рекомендовал использовать sleep 1, хотя.
Кто-то где-то
16

Подтвердил: запустив команду: /bin/sleep 1 ; /usr/bin/xset dpms force off в заблокированном окне работает уведомление для Plasmashell 5.10.

Перейдите в: Настройки системы> Уведомления> Источник события «Заставка»:

Уведомления - Системные настройки

Майкл Ниланд
источник
3

Одним из возможных решений является переход на XScreenSaver . Страница людей на самом деле приходит с инструкцией.

Ниже приводится схема

  1. Отключить KDE заставки

    1. меню K -> Компьютер -> Настройка системы -> Дисплей и монитор -> Заставка
    2. Снимите флажок Запускать автоматически после
  2. Установить XScreenSaver

    sudo apt-get установить xscreensaver

  3. Создайте ~/.kde/Autostart/xscreensaver.desktop

    Добавьте в него следующие строки

    [Desktop Entry]
    Exec=xscreensaver
    Name=XScreenSaver
    Type=Application
    X-KDE-StartupNotify=false
    
  4. Заменить экран блокировки KDE

    cd /usr/lib/kde4/libexec
    sudo mv kscreenlocker kscreenlocker.original
    sudo vim kscreenlocker
    

    Добавьте следующие строки в kscreenlocker

    #!/bin/sh
    xscreensaver-command -lock
    
  5. использование xscreensaver-demo для конфигурирования DPMS (без Судо)

    Настройте DPMS в Advance табл. Минимальное время ожидания 1 мин.

    Тем не менее, вы можете попробовать сделать это меньше путем редактирования ~/.xscreensaverпосле первоначального конфигурирования. Ищите dpmsStandby:в файле.

    Не уверен , что если он будет работать , если dpmsStandby:будет изменен на 0:00:00. Я тестирую с VM и черный экран выглядит одинаково.

Джон Сиу
источник
Вы уверены, что замена kscreenlockerэто хорошая идея? Это больше, чем блокировка экрана, чтение с kscreenlocker --help. Кроме того, это хорошее предложение , чтобы перейти к XScreenSaver!
gertvdijk
Мое плохое, я бы добавил , что переход к Xscreensave будет на самом деле заменить Kde экранной заставки также. Кроме этого нет побочного эффекта. kscreenlocker --helpПоказывает , как он может быть использован / вызов, он работает с экрана KDE заставки. Переход на xscreensaver пока обходной путь.
Джон Сиу
Что касается нового Vesion в KDE вы можете проверить этот пост и этот пост . Люди с KDC 4.9 или 4.10 , кажется, столкнуться с некоторыми очень раздражает вопрос с DPMS и на самом деле хотят , чтобы отключить эту функцию. Так что я бы сказал , не обновить KDE сейчас.
Джон Сиу
3

По KDE 5, большинство решений здесь больше не работают.

Вот что я обнаружил, что работает, хотя (по состоянию на 2016-09-28), создайте текстовый документ и в нем, скопируйте и вставьте следующий код:

#!/bin/sh
sleep 0.5
loginctl lock-session
xset dpms force off

а затем сохранить его как «KDE5lockscreenanddpms.sh» Имя не имеет значения, просто убедитесь, что у вас есть .sh в конце его. Затем перейдите туда, где вы сохранили с вашим менеджером файлов, щелкните правой кнопкой мыши на нем и откройте свойства> разрешения> и сделать его исполняемым.

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

Вот несколько постов с информацией об этих командах.

KDE.org- loginctl замок-сессия

Linux-apps.com - режим сна 0.5 xset dpms

ClementinePorcupine
источник
-1

Kde5 и XScreenSaver (5,34): нажмите на вкладку , а затем активировать галочкой его и установите минуты в свой файл , например (или использовать даже ).complex Advanceenergy managementpower-offquick power-off

dr0i
источник
Хм, я пропускаю что - то может быть ... Как добраться до окна , которое имеет «сложную» вкладку?
gertvdijk
Возможно , вы имели в виду , чтобы комментировать это другой XScreenSaver ответ возможно? askubuntu.com/a/232844/88802
gertvdijk
1
ОП 4 года и версия KDE <4.9. Ваш ответ должен учитывать различия.
WinEunuuchs2Unix
Мой KDE на немецком языке и «комплекс» , кажется, «Advance» на английском языке. Кроме того , это Debian, не убунт. Должен ли я удалить свой ответ?
dr0i
-2

Настройки системы / Personal / Light Locker (в новом меню Whisker)

Брайан Добсон
источник
5
Можете ли вы объяснить , как это работает и что она делает?
Каз Вулф
-3

На Kubuntu 14.04, просто перейдите System Setting - Электропитание Упр. - отключить затемнение экрана и энергосбережение экрана на вкладке энергосбережения.

Ура!

Амар
источник
А что потом? Это не выключает экран (DPMS) при блокировке. Так что это не отвечает на мой вопрос.
gertvdijk