XRandR: настройка режимов работы с дисплеями (мониторами) в GNU/Linux
Дата добавления: 31 марта 2012
Возможные названия интерфейсов:
- LVDS1 — экран ноутбука;
- VGA1 — экран, подключаемый через VGA;
- DVI1 — экран, подключаемый через DVI;
Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA, который и хотим настроить через XRandR).
Изменение разрешения
Лучше всего рассмотреть пример:
Режимы работы с несколькими мониторами
Отключение дисплея
Отключить не нужный в данный момент дисплей можно с помощью опции —off:
После этого у вас будет виртуальное разрешение 1280×720 при 1024×600 физическом.
Поворот
Используйте следующие опции применительно к нужному интерфейсу:
- —rotate normal
- —rotate left
- —rotate right
- —rotate inverted (поворот на 180°)
Сохранение настроек
Для активации необходимых настроек при старте, создайте файл
/ указывает на расположение в домашней директории) и внесите в него необходимые строки команд xrandr.
Статья частично основана по материалам англоязычной документации.
Автор: 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 1680×1050+0+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680×1050 60.0*+
1400×1050 60.0
1280×1024 75.0 60.0
1440×900 75.0 59.9
1280×960 60.0
1280×800 60.0
1152×864 60.0 75.0
1280×768 60.0
1280×720 60.0
1024×768 75.0 70.1 60.0
800×600 72.2 75.0 60.3 56.2
640×480 75.0 72.8 67.0 59.9
DFP10 disconnected (normal left inverted right x axis y axis)
CRT1 connected 1600×1200+1680+0 (normal left inverted right x axis y axis) 0mm x 0mm
1600×1200 60.0*+
1400×1050 60.0
1600×900 60.0
1280×1024 60.0
1440×900 59.9
1280×960 60.0
1366×768 59.8
1360×768 60.0
1280×800 59.8
1152×864 60.0
1280×768 59.9
1280×720 60.0
1024×768 60.0
800×600 60.3
720×480 60.0
640×480 59.9″
что и как мне надо изменить, чтобы CRT1 работал в резолюции 1920х1080. В данный момент 1600 — это максимальная резолюция.
/.xprofile должен быть исполняемым. В англоязычной версии это описано. Я, как новичок, этого не сделал. И, как следствие, при запуске системы разрешение не устанавливается на нужное автоматически. А таких новичков много в сети.
/.xprofile (можно использовать редактор nano).
Автор: Margo, дата: 05 января 2016 , время: 20:54:07 (MSK).
Спасибо за быстрый ответ,
в консоль перешла, но у меня такого файла нет.
Где еще оно может быть закопано?
Сходила логическим путем: если у вас «Отключить не нужный в данный момент дисплей можно с помощью опции —off:
xrandr —output LVDS1 —off»
— то включить решила с помощью «всё то же самое —on». Ан нет, размечталась, не так просто.
xrandr вообще отвечает Can’t open display.
А вот как xrandr выглядит в другой системе (зашла со спас.диска):
$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA-1 connected 1024×768+0+0 (normal left inverted right x axis y axis) 350mm x 260mm
1600×1200 60.0 60.0
1280×1024 75.0 59.9
1024×768 85.0 75.1 60.0*
800×600 100.0 85.1 75.0 60.3
640×480 85.0 60.0
720×400 70.1
DVI-I-1 disconnected (normal left inverted right x axis y axis)
TV-1 connected 1024×768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
720×576 50.0 +
1024×768 50.0*
800×600 50.0
720×480 50.0
640×480 50.0
400×300 100.0
320×240 100.0
320×200 100.0
Я так понимаю, VGA-1 это и есть тот монитор, который я убила в своей основной системе? черт побери, один случайный клик мышкой. 🙁
/.xprofile с командой xrandr —output VGA-1 —mode 1600×1200 и перезагрузить.
Автор: 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 она же загружается! значит, она где-то тут — просто уже не было времени на эксперименты.
Теперь спокойненько, с кофе и булочкой, бэкапнула закладки и попробую создать файл по вашему совету. 🙂
Спасибо, что поддержали!
$ 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 1600×900
Size 1600×900 not found in available modes
user@ubuntu:
Источник
Поворот экрана на 90 градусов Linux *
Вообщем для начала понимания моей безысходности, немного предыстории:
Решили мы развивать проект на встраиваемой платформе, и наш взгляд пал на raspberry pi, и все было хорошо. Но потом наши уважаемые дизайнеры сказали, что подключенный монитор 27 дюймов к малине необходимо развернуть на 90 градусов. Немного покопавшись в google было найдено решение и оно сводилось к тому, что для поворота необходимо в разделе boot подправить config.txt display_rotate = 1 (CW).
После reboot все изменения вступили в силу и все бы хорошо, но вот только raspberry pi просто стал задыхаться и жутко тормозить, отрисовывая как слайд-шоу рабочий стол. Хотя без поворота, мощности нам хватало для наших задач.
После чего решили попробовать поменять железо и прикупили cubieboard И вот тут мы встряли. Дело в том, что в кубике нет директивы для поворота экрана в файле инициализации оборудования (script.bin). После чего было решено повернуть экран подав параметр Option «Rotate» «CW» в конфигурации Xorg в секции Device драйверу fbturbo(sunxifb). После reboot моему удивлению не было предела, фреймбуффер экрана повернулся в CW, а вот курсор (InputDevice) остался в состоянии normal, причем координаты курсора правильные, но отрисовываются не в той проекции. Пробовал Xrandr -o left вылетает куча ошибок. Все манипуляции выполнялись на портированной сборке Debian 7 (Cubian), а также на Cubieez. Самое интересное экран нормально поворачивается данным способом (Rotate = CW) на дистрибутиве lubuntu(linaro) и только на драйвере VESA.
Бьемся с коллегами уже неделю над этой проблемой, куда я только не писал, везде молчат. Надеюсь хоть тут мне помогут.
Пробовал Xrandr -o left вылетает куча ошибок.
Пробовал при повороте через конфиг?
Enabling either CW or CCW rotation disables the RandR extension
Может убрать поворот из конфига, и попробовать повернуть xrandr-ом.
Плюсую поворот иксами. А пока грузится — хрен с ним.
У вас есть деньги на 27″ монитор, но не можете купить нормальный комп?
Я много не понимаю в этой жизни.
у него задача такая
// железоделам писал.
Shit! А я про 27″ и не заметил. А вообще, «малинка» — жутко дорогая фиговина, можно же взять какой-нибудь неттоп за те же баксы.
выкладывайте выхлоп xrandr, это самое правильное решение.
Попробуйте так. G2D — использовать ускоритель 2Д графики (блиттер, масштабирование), SWCursor — рисовать курсор программно, а не через оверлей. А вообще, зависит от задачи. Если бы там было полноэкранное OpenGL приложение — можно было бы повернуть в нём всё.
Где ты видел «малинку» за $35? Она от $200 стоит!
А вообще, «малинка» — жутко дорогая фиговина, можно же взять какой-нибудь неттоп за те же баксы.
Отсыпь. Малинку можно за 50-75$ с доставкой купить
Источник
[РЕШЕНО] Поворот экрана и ориентация мышки
#1 — 20 сентября 2012 в 16:55 |
Юзнаю систему на ноуте-планшете. У него есть стилус которым можно тыкать по экрану. Есть необходимость в повороте экрана на 180. В настройках Wacon эта функция есть, но вот есть проблемка со стилусом.
При повороте экрана на 180 в режим Портрет, ориентация мышки-стилуса не изменяется и остается в Ландшафтном режиме. Когда стилусом ведешь влево курсор на экране едит вверх, когда вправо — вниз ну и в остальных плоскостях тоже.
Как изменить ориентацию мыши вместе с экраном.
#2 — 24 сентября 2012 в 21:25 |
Вообщем долго капал инет на предмет такой фитчи и вот решилось:
Для начала смотрим id нужных нам устройств командой xinput,
⎡ Virtual core pointer [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint [slave pointer (2)]
⎜ ↳ Serial Wacom Tablet stylus [slave pointer (2)]
⎜ ↳ Serial Wacom Tablet eraser [slave pointer (2)]
⎣ Virtual core keyboard [master keyboard (2)]
↳ Virtual core XTEST keyboard [slave keyboard (3)]
↳ Power Button [slave keyboard (3)]
↳ Video Bus [slave keyboard (3)]
↳ Sleep Button [slave keyboard (3)]
↳ AT Translated Set 2 keyboard [slave keyboard (3)]
↳ ThinkPad Extra Buttons [slave keyboard (3)]
В моем случае это и 10 мой трекпоинт (типа тачпад)
Далее пишем скрипт поворота экрана, он делает три вещи после определения текущего положения экрана:
— поворачивает экран,
— поворачивает ориентацию тачскрина,
— выключает или включает трекпоинт (по номеру ID в моем случае 10).
#!/bin/bash
rotation=`xrandr -q | fgrep «right (» `
if [ $? == 1 ] ;
then
xrandr -o right
xsetwacom —set «Serial Wacom Tablet stylus» Rotate cw
xsetwacom —set «TPPS/2 IBM TrackPoint» Rotate cw
xsetwacom —set «Serial Wacom Tablet eraser» Rotate cw
# следующая строчка отключает трекпоинт при повороте экрана
xinput set-prop 10 «Device Enabled» 0
else
xrandr -o normal
xsetwacom —set «Serial Wacom Tablet stylus» Rotate normal
xsetwacom —set «TPPS/2 IBM TrackPoint» Rotate normal
xsetwacom —set «Serial Wacom Tablet eraser» Rotate normal
xinput set-prop 10 «Device Enabled» 1
fi
— Список устойств можно ещё посмотреть с помощью xsetwacom —list
— right=cw, если захотите поворачивать в left, то тогда left=ccw
Если вы будете адаптировать под своё железо — учтите следующие моменты:
— Определение поворота в скрипте сделано халтурно — довольно грубый греп по выводу xrandr.
— keycode для вашей кнопки может быть другой
— Название тач-устройств может быть другим
Итак что получилось по факту
— По нажатию поворачивать картинку на 90°
— По повторному нажатию возвращать обратно
— Поворачивать восприятие всех тачскринов (обнаружилось в ходе отладки решения)
— (upd) отключаем тачпад — он иногда срабатывает на перевёрнутую крышку хотя в моем случае это было не обязательно.
Осталось придумать как исполнение скрипта зацепить на хардварную кнопку сделанную именно для поворота экрана
#3 — 29 сентября 2012 в 04:36 |
в продолжении темы: «сам спрашиваю сам отвечаю»
Для того чтобы зацепить скрипт на хардварную кнопку у меня заработал эффективно вот такой метод
Для начала ставим пакет xbindkeys, который позволит нам вешать на произвольные кнопки произвольные программы:
apt-get install xbindkeys
Далее — пишем конфиг для xbindkeys:
Делаем touch
Запускаем xbindkey -k Получаем окно, в котором надо нажать нужную нам кнопку — на выходе будет строчка, которую нужно отдать xbindkeys-config, чтобы запустить программу по нажатию кнопки. Если на хардварную кнопку уже что-то стало по-умолчанию, то нажмите Shift + (нужная кнопка). Будет примерно так:
m:0x1 + c:199
Shift + XF86TouchpadToggle
Далее необходимо проставить ноли 0x0 в первой части выражения для активации нужной нам кнопки чтобы работала без клавиши Shift.
В моем случае keycode кнопки такой:
m:0x0 + c:199
(понятно, что для разных устройств вторая строчка будет разной)
Далее формируем конфиг, заходим в (
/.xbindkeys) и вписываем полученную строчку комбинации клавиш
«rotate»
m:0x0 + c:199
в файл xbindkeysrc.
После чего запускаем xbindkeys-config и открываем им файл xbindkeysrc. Так же по умолчанию в конфиг попадут образцы дефолтных кнопок от xbindkeys, их можно удалить.
Сохраняем изменения и закрываем конфиг.
Запускаем xkbindkeys, проверяем, что работает.
Источник