Отключить второй монитор в linux

Обновлено: 02.07.2024

Так, что всё это значит? А значит это вот что:

И сейчас лёгким и непринуждённым движением мы быстренько поставим на проекторе то разрешение, которое нам нужно.

Режим Clone mode
Это значит, что на внешнем мониторе \ проекторе будет отображено ТО ЖЕ САМОЕ, что и на экране ноутбука.

Чтобы сделать Clone mode на новый монитор делаем так:

Это всё позволит отдублировать изображение с экрана ноутбука на внешний монитор или проектор. А как быть, если нужно показывать два разных изображения?

Здесь указывается разрешение общего виртуального экрана в формате ШИРИНАхВЫСОТА (в данном случае 2048 на 1024). Именно такой вычтя из этого физическое разрешение вашего монитора, вы получите максимальное разрешение внешнего монитора ноутбука, которое можно установить с помощью xrandr.

Режим Dual Monitor mode
При таком режиме вывод на проектор будет отличаться от вывода на монитор ноутбука: то есть вы сможете перетаскивать окна на внешний монитор, а на ноутбучном мониторе их не будет. Это очень удобно, когда вам нужно показать вывод, скажем, латеховского документа и не пугать благородных донов видом латеховского кода.

Сделать это можно с помощью правки xorg.conf, как уже говорилось, или с помощью xrandr.

Чтобы сделать DualHead на внешний монитор с разрешением 1024х768 пишем

Ведущей будет панель ноутбука.

Горшочек не вари
Чтобы отключить всю эту светомузыку с внешним монитором, нужно дать команду:

после чего всё вернётся на место, внешний штепсель будет выключен и проектор отключится от вашего ноутбука.

Повернуть экран с помощью Xrandr

xrandr -o left

Чтобы повернуть по часовой стрелке изображение на мониторе пишем:

xrandr -o right

Чтобы вернуть всё на место, достаточно дать команду:

xrandr -o normal

И всё вернётся на свои места.


Графические утилиты для xrandr
Для того, чтобы иметь возможность всё делать через графические утилиты и не утруждать свою память разными командами, есть утилита grandr. Выглядит она не просто, а очень просто:
Собственно, она является простой обёрткой для консольной утилиты xrandr и позволяет управлять подключением внешних мониторов (вращение, размещение и прочее) без необходимости что-то набирать в консоли. Аналогичная оболочка для xrandr в KDE называется krandr.

Xrandr и работа с экраном и мониторами

  • Поворачиваем изображение по часовой стрелке :
  • Поворачиваем изображение против часовой стрелки :
  • Отражаем изображение по вертикали и горизонтали:
  • Для тех, кто интересуется команды можно комбинировать, вот так:

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

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

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

@enzotib Я верю, что он установлен. Что касается его запуска, я не уверен. Как я могу проверить? Не нулевой вывод из dpkg -l | grep xserver-xorg быть установленным. Не нулевой выход из того, pgrep -fl X чтобы быть запущенным. Кстати, если вы работаете, вы должны быть в графическом сеансе.

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

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

Вы, вероятно, затем захотите создать псевдоним для чего-нибудь удобного. vbetool доступен через sudo apt-get install vbetool В моем случае эта команда действительно выключила дисплей, а не xset одну Как ни странно, команда отключает 2 из 3 дисплеев, третий остается на некоторое время белым, пока машина не перезагрузится самостоятельно, если команда была выполнена через ssh. @enzotib, я случайно нажал, чтобы понизить голос, извини. Пожалуйста, отредактируйте немного ответ, чтобы я мог удалить понижающий голос.

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

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

Следующее сработало для меня (также частично вдохновлено ответом @ enzotib ): xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on Будьте осторожны с этим. Я не могу снова включить монитор с помощью тестовой машины после выпуска force off Обновление: снятие и повторное подключение всех кабелей (включая питание) на мониторе исправило ситуацию.

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

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

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

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

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

