Дата добавления: 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.
Статья частично основана по материалам англоязычной документации .