Подключение двух мониторов в Linux
Материал из Kalcho
Подключение двух мониторов в openSUSE 11.3 (KDE 4.4)
Два подключенных монитора распознаются автоматически.
Проблема только в их оптимальных настройках.
По умолчанию изображения мониторов были клонированы, а толку в этом немного.
Изменить настройки мониторов можно в утилите Меню -> Applications -> Configure Desktop -> Computer Administration -> Display -> Size & Orientation. Там можно задать разрешение и частоту обновления каждого монитора, а также их взаимное расположение.
Все настраивается просто и понятно, но, как оказалось, при перезапуске системы все настройки сбрасываются. Судя по форумам, это баг KDE и он будет исправлен в версии 4.6. Чтобы уже сейчас не настраивать мониторы при каждом включении компьютера нужно идти на ухищрения.
Как и в графической утилите Configure Desktop, мониторы можно настраивать из консоли с помощью утилиты xrandr. Если набрать xrandr в консоли, то будут показаны названия мониторов и список режимов каждого монитора. Несколькими вызовами xrandr можно задать нужные параметры каждого монитора. Подобрав подходящие параметры, можно записать их в какой-нибудь скрипт автозапуска. Подходящим является файл /etc/X11/xdm/XSetup. Вот только строки нужно добавлять не в конец, т.к. до конца файла выполнение может и не дойти. В этом файле уже есть кое-какие операции с Xrandr - в то же место можно вставить и наши строки. Мне подошли такие:
xrandr --output VGA-1 --auto xrandr --output DVI-I-1 --auto xrandr --output DVI-I-1 --preferred xrandr --output DVI-I-1 --primary xrandr --output VGA-1 --left-of DVI-I-1
Первая строка выбирает автоматические параметры для VGA-монитора; строки со второй по четвертую выбирают автоматические параметры для DVI-монитора и назначают его основным; пятая строка указывает, что VGA-монитор должен располагаться слева от DVI.
После перезагрузки почти все свойства мониторов оказались такими, как нужно. Только частота обновления DVI-монитора была 60 Гц вместо возможных 75. Добавление к xrandr ключа --refresh не помогло. Нужную частоту задать получилось только с помощью специального режима. Сначала нужно уведомить xrandr о том, что существует режим 1280x1024 с частотой 75 Гц. Для этого нужно указать xrandr специальную строку. Сгенерировать эту строку можно с помощью команды cvt:
cvt 1280 1024 75
В параметрах указываются желаемая ширина, высота и частота обновления. Эта команда показывает следующую строку:
Modeline "1280x1024_75.00" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync
Всю строку после слова Modeline нужно указать утилите xrandr:
xrandr --newmode "1280x1024_75" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync
Теперь нужно указать, для какого монитора добавлен режим:
xrandr --addmode DVI-I-1 1280x1024_75
И для использования этого режима нужно выполнить команду:
xrandr --output DVI-I-1 --mode 1280x1024_75
Добавив три последних вызова xrandr в тот же скрипт XSetup, я получил то, что нужно. Причем действия с режимами нужно сделать уже после остальных действий xrandr (в частности после установки ключей --preferred и --primary), иначе частота обновления не изменится.