Двойное выравнивание монитора в Ubuntu 12.04

16

Я запускаю Ubuntu 12.04 на ноутбуке на док-станции с двумя мониторами (оба внешних), настроенными, как показано ниже (где монитор 1 является основным, а монитор 2 повернут на 90 градусов).

   1680x1050      1920x1080

                  _________
                 |-->      |
                 |         |
                 |         |
 _____________   |    2    |
|          -->|  |         |
|             |  |         |
|      1      |  |         |
|_____________|  |_________|

На рисунке выше перемещение указателя по стрелке на мониторе 1 приведет к появлению указателя на мониторе 2 в месте, указанном стрелкой на мониторе 2. Таким образом, мой рабочий стол выравнивается в верхней части обоих мониторов.

Это не то, что я хочу. Я хочу, чтобы монитор 1 оставался основным, чтобы строка меню (с использованием gnome-session-fallback) находилась вверху монитора 1, но я хочу, чтобы нижние части мониторов 1 и 2 были выровнены. Другими словами, я хочу настройки, показанные ниже:

   1680x1050      1920x1080

                  _________
                 |         |
                 |         |
                 |         |
 _____________   |    2    |
|          -->|  |-->      |
|             |  |         |
|      1      |  |         |
|_____________|  |_________|

Переходя в Приложения> Системные инструменты> Системные настройки> Дисплеи, я вижу следующее:

Настройки экрана

Очевидным очевидным решением моей проблемы было бы просто перетащить мониторы в настройках дисплеев так, чтобы они были выровнены по нижней части. Однако это вызывает нежелательное поведение. В частности, это приводит к тому, что воспринимаемая область монитора 1 увеличивается за счет предположительно разницы между высотой монитора 1 и высотой монитора 2 (после поворота, то есть, как показано на моих рисунках выше). Другими словами, после попытки этого решения, мой компьютер думает что мои мониторы выглядят следующим образом:

  1680x(1920?)    1920x1080

 _____________    _________
|          -->|  |-->      |
|             |  |         |
|             |  |         |
|_____________|  |         |
|             |  |         |
                 |         |
|    FALSE    |  |         |
                 |         |
|_  _  _  _  _|  |_________|

Поэтому все, что помещается в область «ЛОЖЬ», не видно, потому что монитор недостаточно велик для отображения этой области. Например, если я запускаю Conky с настройками, настроенными так, что дисплей Conky появляется в нижнем левом углу моего рабочего стола, то Conky не будет отображаться, потому что он находится в области FALSE. Кроме того, если я неоднократно добавляю элементы или ярлыки на рабочий стол, в конечном итоге элемент будет помещен в область ЛОЖЬ (поскольку элемент по умолчанию размещается в незанятом месте на рабочем столе).

Любая идея, как я могу достичь того, что я хочу здесь? (Например, есть ли какой-нибудь способ «поднять» указатель на определенное количество пикселей по вертикали, когда он проходит от монитора 1 к монитору 2, и наоборот?)

synaptik
источник
6
Вы заслуживаете награды за то, что задали этот вопрос так, как у вас ... форматирование в лучшем виде .. :)
Aditya

Ответы:

7

Вы можете легко установить желаемое положение двух экранов с помощью опции --pos предложенной команды xrandr.

В вашем случае это будет что-то вроде:

xrandr --output LVDS1 --mode 1680x1050 --auto --output VGA1 --mode 1920x1080 --rotate right --pos 1680x0

Для моей очень похожей установки это создает два горячих угла в любом из моих двух экранов в gnome-shell. Не знаю о запасной среде, хотя.

Обратите внимание, что вы должны настроить идентификатор «--output» в соответствии с теми, которые были возвращены командой xrandr | grep connected.


xrandr --output $1 --mode 1680x1050 --primary --auto --pos 0x240 --output $2 --mode 1920x1080 --rotate right --pos 1680x0

Это должна быть правильная команда. Думайте о вашем рабочем столе как об огромном объединенном изображении размером 2730x1920. Основной дисплей (определяется --primaryи не должен быть первой конфигурацией дисплея в опциях) расположен на 240 пикселей ниже верхней части, чтобы выровняться со вторым монитором внизу. Вместо --pos 1680x0второго монитора также может быть выровнена --right-ofопция. Конечно, вам нужно заменить $1и $2на правильные имена соединений, как упомянул Nix.

При такой настройке Conky должен отображаться правильно, когда настроен для выравнивания по левому нижнему углу, так как это пространство теперь видно. Когда он выровнен по верхнему левому краю, вам нужно добавить 240 пикселей в этом примере. Часть с ярлыками на рабочем столе звучит как ошибка. Я рекомендую не использовать много ярлыков на рабочем столе или вообще не использовать их. :)

Вы также можете оставить --modeопции, так как это --autoуже сделано.

Nixblicker
источник
8

Вы пробовали arandr? Это графический интерфейс для Xrandr, и он идеально подходит для работы с несколькими мониторами / разрешениями.

sudo aptitude install arandr

Здесь и далее вы можете увидеть интерфейс. С помощью зеленой галочки вы можете применить текущую разметку экрана, а также ее к файлу, который в основном содержит команду xrandr, чтобы выполнить ее в любое время, например, при запуске системы.

введите описание изображения здесь

notageek
источник
Используя arandr, я получаю то же поведение, что и при использовании настроек дисплеев GNOME.
синаптик
-1

Открыть Дополнительные драйверы:

Start--Preferences--Additional Drivers

Установите рекомендуемые драйверы для вашего ноутбука. После успешной загрузки и установки система перезагрузится. После перезагрузки у вас будет программное обеспечение драйвера (Nvidia или ATI), запустите его от имени администратора, и вы будете гораздо лучше контролировать свои мониторы, чем Arandr (или подобное программное обеспечение). Установите нужные настройки, сохраните и перезагрузите компьютер. Это должно быть так. Это сработало для меня.

Ален Т
источник