У меня есть 3 монитора, 1 VGA, 1 DVI и 1 HDMI. Когда я запустил: xrandr --output VGA1 --auto, он включил VGA, но клонировал монитор DVI. @ HarshithJ.V. это хороший ответ! Это лучше, чем xset потому, что xset включается, если вы просто нажимаете на сенсорную панель и т. Д. Кстати, надеюсь, вы помните меня из своей предыдущей компании :-) @Nishant Спасибо за комплименты. Странно, я тебя не помню. Пожалуйста, пингуйте меня в любой другой социальной сети, так как мы не можем общаться в чате, поскольку это противоречит правилам. Если вы получили ошибку crtc, наберите «chvt 7» перед командой xrandr, чтобы она читала «chvt 7 && xrandr -d: 0 --output eDP1 --auto»

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

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

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

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

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

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

Размeры дисплея, экраны и шрифты

xrandr

Поддерживаемые драйверы
  • xserver-xorg-video-intel (начиная с версии 2.0)
  • xserver-xorg-video-nouveau (прочиайте о матрице особенности nouveau)
  • xserver-xorg-video-ati (начиная с версии 6.7.192)

Для начала нужно ввести в командной строке консоли xrandr, чтобы выяснить, поддерживается ли графическая карта. Если поддержки программы не обнаружено, проверьте, пожалуйста, версию xrandr и использующийся графический драйвер.

Чтобы изменить разрешение экрана, введите например:

Два монитора и xrandr

Если Вы используете свободные драйверы, файл xorg.conf является устаревшим. Если Вы находите файлы конфигурации для Xorg в каталоге /etc/X11/xorg.conf.d , так как Вы используете проприетарные драйверы, то их необходимо сохранить, прежде чем сделать следующие следующие шаги.

Файл xorg.conf в том виде, в котором он существует, является модульным. Каждый модуль содержит все установки для устройства, например, монитора или мыши.

С xrandr Вы можете настроить первичный и вторичный экрана без перезапуска X-сервера (горячая замена hotplug). Приложение xrandr заменяет xinerama и mergedFB. Если xrandr 1.2 активирован, старые методы настройки xorg.conf (xinerama и mergedFB) могут не сработать.

Поддерживаемые драйверы
  • xserver-xorg-video-intel (начиная с версии 2.0)
  • xserver-xorg-video-nouveau (прочитайте о матрице особенности nouveau)
  • xserver-xorg-video-ati (начиная с версии 6.7.192)

Подготовка для использования xrandr на компьютере с двойными экранами

Заметка: Если Вы постоянно используете два монитора на компьютере, лучше введите постоянные параметры в xorg.conf .

A на лэптопах нужна динамическая настройка мониторов, и её придётся перенастраивать раз за разом, пока Вы не сохраните настройки xrandr в файле

Познакомимся с xrandr поближе

Сначала просто введите xrandr в консоли, чтобы увидеть обстановку:

