ДАННАЯ СТАТЬЯ - ЛИШЬ ОЗНАКОМИТЕЛЬНЫЙ МАТЕРИАЛ, СОЗДАННЫЙ С ОБРАЗОВАТЕЛЬНЫМИ И ПРЕДУПРЕДИТЕЛЬНЫМИ ЦЕЛЯМИ.
НИ АВТОР САЙТА, НИ СОЗДАТЕЛЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НЕ ПОБУЖДАЮТ ПОВТОРЯТЬ УВИДЕННОЕ.
ВСЕ ДЕЙСТВУЮЩИЕ ЛИЦА И ИСТОРИИ ЯВЛЯЮТСЯ ВЫМЫШЛЕННЫМИ, А СХОДСТВО С РЕАЛЬНЫМИ ЛИЦАМИ И СОБЫТИЯМИ МОЖЕТ ОКАЗАТЬСЯ ЛИШЬ СЛУЧАЙНЫМ И НЕНАМЕРЕННЫМ.
XRandR — расширение для X.Org Server, помогающее производить настройку работы мониторов через терминал. Через него можно вывести изображение на внешний монитор, изменить разрешение, повернуть в разные стороны изображение и т.д.. XRandR часто полезен для точной настройки корректного вывода изображения при подключении к монитору или телевизору.
Просмотр доступных мониторов и режимов работы:
xrandr
После ввода команды выведутся список интерфейсов по которым могут быть подключены мониторы и доступные режимы работы монитора (разрешение и частота смена кадров в герцах).
Пример вывода:
Screen 0: minimum 320 x 200, current 5760 x 1080, maximum 16384 x 16384
DisplayPort-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+ 50.00 59.94
1920x1080i 60.00 50.00 59.94
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
HDMI-0 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 640mm x 360mm
1920x1080 60.00*+ 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1920x1080i 60.00 50.00 59.94
1280x1024 60.02
1360x768 59.80
1280x720 60.00 50.00 59.94
1024x768 60.00
800x600 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 60.00 59.94
DVI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x720 60.00
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 59.94
720x400 70.08
Возможные названия интерфейсов:
- LVDS-0 — экран ноутбука;
- VGA-0 — экран, подключаемый через VGA;
- DisplayPort-0 — экран, подключаемый через Display Port (DP);
- DVI-0 — экран, подключаемый через DVI;
- HDMI-0 — экран, подключаемый через HDMI;
Названия интерфейсов в зависимости от используемой видеокарты могут отличаться. Для работы с выбранным интерфейсом, необходимо запомнить его название.
Изменение разрешения
Лучше всего рассмотреть на примере:
xrandr --output HDMI-0 --mode 1280x1024
Флаг --output предназначен для выбора нужного интерфейса, а в --mode выставляем необходимое разрешение экрана. Обратите внимание, что выбираемые дисплей и разрешение должены быть указаны в выводе команды:
xrandr
Если необходимого разрешения экрана нет, то можно добавить его вручную. Это позволяет настроить монитор на необходимое разрешение, когда оно отсутствует в списке (например, если при подключении FullHD монитора в выборе настройки экрана доступно лишь намного меньшее разрешение). Эта проблема связана с тем, что некоторые контроллеры дисплеев не считают нужным передавать информацию о своём разрешении при подключении, в особенности через VGA.
Создание нового режима работы
Если режим работы монитора уже существует, но не связан с нужным интерфейсом, то можно добавить режим таким образом:
xrandr --addmode DVI-0 1920x1080
— добавляем режим работы с разрешением 1920x1080 и 60Гц частотой для монитора, подключённого по DVI-0.
Если режима ещё не существует, то сначала вызываем утилиту CVT (Coordinated Video Timing) с необходимым разрешением и частотой кадров в качестве параметров (для примера добавим режим 1680x1050 при 60Гц):
cvt 1680 1050 60
Ответ CVT в консоли с выбранными параметрами примерно такой:
# 1680x1050 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1680x1050_60.00" 118.25 1680 1696 1856 2112 1050 1053 1058 1084 -hsync +vsync
Копируем всё, что после Modeline и подставляем в конец строки при вызове xrandr с флагом --newmode для создания нового режима:
xrandr --newmode "1680x1050_60.00" 118.25 1680 1696 1856 2112 1050 1053 1058 1084 -hsync +vsync
И привязываем только что созданный режим к нужному интерфейсу (в нашем примере к DVI-0):
xrandr --addmode DVI-0 1680x1050_60.00
Теперь доступно для выбора необходимое разрешение для монитора:
xrandr --output VGA1 --mode 1680x1050_60.00
Отключение дисплея
Отключение определенного дисплея производится с помощью флага --off:
xrandr --output DVI-0 --off
Остальные включенные мониторы (HDMI-0 и DisplayPort-0) продолжают работать и HDMI-0 автоматически становится главным. На нем слева отображаются ярлычки и внизу панель.
Расположение мониторов относительно друг-друга
xrandr --output HDMI-0 --right-of DisplayPort-0
Монитор, подключённый по HDMI-0 будет располагаться "справа" от монитора подключенного через DisplayPort-0.
Аналогично используется опция --left-of
Так же, можно устанавливать мониторы по вертикали ключами --above и --below
xrandr --output HDMI-0 --above DisplayPort-0
Главным монитором является верхний (HDMI-0) и на нем слева находятся ярлыки и внизу панель Управления.
Определение монитора главным
xrandr --output HDMI-0 --primary
Ключ --primary делает монитор HDMI-0 - главным. Монитор может считаться главным, но все ярлыки и панель управления находятся на другом мониторе.
Увеличение разрешения экрана
Чтобы сделать виртуальный экран большего разрешения, чем физический (в таком режиме, чтобы увидеть всё изображение необходимо будет передвигать курсор за границы) применяем команду:
xrandr --output DVI-0 --mode 1680x1050 --fb 1920x1080 --panning 1920x1080
После выполнения команды у монитора DVI-0 станет виртуальное разрешение 1920x1080 при 1680x1050 физическом.
Поворот экрана
Для поворота экрана необходимо использовать нужные ключи к определенному интерфейсу:
--rotate normal
--rotate left
--rotate right
--rotate inverted (поворот на 180°)
Сохранение настроек по умолчанию
Для использования необходимых настроек при старте Linux, создайте файл .xprofile в домашней директории и внесите в него необходимые строки команд xrandr.