XRandR: настройка режимов работы с дисплеями (мониторами) в GNU/Linux


Дата: 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 (поворот на Пи радиан)



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

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

Комментарии:
Автор: Боливия,   дата: 23 августа 2016   12:58:40
Спасибо!
Мне помогло!
Разрешение добавилось и моник заработал. Не знаю как после ребута взлетят новые сохранённые настройки, но сейчас всё заработало)
Автор: bu,   дата: 05 марта 2017   00:37:18
ффууух.респектище огромный.еле пофиксил
Автор: Виталий,   дата: 09 марта 2017   21:36:51
#!/bin/sh

xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --newmode "1360x1024_60.00" 115.00 1360 1448 1584 1808 1024 1027 1037 1063 -hsync +vsync
xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
xrandr --newmode "1152x864_60.00" 81.75 1152 1216 1336 1520 864 867 871 897 -hsync +vsync
xrandr --newmode "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync

xrandr --addmode VGA-0 1680x1050_60.00
xrandr --addmode VGA-0 1440x900_60.00
xrandr --addmode VGA-0 1360x1024_60.00
xrandr --addmode VGA-0 1360x768_60.00
xrandr --addmode VGA-0 1152x864_60.00
xrandr --addmode VGA-0 1280x1024_60.00

xrandr --output VGA-0 --mode 1360x768_60.00

есть у меня такой вот скрипт, в принципе со своей задачей справляется, однако при старте загоняет монитор в режим 1680x1050_60.00 не смотря на то что я указал 1360x768_60.00
В принципе это не проблема изменить разрешение теперь можно из "Все параметры -> настройка экранов", но вот теперь при выборе режима 1360x768_60.00 мои шрифты как то выглядят бито "моноширно" что ли, да и сглаживание не в какие ворота. Это лечится? или это норма для монитора 22" с возможным разрешением 1900х1050?
Автор: Дима,   дата: 22 апреля 2017   15:53:38
А как сделать смещение и масштабирование изображения? Телевизор Toshiba , при 1920х1080 не помещается картинка на экране, левая панель с кнопками еле выглядывает, а верхней статусной вообще не видно. Переключившись в 1600х1200 все хорошо.
Автор: Дима,   дата: 22 апреля 2017   15:57:26
А как посмотреть вот эти параметры передаваемые в newmode для режима по умолчанию? Добавил режим 1600х900, видно в нем все ок, но очень ярко. Хочу сделать яркость как в автоопределившемся режиме
Страницы:
<< < 1 | 2




 
Добавить комментарий:
Имя:*
e-mail:
Комментарий:*
Введите число 66*


Архив статей:
Март 2017
Апрель 2016
Март 2016
Октябрь 2013
Сентябрь 2013
Май 2013
Март 2013
Ноябрь 2012
Июль 2012
Июнь 2012
Апрель 2012
Март 2012
Февраль 2012
Апрель 2011
Март 2011
Февраль 2011
Январь 2011
Декабрь 2010
Ноябрь 2010
Октябрь 2010
Сентябрь 2010
Август 2010
Июль 2010
Июнь 2010
Май 2010
Апрель 2010
Март 2010

Случайные:
Работайте в консоли с привычным комфортом!

Настройка GRUB2

Фонд свободного программного обеспечения и копилефт.

Виртуальный планетарий Stellarium: обзор новых возможностей

Pinta - новый легкий графический редактор

Объединения команд и обработка выходных данных в shell





Коллеги:    все
 Linux для всех

Наши баннеры:
linuxnow.ru
linuxnow.ru
Установить баннер