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 (поворот на 180°)



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

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

Комментарии:
Автор: Bvz,   дата: 01 апреля 2012 ,  время: 09:59:52 (MSK).
Целый месяц не писали
Автор: palPred,   дата: 05 апреля 2012 ,  время: 17:40:41 (MSK).
Спасибо!
Автор: Makc,   дата: 31 августа 2012 ,  время: 19:18:37 (MSK).
Спасибо, наконец-то настроил, буду искать сведения о "xprofile".
Автор: Shaolin,   дата: 20 ноября 2012 ,  время: 18:09:44 (MSK).
Спасибо Вам за краткую, емкую, а главное - полезную статью.
Автор: Subsanek,   дата: 20 ноября 2012 ,  время: 18:10:47 (MSK).
Shaolin, и вам спасибо!
Автор: Yuriy,   дата: 03 декабря 2012 ,  время: 12:16:08 (MSK).
Спасибо за статью понятную, полезную. Ни где больше не мог найти такую статью везде советы не рабочие и в основном о изменении файла в ручную xorg.conf
Автор: Vadim,   дата: 11 декабря 2012 ,  время: 13:45:39 (MSK).
Спасибо,и мне очень пригодилось.
Автор: cold water,   дата: 05 января 2013 ,  время: 20:37:06 (MSK).
Не получается, не могли бы расшифровать сообщения об ошибках:
----------------------------------------------
$ sudo xrandr --addmode VGA-0 "1600x900_60.00"
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 153 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 31
Current serial number in output stream: 32
-----------------------------------------------
Монитор широкоформатный
Автор: Игорь,   дата: 19 февраля 2013 ,  время: 20:08:27 (MSK).
Спасибо большое за информацию, долго искал такую статью
Автор: iiihyp,   дата: 22 марта 2013 ,  время: 14:20:37 (MSK).
огромное спасибо, тоже давно искал статью про эту проблему, все как обычнов линуксе решается парой строк, но которые фиг где узнаешь )
Автор: Igor,   дата: 29 марта 2013 ,  время: 21:11:01 (MSK).
спасибо!!!насамом деле все просто, если знаешь как!
Автор: Subsanek,   дата: 29 марта 2013 ,  время: 21:13:07 (MSK).
Igor, пожалуйста.
Автор: kekspetrovich,   дата: 06 мая 2013 ,  время: 17:05:00 (MSK).
доброго дня.
можно ли виртуальный экран сделать меньше физического размера монитора?
есть монитор левая часть которого повреждена(темная сторона поглотила).
нужно выводить изображение только на правую половину монитора.
можно ли это реализовать? и как?
пробовал колдовство с xrandr через параметр --panning и --fb
но не хватает знаний и интуиции как это правильно сделать.
Автор: Subsanek,   дата: 06 мая 2013 ,  время: 18:08:03 (MSK).
kekspetrovich, даже не знаю чем помочь. xrandr не даёт сделать виртуальный экран меньше, чем физический.
Автор: kekspetrovich,   дата: 08 мая 2013 ,  время: 09:13:32 (MSK).
Похоже на то. а есть у вас идеи по этому поводу? в какую сторону копать? можно же как-то заставить иксы выводить изображение только на половину экрана.
Автор: Subsanek,   дата: 19 мая 2013 ,  время: 03:34:45 (MSK).
kekspetrovich, даже не знаю. Не типичная задача.
Автор: Светлана,   дата: 24 мая 2013 ,  время: 13:30:33 (MSK).
а что делать если в списке доступных разрешений - 1024*768 - это Maxixmum
а хочется 1280*800
Автор: Subsanek,   дата: 24 мая 2013 ,  время: 13:34:14 (MSK).
Светлана, об этом в статье написано в разделе Создание нового режима.
Автор: Alex,   дата: 13 августа 2013 ,  время: 20:02:58 (MSK).
Добрый день. Вот что мек выдает xrandr:
"Screen 0: minimum 320 x 200, current 3280 x 1200, maximum 3120 x 3120
DFP1 disconnected (normal left inverted right x axis y axis)
DFP2 disconnected (normal left inverted right x axis y axis)
DFP3 disconnected (normal left inverted right x axis y axis)
DFP4 disconnected (normal left inverted right x axis y axis)
DFP5 disconnected (normal left inverted right x axis y axis)
DFP6 disconnected (normal left inverted right x axis y axis)
DFP7 disconnected (normal left inverted right x axis y axis)
DFP8 disconnected (normal left inverted right x axis y axis)
DFP9 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 60.0*+
1400x1050 60.0
1280x1024 75.0 60.0
1440x900 75.0 59.9
1280x960 60.0
1280x800 60.0
1152x864 60.0 75.0
1280x768 60.0
1280x720 60.0
1024x768 75.0 70.1 60.0
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 67.0 59.9
DFP10 disconnected (normal left inverted right x axis y axis)
CRT1 connected 1600x1200+1680+0 (normal left inverted right x axis y axis) 0mm x 0mm
1600x1200 60.0*+
1400x1050 60.0
1600x900 60.0
1280x1024 60.0
1440x900 59.9
1280x960 60.0
1366x768 59.8
1360x768 60.0
1280x800 59.8
1152x864 60.0
1280x768 59.9
1280x720 60.0
1024x768 60.0
800x600 60.3
720x480 60.0
640x480 59.9"

