======Настройка 2-х мониторов в PuppyRus-A xfce======
Описание в статье дано на примере:
* дистрибутива PuppyRus-A версии **pra02-1409fat-xfce**
* и компьютера, с одновременно подключенными к нему 2-мя мониторами: VGA - с разрешением 1280х1024 (стоит слева) и DVI - с разрешением 1920х1200 (стоит справа).
Включение или выключение питания любого из мониторов на результат не влияло.
\\ Для настройки совместной работы 2-х мониторов используем связку **xrandr + xfce-настройки**. Практическое решение - приведено в конце текста.
=====1. Надо использовать xrandr=====
Кроме pra02-1409fat-xfce, опыты также проводились над дистрибутивами Runtu-12.04-xfcе и Mint-17-xfcе.
\\ Ситуация с ними оказалась аналогичной, хоть и с некоторыми нюансами, в худшую для них сторону
\\ (в Runtu 12.04 xfcе и Mint-17 xfcе у меня не корректно производилось переключение панели с меньшего монитора на больший).
Результат проведенных экспериментов показал, что в этом вопросе использование одних **xfcе-настроек** не дает полного решения.
\\ Лучший результат дает использование - **xrandr + xfce-настройки**.
Для начала набираем в Терминале **xrandr** и получаем примерно такой текст:
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 4096 x 4096
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis)
1280x1024 60.0*+ 76.0 75.0 72.0
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0
640x480 75.0 72.8
720x400 70.1
640x350 70.1
S-video disconnected (normal left inverted right x axis y axis)
DVI-0 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis)
1920x1200 60.0*
1920x1080 60.0
1600x1200 60/0
1680x1050 59.9
1280x1024 60.0 +
1280x960 60.0
1024x768 60.0
800x600 60.3
640x480 60.0
720x400 70.1
Из этой записи получаем:
* S-video выход отключен или отсутствует;
* монитор, подключенный к VGA-выходу в системе именуется как VGA-0 и имеет основное разрешение 1280x1024 с частотой развертки 60.0 (отмечено +);
* монитор, подключенный к DVI-выходу в системе именуется как DVI-0, считается главным (primary) и имеет меньшее, чем основное разрешение 1280x1024 с частотой развертки 60.0 (отмечено +);
* Рабочий стол отображается в режиме дублирования - одинаково на обоих мониторах (отмечено +0+0 - для обоих мониторов).
Примечание:
\\ такое наименование типично для видеокарт ATI, а для видеокарт других производителей наименование мониторов в системе будет немного другим.
=====2. Настройка 2-х мониторов (и более) с помощью xrandr:=====
* установка нужного разрешения мониторов - команда: --mode 1280x1024
* выбор главного монитора (вот это у меня и не работает) - команда: --primary
* отключение монитора - команда: --off
* дублирование (клонирование, зеркалирование) Рабочего стола на обоих мониторах (может быть полным или частичным) - команда: --same-as; --pos 0x0 (именно со значениями 0x0)
* растягивание Рабочего стола на 2 монитора и выбор размещения мониторов - команды: --left-of (слева от); --right-of (справа от); --above (выше); --below (ниже); --same-as (так же); --pos 1280x0 (задает смещение экрана от точки 0x0 в пикселях)
Примечание:
- В режиме **дублирования экранов** компьютер старается задать одинаковое разрешение экрана для обоих мониторов. Причем он ориентируется, естественно, на меньший монитор. Для изменения этой ситуации приходится задавать параметры разрешения обоих мониторов принудительно.
- В режиме **растягивания Рабочего стола** на два монитора практически (у меня всегда) главным получается левый или верхний монитор. Возможно это зависит от видеодрайверов или видеокарты.
Есть и другие возможности настройки с помощью **xrandr**, но для решения поставленной задачи - и этих оказалось достаточно.
Те, кто не желает использовать Терминал, могут воспользоваться программой **arandr** (это GUI-оболочка для **xrandr**), который позволяет все нижеописанные действия (и еще многие другие) выполнять в графическом режиме - просто передвигая в окне программы маленькие экранчики мышкой. Однако установка **arandr** в систему - выходит за рамки написания данной статьи. Может быть среди Вас найдутся желающие сделать отдельный подключаемый модуль. Размер **arandr** - около 0,5 Мб.
\\ Есть еще интересная программа **lxrandr**, которая уже имеется в системе. Она позволяет очень удобно настраивать разрешение монитора, а также включать и отключать его. Но она не может устанавливать расположение мониторов. И поэтому, для работы с 2-мя мониторами, не очень подходит.
Теперь набираем в Терминале определенные команды и смотрим их выполнение. Оно происходит сразу, без всяких перезагрузок и каких-либо других дополнительных действий.
====2.1. Изменение разрешения монитора:====
Команда устанавливает на мониторе VGA-0 разрешение экрана 1280x1024. Вы не увидите результата, если на мониторе уже стоит это разрешение.
xrandr --output VGA-0 --mode 1280x1024
====2.2. Определение монитора главным:====
Команда делает монитор DVI-0 - главным. У меня это работает так - монитор может числиться главным, но все ярлычки и панель находятся на другом мониторе, который левый.
xrandr --output DVI-0 --primary
====2.3. Отключение монитора:====
Команда отключает монитор VGA-0 - при этом его экран гаснет и что важнее, система начинает считать его отключенным.
xrandr --output VGA-0 --off
Оставшийся включенным монитор (DVI-0) продолжает работать и автоматически становится главным (он же единственный!). На нем слева отображаются ярлычки и внизу панель.
====2.4. Установка двух мониторов по горизонтали (один рядом с другим) с расширенным на оба монитора Рабочим столом:====
Команда размещает монитор VGA-0 слева от монитора DVI-0 и расширяет Рабочий стол на оба монитора.
\\ При этом, главным монитором является левый (VGA-0) и на нем слева находятся ярлычки и внизу панель.
xrandr --output VGA-0 --left-of DVI-0
или
xrandr --output DVI-0 --right-of VGA-0
или
xrandr --output DVI-0 --mode 1920x1200 --pos 1280x0 --output VGA-0 --mode 1280x1024 --pos 0x0
Аналогично, только мониторы поменяли местами.
\\ Команда размещает монитор VGA-0 справа от монитора DVI-0 и расширяет Рабочий стол на оба монитора.
\\ При этом, главным монитором является левый (DVI-0) и на нем слева находятся ярлычки и внизу панель.
xrandr --output VGA-0 --right-of DVI-0
или
xrandr --output DVI-0 --left-of VGA-0
или
xrandr --output DVI-0 --mode 1920x1200 --pos 0x0 --output VGA-0 --mode 1280x1024 --pos 1920x0
====2.5. Установка двух мониторов по вертикали (один над другим) с расширенным на оба монитора Рабочим столом:====
Команда размещает монитор VGA-0 выше монитора DVI-0 и расширяет Рабочий стол на оба монитора.
\\ При этом, главным монитором является верхний (VGA-0) и на нем слева находятся ярлычки и внизу панель.
xrandr --output VGA-0 --above DVI-0
или
xrandr --output DVI-0 --below VGA-0
или
xrandr --output DVI-0 --mode 1920x1200 --pos 0x1024 --output VGA-0 --mode 1280x1024 --pos 0x0
====2.6. Установка двух мониторов по вертикали с дублированием Рабочего стола====
(Рабочий стол на одном мониторе дублирует Рабочий стол на другом мониторе):
Команда размещает Рабочий стол на мониторе VGA-0 и дублирует Рабочий стол на мониторе DVI-0.
\\ При этом, на обоих мониторах слева находятся ярлычки и внизу панель. Разрешение мониторов (если оно не указано в команде в явном виде) автоматически ставится одинаковым.
xrandr --output VGA-0 --same-as DVI-0
или
xrandr --output DVI-0 --same-as VGA-0
====2.7. Получение режима дублирования Рабочих столов, но с разным разрешением мониторов.====
Для этого надо использовать другую команду:
xrandr --output DVI-0 --mode 1920x1200 --pos 0x0 --output VGA-0 --mode 1280x1024 --pos 0x0
При этом, разрешение мониторов становится разным. Рабочие столы дублируются в пределах 1280x1024.
\\ А все, что размещено на мониторе DVI-0 за пределами 1280x1024 - не дублируется (не показывается) на другом мониторе (VGA-0).
\\ Таким образом, монитор VGA-0 дублирует (показывает) лишь часть Рабочего стола монитора DVI-0.
=====3. О xrandr + настройки панели xfce=====
(А точнее - опять о настройке 2-х мониторов).
Кому-то всего вышеперечисленного уже достаточно для достижения своих целей.
\\ Но мне, как оказалось, мало. Мне все же нужен главный монитор (где панель) - справа.
Из пункта 2.4. по установке 2-х мониторов по горизонтали (один рядом с другим) с расширенным на оба монитора Рабочим столом выполняем команду:
xrandr --output VGA-0 --left-of DVI-0
Получаем монитор VGA-0 слева от монитора DVI-0 и расширенный Рабочий стол на оба монитора. При этом, ярлычки и панель находятся на левом мониторе (VGA-0), т.е. он у нас главный.
\\ Использование команды **--primary** - у меня ситуацию не меняет. А мне нужно управлять компьютером с правого монитора. Значит обязательно надо иметь на нем панель.
\\ Так как стандартные варианты от xrandr - у меня до конца не срабатывают, то ищем обходное решение.
\\ Идем в настройки панели: Диспетчер настроек > Панель > закладка Экран > пункт Вывод
\\ Видим варианты настроек "Вывода":
* Автоматически;
* VGA-0;
* DVI-0.
Устанавливаем - "DVI-0".
И о чудо - панель перемещается с левого монитора на правый! **Говорили же мне - учи матчасть!**
====4. Практическое решение.====
А также сохранение настроек и оперативное управление двумя конфигурациями мониторов.
Теперь надо заставить компьютер запомнить все эти настройки, чтобы при загрузке они ставились автоматически.
\\ Настройки, сделанные командами **xrandr** - просто так не сохраняются.
\\ В моем случае - надо создать скрипт с нужными командами **xrandr** и положить его в Автозагрузку (**/home/live/Startup/**).
Однако, на практике я работаю в двух разных вариантах конфигурации мониторов:
* вариант 1-й - включен один монитор - DVI-0;
* вариант 2-й - включены два монитора VGA-0 и DVI-0, причем DVI-0 должен быть справа и иметь панель.
И еще мне нужна возможность оперативного переключения между этими вариантами конфигурации мониторов.
\\ Таким образом задача сводится к получению 3-х режимов работы:
* **режим 1** - после загрузки - включен один монитор - DVI-0 с разрешением 1920x1200;
* **режим 2** - включение двух мониторов VGA-0 с разрешением 1280x1024 и DVI-0 с разрешением 1920x1200, с расширением Рабочего стола на оба монитора, причем DVI-0 должен быть справа и иметь панель;
* **режим 3** - включение одного монитора - DVI-0 с разрешением 1920x1200;
===Решение:===
Сначала в Geany пишем два скрипта для **xrandr**.
Первый скрипт:
#!/bin/ash
xrandr --output VGA-0 --off --output DVI-0 --primary --mode 1920x1200 --pos 0x0
и сохраняем с именем **2-display-off** (файл понадобится дважды).
Второй скрипт:
#!/bin/ash
xrandr --output DVI-0 --primary --mode 1920x1200 --pos 0x0 --output VGA-0 --mode 1280x1024 --left-of DVI-0
и сохраняем с именем **2-display-on**.
Примечание:
- В скрипте, после строки команды, в тексте должна быть пустая строка.
- Если с написанием скрипта есть какие-то затруднения, то можно скопировать файл какого-нибудь скрипта из системы, переименовать его в **2-display-off** или **2-display-on** и затем изменить в нем текст так, как написано выше.
Затем делаем pfs-модуль с файлами, которые должны быть размещены следующим образом:
* файл **2-display-off** - в папке **/home/live/Startup/**
* копия файла **2-display-on** и файл **2-display-off** - в папке **/usr/bin/**
Для этого идем в меню Разработка > Упаковка pfs--пакета и штатными средствами делаем pfs-модуль **4-conf5-2display-startup-f11-f12-pra**.
\\ Вы, конечно, можете назвать модуль иначе. Затем сделанный pfs-модуль кладем в папку **/pra/modules**
Файл, размещаемый в папке **/home/live/Startup/** понадобится для отключения второго монитора при загрузке - **режим 1**.
Файлы, размещаемые в папке **/usr/bin/** понадобятся для управления **режимами 2 и 3**.
Перезагружаемся.
При загрузке системы происходит автозагрузка файла **2-display-off** находящегося в папке **/Startup/**, команда, содержащаяся в нем исполняется и монитор VGA-0 отключается.
\\ Получается - загрузка "по-умолчанию" с одним монитором DVI-0 (причем с разрешением 1920x1200).
\\ Итак, **режим 1** - сделан!
Теперь делаем оперативное переключение между **режимом 2 и 3**, для этого обращаемся к **xfce-настройкам**.
Сначала идем в: Диспетчер настроек > Клавиатура > вкладка Комбинации клавиш > Добавить.
\\ В окне Команда выбираем в папке **/usr/bin/** созданный ранее нами файл **2-display-on**, нажимаем ОК и задаем этой команде клавишу F12.
\\ Повторяем, но теперь в окне Команда выбираем в папке **/usr/bin/** созданный ранее файл **2-display-off**, нажимаем ОК и задаем этой команде клавишу F11.
\\ Логика выбора клавиш простая - удобство для запоминания - последняя цифра обозначает количество работающих мониторов.
Далее устанавливаем размещение панели (из пункта 3 мы уже знаем - как это делать).
\\ Для этого идем в настройки панели: Диспетчер настроек > Панель > закладка Экран > пункт Вывод
\\ Видим варианты настроек Вывода:
* Автоматически;
* VGA-0;
* DVI-0.
Устанавливаем - "DVI-0".
И завершающий этап - сохранение настроек для работы **режимов 2 и 3**.
\\ Сохранение **xfce-настроек** делается через создание pfs-сохраненки штатными средствами, через: Настройки > Создание файла сохраненной сесии (pfs--сохраненки)
\\ Наконец **режимы 2 и 3** - сделаны!
Перегружаемся и проверяем - что получилось:
* **режим 1** - после загрузки - включен один монитор - DVI-0 с разрешением 1920x1200;
* **режим 2** - клавиша F12 - включает два монитора - VGA-0 с разрешением 1280x1024 и DVI-0 с разрешением 1920x1200, расширяет Рабочий стол на оба монитора, причем (как я и хотел) DVI-0 справа и имеет панель;
* **режим 3** - клавиша F11 - включает один монитор - DVI-0 с разрешением 1920x1200.
**Все РАБОТАЕТ!**
=====Заключение=====
Ну вот, с настройкой двух мониторов для себя - разобрался.
\\ Варианты модуля для настройки другого расположения 2-х мониторов - делаются аналогично.
Внимание: модуль НЕ универсальный!
\\ Он содержит индивидуальные настройки подключенных у меня мониторов!
\\ Для создания своего модуля Вам необходимо подставить свои значения всех приведенных в статье настроек (разрешение экрана, наименование мониторов, порядок расположения мониторов и т.д.).
Описанный в статье модуль предназначен для **pra02-1409fat-xfce** и позволяет выполнять включение:
* одного монитора (из двух подключенных) по-умолчанию при загрузке системы;
* двух мониторов по клавише F12 (с растяжкой Рабочего стола);
* одного монитора по клавише F11.
Примечание (дополнено 26.09.2014):
\\ Обнаружен недостаток xfce - проявляющийся при включении режима "прозрачности" одновременно с работой 2-х мониторов.
\\ Он проявляется только в случае, если при работе в режиме с расширением Рабочего стола на оба монитора, Вы одновременно включите режим "прозрачности" (Диспетчер настроек > Диспетчер окон (дополнительно) > вкладка Эффекты > пункт Включить эффекты) - тогда экран большего монитора обрезается по размерам экрана меньшего монитора.
\\ Это относится к Панели, и к тем элементам окон, для которых настроена "прозрачность".
\\ Отключение в Диспетчере настроек режима "прозрачности" - восстанавливает нормальную работу 2-х мониторов.
{{tag>новичок info Puppy PRA PuppyRus-A}}
=====Состояние статьи=====
^ качество | ? |
^ актуальность |актуально|
^ приоритет | ? |
^ меры по улучшению | ? |
^ ::: |...|