Работа с двумя мониторами.
Пробовал разные способы организовать разделение рабочего стола на два монитора, пока остановился на xrandr. Но он меня не до конца устраивает, так как:
- Центр рабочего стола находится на стыке мониторов, то есть, например, обоина растягивается на два монитора, а не дублируется; splash при старте некоторых программ так же отображается на стыке мониторов.
- Нельзя пристыковать панель (tint2/lxpanel) к правому краю левого монитора или к левому краю правого.
Есть ли DE-независимый способ добиться такого в линуксе без привязки к блобам?
>Центр рабочего стола находится на стыке мониторов, то есть, например, обоина растягивается на два монитора, а не дублируется; splash при старте некоторых программ так же отображается на стыке мониторов.
Просто нужна поддержка xinerama в софте. А обои клеить, да.
Нельзя пристыковать панель (tint2/lxpanel) к правому краю левого монитора или к левому краю правого.
Не встречал такого. Аналогично, поддержка xinerama включена?
У меня собрано с USE=«xinerama», рабочий стол расширен на второй монитор (справа), обоина дублируется, гном.
Просто нужна поддержка xinerama в софте. А обои клеить, да.
В винде для всех программ из коробки.
А оно удобно. Если хотя бы один монитор широкоформатный, к таскбару офигеешь мышку таскать через три с лишним тысячи пикселей.
А вот отсюда поподробнее, если можно. Где включить?
У меня собрано с USE=«xinerama», рабочий стол расширен на второй монитор (справа), обоина дублируется, гном.
Arch+Openbox. Доктор, у меня есть надежда?
pacman -S xineramaproto
Кстати, а можно сделать, чтобы на каждый монитор был свой workspace?
Я специально жирным выделил: DE-независимый способ.
>Кстати, а можно сделать, чтобы на каждый монитор был свой workspace?
Не понял точно, что имеется в виду, но у меня это выглядит так (ничего не настраивал): подключаю монитор, сразу он настраивается как продолжение рабочего стола вправо, но панель (AWN) остаётся на левом. Если максимизировать окна, то они расширяются на один монитор. Если переключать виртуальные рабочие столы, то меняется содержимое обоих мониторов.
Можно запустить gnome-session с опенбоксом, но это не нужно, наверное. Скорее всего, будет работать.
обоина растягивается на два монитора, а не дублируется;
Чем устанавливается? nautilus её дублирует.
Не понял точно, что имеется в виду, но у меня это выглядит так (ничего не настраивал): подключаю монитор, сразу он настраивается как продолжение рабочего стола вправо, но панель (AWN) остаётся на левом. Если максимизировать окна, то они расширяются на один монитор. Если переключать виртуальные рабочие столы, то меняется содержимое обоих мониторов.
Всё то же самое, если не учитывать, что настраивать приходится вручную, либо через arandr, либо напрямую через xrandr. Но мне нужно, хотя бы, чтобы можно было панель пристыковать к краю монитора, а не к краю рабочего стола.
Чем устанавливается? nautilus её дублирует.
А про отдельные воркспейсы я подумал и понял, что это была дурацкая идея.
>Кстати, а можно сделать, чтобы на каждый монитор был свой workspace?
Это целиком зависит от WM. В i3, например, так и делают.
>Но мне нужно, хотя бы, чтобы можно было панель пристыковать к краю монитора, а не к краю рабочего стола.
Сейчас попробовал с AWN, он всегда остаётся на левом мониторе, даже если поставить его у правого края. Возможно, tint2 просто не умеет этого.
Какой командой настраивал? Может, получился просто другой режим (хотя у меня, кажется, таких проблем не было с xfce и xrandr из консоли).
Возможно, tint2 просто не умеет этого.
У lxpanel, задаётся позиция «снизу, сверху, слева, справа». У tint2 более гибко: «снизу слева, снизу по центру, снизу справа, и т.д.». У AWN не так?
У AWN ещё более гибко: снизу, сверху, слева, справа и ещё есть возможность расширить панель на всю сторону экрана или не расширять панель, но указать местоположение центра панели. Т.е. не просто «снизу слева, снизу по центру, снизу справа, и т.д.», а есть промежуточные варианты.
Я тоже примерно так делал когда-то, но ещё указывал —pos и —mode вместо —auto, хотя, наверное, это и не нужно.
splash при старте некоторых программ так же отображается на стыке мониторов.
А если просто какое-то окно развернуть (максимизировать), то на один монитор расширяется?
У AWN ещё более гибко: снизу, сверху, слева, справа и ещё есть возможность расширить панель на всю сторону экрана или не расширять панель, но указать местоположение центра панели. Т.е. не просто «снизу слева, снизу по центру, снизу справа, и т.д.», а есть промежуточные варианты.
tint2 это всё умеет. Но это не помогает ему прицепляться к краю монитора, только к краю рабочего стола.
А если просто какое-то окно развернуть (максимизировать), то на один монитор расширяется?
Значит, проблема точно в tint2. Может, его можно как-то ещё по-другому настроить, но я не знаю, потому что через полчаса работы с ним и опенбоксом снёс оба.
Значит, проблема точно в tint2
Вообще, сейчас у меня lxpanel. Из любопытства поставлю на посмотреть AWN.
>сейчас у меня lxpanel
Я думал, раз tint2 раньше перечислен, то он основной.
Тогда надо ставить из гита, потому что предыдущие версии не поддерживают некомпозитные WM. Я могу ошибаться, конечно, потому что не помню, когда он научился работать с некомпозитными WM, может, 0.4.1 уже и умеет.
У меня xcompmgr запущен, AWN работает нормально. Только фича прикрепления к границе экрана, похоже, совсем не фича, а очень даже баг. Потому что он ведёт себя так же, как lxpanel и tint2, но некорректно работает с двумя мониторами и просто не может выбраться с того, на котором запущен.
Попробовал запустить nautilus — дублирует. Похоже, надо просто разбираться с моим набором софта. Спасибо за помощь, буду копать дальше.
Что интересно, feh дублирует обоину. На нём, пожалуй, и остановлюссь.
>некорректно работает с двумя мониторами и просто не может выбраться с того, на котором запущен.
Да, я говорил, что AWN остаётся на основном (левом) мониторе:
Сейчас попробовал с AWN, он всегда остаётся на левом мониторе, даже если поставить его у правого края.
По-моему, как раз так удобнее.
Да, я говорил, что AWN остаётся на основном (левом) мониторе
А чем определяется, какой монитор основной? Они же, вроде, равноправны, или нет?
По-моему, тоже, но только если левый монитор больше правого, а не наоборот. Кстати, будет забавно, если этот баг пофиксят и халява обломается. 🙂
>А чем определяется, какой монитор основной?
Например, при вызове xrandr есть параметр —left-of или —right-of, передача которого в виде ‘—output $OUTPUT —right-of LVDS1’ автоматически подразумевает, что $OUTPUT не основной.
По-моему, тоже, но только если левый монитор больше правого, а не наоборот.
У меня нетбук и левый монитор таки меньше правого, и как раз удобно тем, что маленькие окна помещаются и на левом, несмотря на панель, а большие окна могут занимать всё доступное пространство правого. Как раз отсутствие панели на бо́льшем мониторе даёт возможность размещать бо́льшие окна.
Кстати, будет забавно, если этот баг пофиксят и халява обломается.
А мне-то всё равно, у меня панель снизу, а не сбоку. =) К тому же, правые панели я совсем не признаю, у меня левые ещё были (как в unity), но когда пытался попробовать её справа, внимание на ней не сосредотачивалось.
Например, при вызове xrandr есть параметр —left-of или —right-of, передача которого в виде ‘—output $OUTPUT —right-of LVDS1’ автоматически подразумевает, что $OUTPUT не основной.
Хм, я тоже сначала так подумал, но потом решил, что это фигня какая-то. Надо поэкспериментировать. Если этим эффектом можно будет управлять, будет круто.
К тому же, правые панели я совсем не признаю, у меня левые ещё были (как в unity), но когда пытался попробовать её справа, внимание на ней не сосредотачивалось.
А мне наоборот, почему-то, субъективно справа больше нравится. К тому же, левый монитор у меня больше и там запущен клиент мониторинга, на который я, в основном, смотрю, но не взаимодействую, а вот на правом происходят почти все действия, так что панель справа в этом случае гораздо логичнее.
Кстати
>некорректно работает с двумя мониторами и просто не может выбраться с того, на котором запущен.
Сейчас совершенно случайно нашёл у AWN эту фичу и решил написать: в gconf есть ключ /apps/avant-window-navigator/panel/monitor_num, в нём всё-таки можно задать номер монитора, на котором будет находиться панель. Дефолтное -1 означает автоопределение. Полезно иногда полазить по gconf, много интересного найти можно. =)
Источник
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:
Источник