Как отключить экран (Linux без X)

Как отключить экран (Linux без X)

Я хотел бы узнать, есть ли способ отключить экран в дистрибутиве 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

следует сделать это. Обратите внимание, что это необходимо сделать для каждого терминала входа.

Связанный контент