что и как мне надо изменить, чтобы CRT1 работал в резолюции 1920х1080. В данный момент 1600 - это максимальная резолюция.

Спасибо
Автор: Subsanek,   дата: 13 августа 2013 ,  время: 20:43:36 (MSK).
Alex, здравствуйте. А сам монитор то поддерживает более 1600x1200? Если да, то можно создать новый профиль, пример описан в разделе "создание нового режима" этой статьи.
Автор: mexx,   дата: 07 октября 2013 ,  время: 11:11:06 (MSK).
Добрый день. HDMI будет показан с вариантами разрешения (он единственный подключен, к ТВ)?
Автор: Subsanek,   дата: 07 октября 2013 ,  время: 11:35:05 (MSK).
mexx, здравствуйте! Да, подключение по HDMI настраивается через XRandR также как и остальные.
Автор: mexx,   дата: 07 октября 2013 ,  время: 11:57:55 (MSK).
Спасибо. Буду пробовать.
Автор: mexx,   дата: 08 октября 2013 ,  время: 09:10:44 (MSK).
TV по HDMI:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 1920 x 1920
DFP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1280mm x 720mm
1920x1080 60.0*+ 50.0 30.0 25.0 24.0
Что такое 0+0?
Автор: Subsanek,   дата: 08 октября 2013 ,  время: 09:24:38 (MSK).
mexx, по всей видимости, это смещение изображения по оси x и y (+0+0 без смещения).
Автор: mexx,   дата: 08 октября 2013 ,  время: 14:52:57 (MSK).
ОК, спасибо.
Автор: Сергей,   дата: 13 ноября 2013 ,  время: 11:03:15 (MSK).
Спасибо за полезную статью.
Столкнулись с проблемой на производственном компьютере, время от времени (при запуске одного приложения) слетает разрешение и подключается дополнительный монитор. Как сделать, чтобы этого избежать?
Автор: Subsanek,   дата: 13 ноября 2013 ,  время: 11:08:00 (MSK).
Сергей, как правило, это проблема самого приложения. Нужно смотреть в его настройках.
Автор: Kirimai,   дата: 11 января 2014 ,  время: 18:01:53 (MSK).
Благодарю за статью, очень полезно. Задал 1920х1080_60.60 для своего ноута dell inspiron 1525 с выходом на телевизор
Автор: Upa,   дата: 18 апреля 2014 ,  время: 19:54:06 (MSK).
не сохраняются настройки
Автор: Spaser,   дата: 27 мая 2014 ,  время: 10:05:06 (MSK).
Вы здесь не указали, что ~/.xprofile должен быть исполняемым. В англоязычной версии это описано. Я, как новичок, этого не сделал. И, как следствие, при запуске системы разрешение не устанавливается на нужное автоматически. А таких новичков много в сети.
Автор: Subsanek,   дата: 27 мая 2014 ,  время: 16:35:43 (MSK).
Spaser, спасибо за дополнение!
Автор: Svetaslav,   дата: 21 июля 2014 ,  время: 19:13:30 (MSK).
Подскажите как изменить разрешение на удаленном компьютере VDS-debian. Предлагается не более 1024*768
xrandr выдает ошибку:
Failed to get size of gamma for output default
Перебор выходов не помогает. К примеру такое бывает при установке на virtualbox, но там все решает установка гостевых дополнений. А как здесь? Что тут можно установить?
Автор: Andrew,   дата: 12 августа 2014 ,  время: 11:28:31 (MSK).
Применительно в дистрибьютиву OpenSuse 13.1.
Исполняемый файл, который читается при запуске сеаса, создавать не надо. Он уже есть в домашнем каталоге пользователя и называется .profile
Автору огромное спасибо, добавил в этот файл три строчки xrandr и решил проблему.
Автор: Spaser,   дата: 15 августа 2014 ,  время: 15:22:12 (MSK).
Для Andrew.
Странно. Внёс команды в .profile, из трёх строчек выполняется только первая. Может так какие паузы повставлять нужно? Или ещё что?
Автор: Abel,   дата: 21 сентября 2014 ,  время: 10:44:06 (MSK).
Все получилось. Отличная статья! Но у мня есть маленький недочет - виртуальный экран сместился вверх и влево. Xrandr умеет его "вернуть" на место по осям?
Автор: Subsanek@gmail.com,   дата: 21 сентября 2014 ,  время: 23:25:48 (MSK).
Abel, не совсем понимаю как сместился, чтобы попасть за границы видимого экрана нужно перевести в ту область курсор, ну или попробуйте задать режим заново.
Автор: Илья,   дата: 15 ноября 2014 ,  время: 23:01:59 (MSK).
приподключении через HDMI, название интерфейса HDMI и прописывать?!
Автор: Subsanek,   дата: 18 ноября 2014 ,  время: 16:37:03 (MSK).
Илья, введите для начала просто xrandr и посмотрите, как обозначен нужный интерфейс. Обычно называется как "HDMI-порядковый номер", в случае подключения через HDMI.
Автор: Илья,   дата: 18 ноября 2014 ,  время: 20:45:04 (MSK).
2 Subsanek, вот, что терминал пишет "HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)", но вход хдми только один, вот в чём дело
Автор: Subsanek,   дата: 08 января 2015 ,  время: 03:48:50 (MSK).
Илья, такое может быть, в таком случае нужно опробовать оба интерфейса.
Автор: stereo,   дата: 24 июля 2015 ,  время: 15:25:00 (MSK).
Ништяк! очень помогло! --primary
Автор: Margo,   дата: 05 января 2016 ,  время: 18:45:53 (MSK).
Нашла у вас совет, как выключить ненужный монитор,
а как ВКЛЮЧИТЬ случайно отключенный монитор?
У меня теперь в середине загрузки монитор щелкает (в момент, когда система считывает эту команду) и выключается.
Далее загрузка системы происходит как обычно, но я уже ничего этого не вижу. :(
Как теперь проникнуть в систему?
Автор: Subsanek,   дата: 05 января 2016 ,  время: 18:54:36 (MSK).
Margo, попробуйте перейти в терминал сочетанием Ctrl+Alt+F2 и удалить проблемную команду из ~/.xprofile (можно использовать редактор nano).
Автор: Margo,   дата: 05 января 2016 ,  время: 20:54:07 (MSK).
Спасибо за быстрый ответ,
в консоль перешла, но у меня такого файла нет.
Где еще оно может быть закопано?

Сходила логическим путем: если у вас "Отключить не нужный в данный момент дисплей можно с помощью опции --off:
xrandr --output LVDS1 --off"
- то включить решила с помощью "всё то же самое --on". Ан нет, размечталась, не так просто.

xrandr вообще отвечает Can't open display.

А вот как xrandr выглядит в другой системе (зашла со спас.диска):

ubuntu@ubuntu:~$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 350mm x 260mm
1600x1200 60.0 60.0
1280x1024 75.0 59.9
1024x768 85.0 75.1 60.0*
800x600 100.0 85.1 75.0 60.3
640x480 85.0 60.0
720x400 70.1
DVI-I-1 disconnected (normal left inverted right x axis y axis)
TV-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
720x576 50.0 +
1024x768 50.0*
800x600 50.0
720x480 50.0
640x480 50.0
400x300 100.0
320x240 100.0
320x200 100.0

Я так понимаю, VGA-1 это и есть тот монитор, который я убила в своей основной системе? черт побери, один случайный клик мышкой... :(
Автор: Subsanek,   дата: 05 января 2016 ,  время: 21:03:55 (MSK).
Margo, попробуйте создать файл ~/.xprofile с командой xrandr --output VGA-1 --mode 1600x1200 и перезагрузить.
Автор: Margo,   дата: 06 января 2016 ,  время: 03:14:50 (MSK).
Вроде выкрутилась.

Первый способ:
в начале загрузки выбрать recovery mode,
в recovery mode выбрать resume normal boot,
выйдет предупреждение, что это типа Safe mode и не все графические драйверы могут работать,
кликнула ОК, загрузка продолжилась, пришла куда хотела, всё работает как всегда.
Правда, при перезагрузке та же засада, монитор отключается, т.е. recovery mode теперь пожизненно, если не переписать config файл (но КАКОЙ именно?...).
Ну и ладно, всё равно новую ставить пора, сейчас у меня Минт14 Надя, если кому интересно.

Второй способ:
дождаться конца загрузки, перейти в терминал Ctrl+Alt+F2 (у меня F1 тоже годится, да и остальные, наверно, просто не проверяла),
залогиниться, зайти под рутом, скомандовать startx
(если не под рутом, то монитор опять выключится),
далее имею первозданное окно Линукс Минт как только что с диска, т.е. без моих гламурных настроек и почему-то... без мозиллы! Все остальное, установленное за последний год, на месте (включая игры), и всё работает штатно. Исчезла только мозилла, а она-то самое главное, сотни закладок и паролей. Не исключаю, впрочем, что получила бы свою мозиллу со всеми закладками, если б попробовала ее заново установить через синаптик или Оперу - через recovery mode она же загружается! значит, она где-то тут - просто уже не было времени на эксперименты.

Теперь спокойненько, с кофе и булочкой, бэкапнула закладки и попробую создать файл по вашему совету. :)
Спасибо, что поддержали!
Автор: user,   дата: 16 марта 2016 ,  время: 10:18:25 (MSK).
автор, как сделать включение монитора с клавиши?
Автор: Askar,   дата: 24 мая 2016 ,  время: 17:13:44 (MSK).
Спасибо помогло
Автор: yuri,   дата: 20 июня 2016 ,  время: 09:26:01 (MSK).
user@ubuntu:~$ xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
user@ubuntu:~$ xrandr -s 1600x900
Size 1600x900 not found in available modes
user@ubuntu:~$
Страницы:
1 | 2 > >>



 
🖊 Добавить комментарий:
Ваше имя: *
Комментарий: *
Введите число 95: *


Архив статей:
Ноябрь 2018
Октябрь 2018
Май 2017
Март 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

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

Whois - узнаем информацию о домене

RecordMyDesktop: запись происходящего на экране

Florence Virtual Keyboard: удобная виртуальная клавиатура с поддержкой мультиязычности

Виджеты в GNOME

Конфигурация клиента BOINC с помощью cc_config.xml



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

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