Вимкніть монітор за допомогою командного рядка


59

Я запускаю сервер Ubuntu на своєму ноутбуці. Дійсно немає причин увімкнення екрана. Я намагаюся використовувати цю команду, щоб вимкнути екран:

sleep 1 && xset dpms force off

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

unable to open display "".

Будь-яка ідея, що відбувається / що не так? Будь-які інші пропозиції, як це зробити?


У вас встановлений X-сервер? І це працює?
enzotib

@enzotib Я вважаю, що він встановлений. Щодо роботи, я не впевнений. Як я можу перевірити?
AngryBird

1
Спробуйте запустити це першим:export DISPLAY=:0.0
RobinJ

Ненульовий вихід, dpkg -l | grep xserver-xorgякий потрібно встановити. Ненульовий вихід із pgrep -fl Xзапущеного. До речі, при запуску ви повинні бути в графічному сеансі.
enzotib

1
@ WarriorIng64: це ноутбук
enzotib

Відповіді:


59

Щоб вимкнути монітор у консолі, команда така:

sudo vbetool dpms off

Щоб відновити контроль над консоллю, натиснувши клавішу Enter , пропоную

sudo sh -c 'vbetool dpms off; read ans; vbetool dpms on'

2
Ви, мабуть, тоді хочете отримати цей псевдонім на щось зручне.
Danny Staple

1
vbetool доступний черезsudo apt-get install vbetool
Девід Кларк

1
У моєму випадку ця команда дійсно перевернув дисплей вимкнений , а не xsetодин
golimar

Як не дивно, команда вимикає 2 з 3 дисплеїв, третій залишається білим на деякий час, перш ніж машина перезавантажиться самостійно, якщо команда виконувалася над ssh.
данба

@enzotib, я випадково натиснув, щоб подзвонити, вибач. Будь ласка, відредагуйте трохи відповідь на те, що я можу видалити голосування.
andras.tim

32

Спробуйте ці команди ...

Вимикати:

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 

Як я знаю, на якому екрані
Карл Моррісон

1
Для мене працювало наступне (також частково натхнене відповіддю @ enzotib ):xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on
stiemannkj1

Будьте обережні з цим. Я не можу повернути монітор із тестовою машиною після випускуforce off
Zmart

2
Оновлення: Витягнення та підключення всіх кабелів (включаючи живлення) на моніторі виправили ситуацію.
Змарт

27

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

У мене є 3 монітора, 1 VGA, 1 DVI та 1 HDMI. Коли я побіг: xrandr - вихід VGA1 --auto, він увімкнув VGA, але він клонував монітор DVI.
ThiagoPonte

Хм дивно. Спробуйте - замість
--auto

@ HarshithJ.V. це гарна відповідь! Це краще, ніж xsetтому, що xset включається, якщо просто натиснути на тачпад тощо. До речі, сподіваюся, що ви пам'ятаєте мене з попередньої компанії :-)
Nishant

@Nishant Дякую за компліменти. Як не дивно, я тебе не пам'ятаю. Будь ласка, підкажіть мене в будь-яких інших соціальних мережах, оскільки ми не можемо спілкуватися, як це проти правил.
Харшит СП

Якщо у вас виникла помилка crtc, введіть "chvt 7" перед командою xrandr, щоб вона прочитала "chvt 7 && xrandr -d: 0 - вихід eDP1 --auto"
haytham-med haytham

11

Я щойно встановив 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і голосуйте , кожен раз при завантаженні екрана автоматично відключатиметься кожні 60 сек. (знову ж, якщо простоює).

І цей спосіб (додавання консолі до GRUB) працює навіть із віддалених терміналів (ssh).

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


1
Виконуючи вищезгадану команду, я отримую: "setterm: terminal xterm-256color не підтримує --blank". Що може бути не так?
zx485

1
Ви намагаєтесь із віддаленого сеансу?
Хлопчик Графіті

@ zx485 Ознайомтесь із оновленою відповіддю, тепер ви можете змусити екран вимкнутись із віддаленого сеансу. Я впевнений, що це вирішить вашу проблему
Хлопчик Графіті

6

Якщо у вас є кілька моніторів, використовуйте це:

Вимкнення другого монітора:
(якщо припустити, що CRT-0 - ваш лівий монітор, а CRT-1 - ваш правий монітор)
xrandr --output CRT-1 --off
Увімкнення другого монітора:
xrandr --output CRT-1 --right-of CRT-0 --auto
таким чином xrandr знає, що не дублювати перший екран.


Я тестував це, вимкнення екрана таким чином більше нагадує його відключення, наприклад, екран все ще включений. Його просто не використовують. Екран --offd не може бути ввімкнено за допомогою кнопки живлення екрана (оскільки його все ще увімкнено / ніколи не було вимкнено). Він також змішувався з моїми налаштуваннями дисплея робочого столу (від розширеного робочого столу до дзеркальних дисплеїв). Якщо це було зроблено для вимкнення обох дисплеїв, я не впевнений, що було б легко повернути їх без входу в TTY та очищення файлу monitors.xml де б він не був. Чим більше ви знаєте.
ThorSummoner

0

У мене була така ж проблема. Що я виявив - це те, що на моєму ноутбуці (старому Acer Aspire) підтримується кнопка за замовчуванням у грі. Це може бути щось на кшталт fn+F6.

Це рішення, ймовірно, не спрацювало в той час. Я сподіваюся, що це допоможе тому, хто стикається з цією проблемою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.