Итак, мы видим только vga (читайте Добавление A для разъяснения имён). Мы видим разрешения, поддерживаемые этим монитором и (что важно для двух мониторов максимальный размер стола (в примере 2048x768).

Теперь подключите внешний монитор и опять наберите xrandr:

Теперь добавился DVI монитор, и он поддерживает разрешения от 720x400 до 1024x768 на определённой частоте.

Сценарии настройки
  • <output> это имя выхода (смотрите Добавление A)
  • <rate> частота развёртки (не обязательно)
  • <mode> разрешение экрана (не обязательно)
Изменяем разрешение первого монитора

Так как многие проекторы не поддерживают разрешения 1280x800, а только 1024x768, мы используем это в примере:

Чтобы отключить второй экран и восстановить разрешение на первом, введите:

Рабочий стол на несколько экранов

Так как карты intel GMA <=945GM/GMS не поддерживают 3d при виртуальном экране размером >2048x2048, Вы не сможете использовать столов с высоким разрешением бок о бок, максимум по 1024x768:

Чтобы выключить многоэкранный режим и вернуть разрешение первого экрана:

Второй экран можно располагать снизу и сверху от основного:

В результате получаем экран в 1280x1824 - это уже меньше, чем 2048x2048, но можно ещё и повернуть экран:

Заметка: Это работает только на специальных мониторах с возможностью разворота экрана

Включение или выключение питания любого из мониторов на результат не влияло.
Для настройки совместной работы 2-х мониторов используем связку xrandr + xfce-настройки. Практическое решение - приведено в конце текста.

1. Использование xrandr

Кроме pra02-1409fat-xfce, опыты также проводились над дистрибутивами Runtu-12.04-xfcе и Mint-17-xfcе.
Ситуация с ними оказалась аналогичной, хоть и с некоторыми нюансами, в худшую для них сторону
(в Runtu 12.04 xfcе и Mint-17 xfcе у меня не корректно производилось переключение панели с меньшего монитора на больший).

Результат проведенных экспериментов показал, что в этом вопросе использование одних xfcе-настроек не дает полного решения.
Лучший результат дает использование - xrandr + xfce-настройки.

Для начала набираем в Терминале xrandr и получаем примерно такой текст:

Из этой записи получаем:

монитор, подключенный к VGA-выходу в системе именуется как VGA-0 и имеет основное разрешение 1280×1024 с частотой развертки 60.0 (отмечено +); монитор, подключенный к DVI-выходу в системе именуется как DVI-0, считается главным (primary) и имеет меньшее, чем основное разрешение 1280×1024 с частотой развертки 60.0 (отмечено +); Рабочий стол отображается в режиме дублирования - одинаково на обоих мониторах (отмечено +0+0 - для обоих мониторов). Примечание:
такое наименование типично для видеокарт ATI, а для видеокарт других производителей наименование мониторов в системе будет немного другим.

2. Настройка 2-х и более мониторов с помощью xrandr:

выбор главного монитора (вот это у меня и не работает) - команда: дублирование (клонирование, зеркалирование) Рабочего стола на обоих мониторах (может быть полным или частичным) - команда: растягивание Рабочего стола на 2 монитора и выбор размещения мониторов - команды: В режиме дублирования экранов компьютер старается задать одинаковое разрешение экрана для обоих мониторов. Причем он ориентируется, естественно, на меньший монитор. Для изменения этой ситуации приходится задавать параметры разрешения обоих мониторов принудительно. В режиме растягивания Рабочего стола на два монитора практически (у меня всегда) главным получается левый или верхний монитор. Возможно это зависит от видеодрайверов или видеокарты.

Есть и другие возможности настройки с помощью xrandr, но для решения поставленной задачи - и этих оказалось достаточно.

Те, кто не желает использовать Терминал, могут воспользоваться программой arandr (это GUI -оболочка для xrandr), который позволяет все нижеописанные действия (и еще многие другие) выполнять в графическом режиме - просто передвигая в окне программы маленькие экранчики мышкой. Однако установка arandr в систему - выходит за рамки написания данной статьи. Может быть среди Вас найдутся желающие сделать отдельный подключаемый модуль. Размер arandr - около 0,5 Мб.
Есть еще интересная программа lxrandr, которая уже имеется в системе. Она позволяет очень удобно настраивать разрешение монитора, а также включать и отключать его. Но она не может устанавливать расположение мониторов. И поэтому, для работы с 2-мя мониторами, не очень подходит.

Теперь набираем в Терминале определенные команды и смотрим их выполнение. Оно происходит сразу, без всяких перезагрузок и каких-либо других дополнительных действий.

2.1. Изменение разрешения монитора:

Команда устанавливает на мониторе VGA-0 разрешение экрана 1280×1024. Вы не увидите результата, если на мониторе уже стоит это разрешение.

2.2. Определение монитора главным:

Команда делает монитор DVI-0 - главным. У меня это работает так - монитор может числиться главным, но все ярлычки и панель находятся на другом мониторе, который левый.

2.3. Отключение монитора:

Команда отключает монитор VGA-0 - при этом его экран гаснет и что важнее, система начинает считать его отключенным.

Оставшийся включенным монитор (DVI-0) продолжает работать и автоматически становится главным (он же единственный!). На нем слева отображаются ярлычки и внизу панель.

2.4. Установка двух мониторов по горизонтали (один рядом с другим) с расширенным на оба монитора Рабочим столом:

Команда размещает монитор VGA-0 слева от монитора DVI-0 и расширяет Рабочий стол на оба монитора.
При этом, главным монитором является левый (VGA-0) и на нем слева находятся ярлычки и внизу панель.

Аналогично, только мониторы поменяли местами.
Команда размещает монитор VGA-0 справа от монитора DVI-0 и расширяет Рабочий стол на оба монитора.
При этом, главным монитором является левый (DVI-0) и на нем слева находятся ярлычки и внизу панель.

2.5. Установка двух мониторов по вертикали (один над другим) с расширенным на оба монитора Рабочим столом:

Команда размещает монитор VGA-0 выше монитора DVI-0 и расширяет Рабочий стол на оба монитора.
При этом, главным монитором является верхний (VGA-0) и на нем слева находятся ярлычки и внизу панель.

2.6. Установка двух мониторов по вертикали с дублированием Рабочего стола

(Рабочий стол на одном мониторе дублирует Рабочий стол на другом мониторе):

Команда размещает Рабочий стол на мониторе VGA-0 и дублирует Рабочий стол на мониторе DVI-0.
При этом, на обоих мониторах слева находятся ярлычки и внизу панель. Разрешение мониторов (если оно не указано в команде в явном виде) автоматически ставится одинаковым.

2.7. Получение режима дублирования Рабочих столов, но с разным разрешением мониторов.

Для этого надо использовать другую команду:

При этом, разрешение мониторов становится разным. Рабочие столы дублируются в пределах 1280×1024.
А все, что размещено на мониторе DVI-0 за пределами 1280×1024 - не дублируется (не показывается) на другом мониторе (VGA-0).
Таким образом, монитор VGA-0 дублирует (показывает) лишь часть Рабочего стола монитора DVI-0.

3. xrandr и панель xfce

(А точнее - опять о настройке 2-х мониторов).

Кому-то всего вышеперечисленного уже достаточно для достижения своих целей.
Но мне, как оказалось, мало. Мне все же нужен главный монитор (где панель) - справа.

Из пункта 2.4. по установке 2-х мониторов по горизонтали (один рядом с другим) с расширенным на оба монитора Рабочим столом выполняем команду:

Получаем монитор VGA-0 слева от монитора DVI-0 и расширенный Рабочий стол на оба монитора. При этом, ярлычки и панель находятся на левом мониторе (VGA-0), т.е. он у нас главный.
Использование команды –primary - у меня ситуацию не меняет. А мне нужно управлять компьютером с правого монитора. Значит обязательно надо иметь на нем панель.
Так как стандартные варианты от xrandr - у меня до конца не срабатывают, то ищем обходное решение.
Идем в настройки панели: Диспетчер настроек > Панель > закладка Экран > пункт Вывод
Видим варианты настроек «Вывода»:

И о чудо - панель перемещается с левого монитора на правый! Говорили же мне - учи матчасть!

4. Итоговое практическое решение.

А также сохранение настроек и оперативное управление двумя конфигурациями мониторов.

Теперь надо заставить компьютер запомнить все эти настройки, чтобы при загрузке они ставились автоматически.
Настройки, сделанные командами xrandr - просто так не сохраняются.
В моем случае - надо создать скрипт с нужными командами xrandr и положить его в Автозагрузку (/home/live/Startup/) и сделть его исполняемым (chmod 755)

Однако, на практике я работаю в двух разных вариантах конфигурации мониторов:

вариант 2-й - включены два монитора VGA-0 и DVI-0, причем DVI-0 должен быть справа и иметь панель.

И еще мне нужна возможность оперативного переключения между этими вариантами конфигурации мониторов.
Таким образом задача сводится к получению 3-х режимов работы:

режим 1 - после загрузки - включен один монитор - DVI-0 с разрешением 1920×1200; режим 2 - включение двух мониторов VGA-0 с разрешением 1280×1024 и DVI-0 с разрешением 1920×1200, с расширением Рабочего стола на оба монитора, причем DVI-0 должен быть справа и иметь панель; режим 3 - включение одного монитора - DVI-0 с разрешением 1920×1200;

Решение:

Сначала в Geany пишем два скрипта для xrandr. Первый скрипт:

и сохраняем с именем 2-display-off (файл понадобится дважды).

и сохраняем с именем 2-display-on.

В скрипте, после строки команды, в тексте должна быть пустая строка. Если с написанием скрипта есть какие-то затруднения, то можно скопировать файл какого-нибудь скрипта из системы, переименовать его в 2-display-off или 2-display-on и затем изменить в нем текст так, как написано выше.

Затем делаем pfs-модуль с файлами, которые должны быть размещены следующим образом:

файл 2-display-off - в папке /home/live/Startup/ копия файла 2-display-on и файл 2-display-off - в папке /usr/bin/

Для этого идем в меню Разработка > Упаковка pfs–пакета и штатными средствами делаем pfs-модуль 4-conf5-2display-startup-f11-f12-pra.
Вы, конечно, можете назвать модуль иначе. Затем сделанный pfs-модуль кладем в папку /pra/modules

Файл, размещаемый в папке /home/live/Startup/ понадобится для отключения второго монитора при загрузке - режим 1. Файлы, размещаемые в папке /usr/bin/ понадобятся для управления режимами 2 и 3.

При загрузке системы происходит автозагрузка файла 2-display-off находящегося в папке /Startup/, команда, содержащаяся в нем исполняется и монитор VGA-0 отключается.
Получается - загрузка «по-умолчанию» с одним монитором DVI-0 (причем с разрешением 1920×1200).
Итак, режим 1 - сделан!

Теперь делаем оперативное переключение между режимом 2 и 3, для этого обращаемся к xfce-настройкам.

Сначала идем в: Диспетчер настроек > Клавиатура > вкладка Комбинации клавиш > Добавить .
В окне Команда выбираем в папке /usr/bin/ созданный ранее нами файл 2-display-on, нажимаем ОК и задаем этой команде клавишу F12 .
Повторяем, но теперь в окне Команда выбираем в папке /usr/bin/ созданный ранее файл 2-display-off, нажимаем ОК и задаем этой команде клавишу F11 .
Логика выбора клавиш простая - удобство для запоминания - последняя цифра обозначает количество работающих мониторов.

Далее устанавливаем размещение панели (из пункта 3 мы уже знаем - как это делать).
Для этого идем в настройки панели: Диспетчер настроек > Панель > закладка Экран > пункт Вывод
Видим варианты настроек Вывода :

И завершающий этап - сохранение настроек для работы режимов 2 и 3.
Сохранение xfce-настроек делается через создание pfs-сохраненки штатными средствами, через: Настройки > Создание файла сохраненной сесии (pfs–сохраненки)
Наконец режимы 2 и 3 - сделаны!

Перегружаемся и проверяем - что получилось:

режим 1 - после загрузки - включен один монитор - DVI-0 с разрешением 1920×1200; режим 2 - клавиша F12 - включает два монитора - VGA-0 с разрешением 1280×1024 и DVI-0 с разрешением 1920×1200, расширяет Рабочий стол на оба монитора, причем (как я и хотел) DVI-0 справа и имеет панель; режим 3 - клавиша F11 - включает один монитор - DVI-0 с разрешением 1920×1200.

Все РАБОТАЕТ!

Заключение

Ну вот, с настройкой двух мониторов для себя - разобрался.
Варианты модуля для настройки другого расположения 2-х мониторов - делаются аналогично.

Читайте также: