Отключить монитор с помощью командной строки

Я запускаю Ubuntu Server на своем ноутбуке. Там действительно нет причин для включения экрана. Я пытался использовать эту команду для отключения экрана:

sleep 1 && xset dpms force off

Проблема в том, что я получаю следующую ошибку

unable to open display "".

Любая идея, что происходит / что не так ? Любые другие предложения о том, как это сделать?

94
задан 25 September 2011 в 00:53

8 ответов

Чтобы выключить монитор в консоли, команда выглядит следующим образом:

sudo vbetool dpms off

Чтобы вернуть контроль над консолью при нажатии клавиши Enter, я предлагаю

sudo sh -c 'vbetool dpms off; read ans; vbetool dpms on'
72
ответ дан 25 September 2011 в 00:53

Команда xset , упомянутая в других ответах, отключит все мониторы, если у вас настроено несколько мониторов. Однако, если вы хотите отключить только один или несколько мониторов, вам следует использовать xrandr .

Сначала запустите команду xrandr -q , которая выведет список всех мониторов и их текущий дисплей. настройки. В начале каждой информации о мониторе вы найдете имя монитора, установленное системой. Вы должны это отслеживать.

У меня есть два монитора (один подключен к порту DVI, а другой - к порту VGA), и когда я запускаю команду, я вижу следующее:

Screen 0: minimum 320 x 200, current 1360 x 768, maximum 2726 x 2726
DFP1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
   1360x768       59.7*+
   ... (more details are shown here, but I have hidden it)

CRT1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 410mm x 230mm
   1360x768       59.8*+   60.0  
   ... (more details are shown here, but I have hidden it)

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

xrandr --output CRT1 --off

, если вы хотите снова включить этот монитор, вы выполнили эту команду:

xrandr --output CRT1 --auto
37
ответ дан 25 September 2011 в 00:53

Если у вас несколько мониторов, используйте это:

Выключение второго монитора:
(Предполагая, что CRT-0 - ваш левый монитор, а CRT-1 - ваш правый монитор)
xrandr --output CRT-1 --off
Включение второго монитора:
xrandr --output CRT-1 --right-of CRT-0 --auto
Таким образом, xrandr знает, что не нужно дублировать первый экран.

6
ответ дан 25 September 2011 в 00:53

Я только что установил Ubuntu Server 18.04.1 (без графического интерфейса, X и ничего графического), и, сломав спину прошлой ночью, пытаясь выключить экран, я наконец нашел волшебную команду :

setterm --blank 1

После выполнения команды экран будет автоматически отключаться каждую минуту (в режиме ожидания).


И даже лучше, если вы хотите, чтобы команда выполнялась автоматически при загрузке, вы можете добавить ее в GRUB командная строка , для этого мы должны отредактировать следующий файл:

sudo nano /etc/default/grub

Оказавшись там, просто добавьте consoleblank = 60 в GRUB_CMDLINE_DEFAULT , он должен выглядеть так:

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=60"

Затем закройте файл и сохраните его, после чего просто запустите sudo update-grub и voila , каждый раз при загрузке экран будет автоматически отключаться каждые 60 секунд. (опять же, в режиме ожидания).

И этот способ (добавление консоли в GRUB) работает даже с удаленных терминалов (ssh).

Наслаждайтесь! (снова)

22
ответ дан 25 September 2011 в 00:53

Попробуйте эти команды ...

Чтобы выключить:

xset -display :0.0 dpms force off 

Чтобы включить:

xset -display :0.0 dpms force on 

Если ваш дисплей выключился а затем сразу же снова включите, а затем попробуйте следующее, которое добавляет задержку в 1 секунду перед выключением экрана. Это дает возможность обработать все события X-сервером перед выключением дисплея.

sleep 1 && xset -display :0.0 dpms force off 
42
ответ дан 25 September 2011 в 00:53

У меня была такая же проблема. Я обнаружил, что на моем ноутбуке (старый Acer Aspire) по умолчанию поддерживается кнопка переключения экрана. Это может быть что-то вроде fn + F6 .

Возможно, раньше это решение не работало. Надеюсь, это поможет любому, кто столкнется с этой проблемой.

0
ответ дан 22 November 2019 в 23:38

Ответ @ stiemannkj1 (вдохновленный ответом @enzotib) похоронен в комментариях к ответу @ harshith-jv (работает на моем ноутбуке, подключенном к монитор):

xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on

Может быть, разработчик мода или сайта найдет способ вывести хорошие комментарии в отдельный ответ, чтобы можно было правильно установить атрибуцию и оценку репутации

2
ответ дан 5 January 2021 в 23:51

Пустой экран через 1 минуту и ​​выключите его через 2 минуты. Любое нажатие клавиши снова включит его. Сделайте его автоматическим запуском после перезагрузки.

Волшебная команда, которая сделает всю работу:

setterm --blank 1 --powerdown 2

Если вы получите ошибку: setterm: terminal xterm-256color не поддерживает --blank

  • Вы, вероятно, пробуете эту команду пользователя SSH. Вы должны запустить его локально на своем компьютере или выполнить следующий этап этого руководства.

Сделать автоматический запуск

Вставить команду в исполняемый файл. Сохраните его, например, в скрытой папке вашего домашнего каталога /home/USER/.boot-scripts/screen-off.sh

#!/bin/bash
setterm --blank 1 --powerdown 2

и сделайте файл сценария исполняемым с помощью systemctl. Создайте файл /etc/systemd/system/screen-off.service

[Unit]
Description=Blank screen after 1 min and turn it off after 2 min. Any keypress will turn it back on.
After=ssh.service

[Service]
Type=oneshot
Environment=TERM=linux
StandardOutput=tty
TTYPath=/dev/console
ExecStart=/home/USER/.boot-scripts/screen-off.sh

[Install]
WantedBy=local.target

Сделайте его исполняемым:

    sudo chmod +x /home/USER/.boot-scripts/screen-off.sh
    sudo chmod +x /etc/systemd/system/screen-off.service

И, наконец, запустите его и включите при загрузке:

sudo systemctl start screen-off.service
sudo systemctl enable screen-off.service

Чтобы отключить:

sudo systemctl disable screen-off.service
2
ответ дан 5 January 2021 в 23:51

Другие вопросы по тегам:

Похожие вопросы: