MyTetra Share
Делитесь знаниями!
XRandR: настройка режимов работы с дисплеями (мониторами) в GNU/Linux
Время создания: 22.06.2019 09:28
Раздел: INFO - System - Linux
Запись: wwwlir/Tetra/master/base/1561166915evmowtlpu2/text.html на raw.githubusercontent.com

Дата добавления: 31 марта 2012

XRandR — расширение X сервера, позволяющее производить настройки режимов работы мониторов. Например, можно изменить разрешение, вывести изображение на внешний монитор, повернуть изображение и тому подобное. Утилита часто полезна для настройки корректного разрешения при подключении к внешнему монитору или телевизору.



Вывод доступных мониторов и режимов
Введя в терминале

xrandr, мы увидим список интерфейсов по которым могут быть подключены мониторы и доступные режимы работы монитора (разрешение и частота смена кадров в герцах).
Пример вывода:

Screen 0: minimum 320 x 200, current 1024 x 600, maximum 4096 x 4096
LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 223mm x 125mm
1024x600 60.0*+
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)


Возможные названия интерфейсов:

  • LVDS1 — экран ноутбука;

  • VGA1 — экран, подключаемый через VGA;

  • DVI1 — экран, подключаемый через DVI;



Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA, который и хотим настроить через XRandR).

Изменение разрешения
Лучше всего рассмотреть пример:

xrandr --output LVDS1 --mode 800x600
Опция --output предназначена для указания на нужный интерфейс, а --mode собственно на выбираемый режим работы. Обратите внимание, что выбираемый режим должен быть указан в выводе команды

xrandr (смотреть предыдущий раздел статьи).
Если нужный вам режим не прописан, то необходимо добавить его вручную. Это позволяет настроить монитор на правильное разрешение, при ситуации, когда в списке оно отсутствует (например, если при подключении 1080p монитора в программах настройки экрана доступно лишь намного меньшее разрешение). Данная проблема связана с тем, что некоторые мониторы и множество телевизоров почему-то не считают нужным передавать информацию о своём разрешении при подключении через VGA.
Создание нового режима
Если режим уже существует (смотреть первую часть статьи), но не связан с нужным интерфейсом, то можно добавить режим таким образом:

xrandr --addmode VGA1 1024x600 — добавляем режим с разрешением 1024x600 и 60 Гц частотой для монитора, подключённого по VGA1.
Если режима ещё не существует, то сначала вызываем утилиту CVT (Coordinated Video Timing) с необходимым разрешением и частотой кадров в качестве параметров (в качестве примера добавим режим 1600x900 при 60Гц):

cvt 1600 900 60
Вывод утилиты cvt с нашими параметрами таков:

# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync


Далее мы скопируем всё, что после Modeline при вызове xrandr с ключём создания нового режима:

xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
Теперь осталось "привязать" созданный режим к нужному интерфейсу (в нашем примере к VGA1):

xrandr --addmode VGA1 1600x900_60.00
Наконец, мы можем выбрать нужное нам разрешение для монитора:

xrandr --output VGA1 --mode 1600x900_60.00

Режимы работы с несколькими мониторами
Отключение дисплея
Отключить не нужный в данный момент дисплей можно с помощью опции --off:

xrandr --output LVDS1 --off — отключаем монитор ноутбука.
Расположение мониторов относительно друг-друга

xrandr --output VGA1 --right-of LVDS1 — монитор, подключённый по VGA1 будет располагаться "справа" от монитора ноутбука (переходить на внешний монитор необходимо будет через правый угол монитора ноутбука).
Аналогично используется опция --left-of

xrandr --output LVDS1 --primary — монитор ноутбука становится основным.
Чтобы сделать виртуальный экран большего разрешения, чем физический (в таком режиме, чтобы увидеть всё изображение необходимо будет передвигать курсор за границы) применяем команду:

xrandr --output LVDS1 --mode 1024x600 --fb 1280x720 --panning 1280x720
После этого у вас будет виртуальное разрешение 1280x720 при 1024x600 физическом.

Поворот
Используйте следующие опции применительно к нужному интерфейсу:

  • --rotate normal

  • --rotate left

  • --rotate right

  • --rotate inverted (поворот на 180°)




Сохранение настроек
Для активации необходимых настроек при старте, создайте файл ~/.xprofile (~/ указывает на расположение в домашней директории) и внесите в него необходимые строки команд xrandr.

Статья частично основана по материалам англоязычной документации.

 
MyTetra Share v.0.59
Яндекс индекс цитирования