В преддверии планируемого Summer of Animation, возникла необходимость настройки компьютера как многоместной системы — т.е.: один компьютер, два монитора, две клавиатуры, две мыши.
На эту тему уже накопилось достаточно статей, но все они описывают вариант с использованием двух видеокарт. Т.е. по одной видеокарте на каждый монитор. У меня же только одна видеокарта — с двумя выходами.
В конце концов наткнулся на решение настройки multiseat через Xgl.
Вот что нужно сделать для настройки multiseat на одной видеокарте. (описано для Fedora 7, но для других дистрибутивов последовательность шагов в примерно та-же).
- Ставим Xgl (http://nicofo.tuxfamily.org/dotclear/index.php/2007/02/23/25-automatic-installation-of-xgl-compiz-and-beryl-on-fedora)
- После инсталляции удалите файлы /usr/share/xsessions/xgl.desktop и /usr/share/xsessions/xgl-kde.desktop — эти файлы отвечают за дополнительные сессии в gdm. В нашем случае многоместной системы выбор этих сессий приводит к ошибкам (панели пользователя, зашедшего на второй экран появляются на первом).
- Настраиваем multiseat по руководству: http://research.edm.uhasselt.be/~jori/page/index.php?n=Misc.DualSeatX
- Там на странице есть ссылочка на howto.txt, где подробна описана последовательность шагов для настройки multiseat через Xgl.
- Все необходимые файлы расположены там-же.
- Необходимый Xevdevserver лежит здесь.
- Параметры ‘-accel’ для своей карточки Nvidia (которые указываются при запуске Xgl-сервера в /etc/gdm/custom.conf) я подсмотрел здесь. Кому лень смотреть, эти параметры: -accel glx:pbuffer -accel xv:fbo
- Чтобы на рабочих местах работал автоповтор с клавиатуры, каждому пользователю в ~/.bash_profile добавляем строчку: ‘xset r on’ (подсмотрено здесь)
В итоге этот вариант мне пока больше нравится чем даже с двумя видеокартами, т.к он значительно стабильнее (нет глюков, когда засыпание одного монтитора уводит в даун другой и пр.). Он гораздо гибче, т.к. позволяет не только создать multiseat на одной видеокарте, но даже multiseat на одном мониторе. Плюс, на каждом рабочем месте поддерживается аппаратное ускорение 3D.