.png)
Я хотел бы узнать, есть ли способ отключить экран в дистрибутиве Linux, который я использую Debian. Я нашел несколько способов сделать это с установленным X, но не без X.
решение1
Вы можете выключить экран на вашем ноутбуке с помощьюxsetкоманда:
xset dpms force off
DPMS — Display Power Management Signaling, стандарт для снижения энергопотребления мониторов.xsetконечно, это утилита X. Если вам нужно сделать это без участия X, используйтеsetterm:
setterm -powerdown 1
Полный список опций для управления экраном:
xset -dpms # Disable DPMS
xset +dpms # Enable DPMS
xset s off # Disable screen blanking
xset s 150 # Blank the screen after 150 seconds
xset dpms 300 600 900 # Set standby, suspend, & off times (in seconds)
xset dpms force standby # Immediately go into standby mode
xset dpms force suspend # Immediately go into suspend mode
xset dpms force off # Immediately turn off the monitor
xset -q # Query current settings
setterm -blank 10 # Blank the screen in 10 minutes
setterm -powersave on # Put the monitor into VESA power saving mode
setterm -powerdown 20 # Set the VESA powerdown to 20 minutes
Все это должным образом объяснено вМини-HOWTO по Linux на батарейках.
решение2
Проверитьvbetool. Вы можете выключить экран с помощью:
vbetool dpms off
Единственная проблема, с которой я сталкиваюсь, заключается в том, что экран не включается автоматически, например, при вводе с клавиатуры. Вам придется делать это вручную, вслепую набирая текст или через SSH:
vbetool dpms on
В Debian Squeeze vbetool используется в /etc/acpi/lid.sh, когда X недоступен.
решение3
Я не уверен, какой пакет его предоставляет, но некоторые пакеты, связанные с ACPI, включают скрипты для гашения экрана в зависимости от того, открыта ли крышка ноутбука. Хотя теперь, когда я смотрю на сам скрипт ( /etc/acpi/lid.sh
), кажется, что он работает только на X. Однако суть в том, что он предоставляет фреймворк для запуска действий при событиях открытия/закрытия крышки. Вы можете изменить скрипт для использования setterm, и он может делать то, что вам нужно.
решение4
В ответ на ваш вопрос,
setterm -blank 0
следует сделать это. Обратите внимание, что это необходимо сделать для каждого терминала входа.