Как навсегда отключить монитор энергосбережения с помощью командной строки?

14

Я пытался следующим образом:

1. Turn off: export DISPLAY=:0.0 && xset dpms force off 
2. Turn on: export DISPLAY=:0.0 && xset -dpms

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

Как я могу теперь удаленно с помощью SSH отключить его навсегда?

ВАЖНЫЙ:

- KIOSK (ATM machine will use this option)
- 24/7 advertising display/slides will use this

Дополнительное примечание: это руководство я следовал http://v2kblog.blogspot.com/2008/08/disabling-monitor-power-saver.html , но постоянное решение не сработало.


источник
не уверен насчет решения для командной строки - но вы должны быть в состоянии отключить энергосбережение, добавив опцию dpms в раздел монитора вашего xorg.conf
fossfreedom
ОК - стоит добавить этот материал в ваш вопрос. Я полагаю, вы пробовали "трюк с монитором xorg, и он не сработал"? - также добавьте это в свой вопрос.
fossfreedom
Это хорошо работает для меня: crontab -e; * / 1 * * * * export DISPLAY =: 0.0 && xset s 20; xset -dpms

Ответы:

9
#! / Bin / Баш
экспорт DISPLAY =: 0.0

if [$ # -eq 0]; тогда
  использование эха: $ (basename $ 0) "on | off | status"
  выход 1
фи

if [$ 1 = "off"]; тогда
  echo -en "Выключить монитор ..."
  Xset dpms выключить
  echo -en "готово. \ nПроверить:"
  xset -q | grep "Монитор есть"
elif [$ 1 = "on"]; тогда
  echo -en "Включение монитора ..."
  Xset DCM Force на
  echo -en "готово. \ nПроверить:"
  xset -q | grep "Монитор есть"
elif [$ 1 = "статус"]; тогда
  xset -q | sed -ne 's / ^ [] * Монитор равен // p'
еще
  использование эха: $ (basename $ 0) "on | off | status"
фи

Сохраните этот скрипт как-то так /usr/bin, дайте ему имя (вроде switch_dpms) и сделайте его исполняемым с помощью chmod 664 /usr/bin/switch_dpm.

Теперь все, что вам нужно сделать, это добавить его в работу cron. Итак, откройте файл crontab с помощью:

crontab -e

и добавьте это внизу:

@reboot /usr/bin/switch_dpms off

Каждая перезагрузка она превратится dpmsв , offи вы также можете отключить его onот командной строки, выполнив /usr/bin/switch_dpms onили проверить свой статус с /usr/bin/switch_dpms status.

Исходник для скрипта

Rinzwind
источник
Все еще не включен режим 24/7? Это КИОСК, как вы идете в «Банкомат банкоматы, чтобы взять деньги». И это становится всегда ЧЕРНЫМ экраном. Люди хотят нажать кнопку, но не могут. Никто не хочет физически ездить на каждом банкомате, чтобы включать его каждое утро.
Если это должен быть crontab -e? Тогда я также могу просто делать «xset dpms force on» каждые 0 0 0 0 0, но я нахожу это совершенно безумным. Потому что это где-то в операционной системе, кто будет полностью деактивировать это.
Я серьезно не понимаю, почему вы делаете это так сложно !? Где в вашем вопросе вы сказали, что это kiosk? Я бы предложил добавить эту информацию в ваш вопрос, потому что мой ответ может измениться в зависимости от этого. Сценарий, который я разместил, работает, прост в использовании и понимании. И нет, это не должно быть crontab. То есть просто установить экран offпри перезагрузке. Но вы можете сделать это в любом месте цепочки от загрузки до рабочего стола / командной строки при загрузке. Почему это «сумасшедший»? Я думаю, что это нормально добавить что-то вроде этого cron.
Rinzwind
Большое спасибо за ваш вклад (только что обновил мой KIOSK в вопросе). Но о crontab -ei мы думали в самом начале, но не применили его, потому что он включает таймер, используя таймеры, и я не уверен, что 100% KIOSK будет включен или выключен при перезагрузке системы один раз. Я хочу нажать или сказать системе. Пожалуйста, выключите это 100%. Так что никто не должен бегать за 100 банкоматами, чтобы проверить, выключен он или нет. Также у меня есть большие экраны в магазине для рекламы, которая работает круглосуточно. Я не могу доверять моему Linux, если он не на 100% отключает эту опцию. Пожалуйста, порекомендуйте.
1
Присоединяйтесь к нам в чате: chat.stackexchange.com/rooms/201/ask-ubuntu-general-room Может быть, это происходит быстрее, когда вы говорите по-голландски (надеясь, что вы не говорите по-французски;))
Rinzwind
11

Это будет работать Откройте терминал в /etc/xdg/autostartкаталоге. Выполните эту команду:

sudo -H gedit nodpms.desktop

Нажмите Enter, вам нужно будет ввести свой пароль. Gedit откроет, скопирует и вставит следующий код, а затем сохранит.

[Desktop Entry]
Type=Application
Exec=xset -dpms
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=nodpms
Name=nodpms
Comment[en_US]=
Comment=

Выпустите это во все еще открытом терминале:

sudo -H gedit noscreenblank.desktop

Нажмите Enter, вам нужно будет ввести свой пароль. Gedit откроет, скопирует и вставит следующий код, а затем сохранит.

Exec=xset s off
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=noscreenblank
Name=noscreenblank
Comment[en_US]=
Comment=

Закройте терминал. Откройте браузер файлов и перейдите в каталог etc / xdg / autostart. Убедитесь, что файлы nodpms.desktop и noscreenblank.desktop находятся там. Если это так, закройте все и перезагрузите компьютер.

После перезагрузки вы можете запустить xset qкоманду в терминале и увидеть, что dpms и блокировка экрана отключены.

user178231
источник
Благодарю. Это наконец исправило это для меня на Ubuntu 19.10. Мой монитор выключился после 30 секунд бездействия.
xeddo
2

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

В 12.04 гном отправляется в:

Приложения > Системные инструменты > Системные настройки .

Выберите Яркость и Блокировка .

Снимите флажок для тусклого экрана для экономии энергии .

Рядом с параметром Отключить экран, когда он не активен, выберите период времени, в течение которого экран выключается. Я выбрал 1 час. Никогда не один выбор, который доступен.

NeonJohn
источник
2
в Ubuntu 18.04 этот параметр не прекращал затемнения, я должен был использоватьxset -dpms
xealits
0

Предыдущий ответ не сработает. Если вы откроете терминал и введете: xset q, вы увидите, что dpms будет включен. Самый простой способ, который я нашел, чтобы решить эту проблему - это зайти в автозагрузку приложений и создать 2 приложения. Имя, которое вы им даете, не имеет значения, вам нужны две команды: xset s off (это отключает заставку) и xset -dpms (отключает dpms). Я хотел бы, чтобы я новый, какой файл конфигурации, чтобы поместить эти команды, но я этого не делаю.

user178204
источник
Вы можете создать:$ echo -e '#!/bin/bash\nsleep 50\nexport DISPLAY=:0.0\nxset s off\nxset -dpms' > /var/tmp/pp.sh; cat /var/tmp/pp.sh; contab -e /var/tmp/pp.sh