Дано: Компьютер с установленной операционной системой Debian Linux 5.0 (Lenny), среда Gnome, видеокарта nVidia GeForce 900GT, 2 монитора, желание.
Надо: Настроить вывод изображения на 2 монитора, причём один должен быть продолжением другого.
Решение: Предполагается, что пользователь работает в графической среде и ориентируется в файловой системе Linux.
Уровень пользователя: средний, умеющий устанавливать пакеты и работать в текстовом редакторе

Несколько слов о подключении мониторов к видеокарте

По умолчанию, вывод изображения, начиная с процесса загрузки и тестирования BIOS, идёт на основной выход если на нём был обнаружен монитор, иначе видеокарта выдаёт изображение на первый подключённый монитор независимо от выхода. Иллюстрирует такую работу следующий пример: Автор, до установки второго монитора работал на стареньком трубочном мониторе LG Flatron T710BH, который подключался к аналоговому выходу видеокарты. Вся информация с момента включения компьютера отображалась именно на нём. После подключения второго монитора к цифровому выходу видеокарты, вывод изображения пошёл на второй монитор, а первый оставался в спящем режиме. Так как автор принципиально не использует gdm 1), а загружает X вручную после входа в систему из консоли, особых проблем не возникло. А если пользователь после загрузки сразу попадает в графический режим, возможен вариант, что изображение будет выдаваться на ещё не настроенный монитор. В случае выхода параметров частоты развёртки за пределы для данного монитора, последний может выключиться и дальнейшую настройку невозможно будет сделать.

Если Вы подключаете однотипные мониторы, можно сразу подключить их и выполнять настройку. В другом случае будет лучше произвести настройку на уже работающем мониторе, а только потом подключить второй.
Полезно будет также найти информацию о частотах развёрток (Vsync, Hsync), поддерживающих Вашими мониторами.

Наверно, самым универсальным способом подключения будет такой порядок действий:

  1. Определить, какой выход является основным для видеокарты.
  2. Расставить и подключить мониторы так, чтобы вывод изображения с самого начала загрузки производился на нужный монитор.
  3. Попробовать запустить X-сессию с уже подключёнными мониторами. Если какой-то монитор выйдет из нормального режима работы, и получится что основной экран будет недоступен, можно на время переключить монитор на другой выход видеокарты.
  4. Настроить режимы (разрешение и частоты развёрток) обоих мониторов, чтобы пошёл вывод изображения на оба монитора.
  5. Выбрать режим отображения изображения - "дубль" или "продолжение" основного монитора.

Установка аппаратных драйверов для видеокарты nVidia

Перед тем, как приступить к собственно настройке, необходимо установить аппаратные драйвера для имеющейся видеокарты. О том как это сделать описано в одной из наших статей.

Если драйвер установился нормально, о чём свидетельствует нормальных запуск X и быстрая графика в tuxracer, продолжаем процесс настройки.

Установка дополнительных пакетов

Делаем резервную копию файла конфигурации X, на тот случай, если что-то не пойдёт:

# cd /etc/X11
# cp xorg.conf xorg.conf.bak

Доустанавливаем, следующие пакеты, если ещё не установлены:
* nvidia-xconfig - программа для конфигурирования адаптеров nVidia,
* libxinerama1 - библиотека расширения X11 Xinerama,
* libdmx1 - библиотека расширения для распределённого вывода избражения на несколько мониторов для X11.

# apt-get install nvidia-xconfig libxinerama1 libdmx1

Возможно apt установит пакетов больше для разрешения зависимостей - так нужно. После установки, на всякий случай перезагружаем компьютер.

Настройка режимов мониторов

Теперь необходимо настроить параметры режима работы каждого монитора.
В графическом режиме, от root`а запускаем программу конфигурирования видеоадаптера:

# nvidia-settings

Прим.
Если запускать nvidia-settings не от root`а, программа не сможет сделать запись в файл xorg.conf и тем самым сохранить настройки.

Идём в секцию "X Server Display Configuration"

Список мониторов

Подключаем второй монитор и нажимаем "Detect Displays". Программа найдёт подключенные мониторы и в строке "Model" появится список из 2-х мониторов. Здесь нам пригодятся значения поддерживаемых режимов и частот развёрток.

Выбираем первый монитор и настраиваем для него параметры разрешения и частоты развёртки в строке "Resolution". Настройка других параметров нам пока не нужна. Жмём "Apply", программа попытается применить параметры развёртки для выбранного монитора. Если параметры не выходят за рабочие пределы, монитор сконфигурируется и начнёт работать, при этом нужно будет в появившемся "окне принятия параметров" нажать "ОК".

Окно принятия параметров

В случае если монитор погас или ушёл в спящий режим, нужно ничего не нажимая, подождать 10…15 секунд и программа вернёт старые параметры, после чего нужно выбрать другие параметры и также проверить их. Таким же образом конфигурируется и второй монитор.

Затем выбираем монитор, который будет основным, так если по умолчанию, при запуске Х, изображение основного экрана будет выведено на него. Ставим галочку на "Make this primary display for the X screen".

Окно выбора режима работы монитора

Теперь настраиваем режим работы мониторов.
В строке "Configuration" нажимаем на "Configure" и выбираем режим "TwinView". Этот режим обеспечивает распределение одного логического рабочего экрана (программного) на два физических (монитора). Режим "Separate X screen" производит разделение на логические экраны.

Настройка положения мониторов

Выбираем основной монитор и в строке "Position" выбираем его нужное положение:

  • Absolute - в этом режиме, путём манипуляции координат в окне справа, можно произвольно управлять наложением экранов,
  • Right of - выбранный монитор располагается справа,
  • Left of - слева,
  • Above - сверху,
  • Below - снизу,
  • Clones - выбранный монитор показывает тоже самое что и другой.

Работа каждого режима отображается в виде картинки сверху, в поле "Layot".

Окно сохранения параметров

Теперь жмём "Apply" и проверяем нашу конфигурацию. Если всё устраивает, можно сохранить конфигурацию кнопкой "Save to X Configuration File" и рестартовать компьютер (иксы). Если X не запустились по каким-то причинам, нужно перейти в свободный текстовый терминал, зарегистрироваться под root`ом и восстановить xorg.conf из бэкапа.

На всякий случай, документы и ссылки на "Рабочем столе" лучше держать на основном мониторе :-)

1) Программа gdm является графическим эквивалентом консольного приглашения login: — она рисует окно с приглашением и запускает X-сеанс для указанного пользователя.
Печать/экспорт