======Настройка 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}} =====Состояние статьи===== ^ качество | ? | ^ актуальность |актуально| ^ приоритет | ? | ^ меры по улучшению | ? | ^ ::: |...|