Вход:  Пароль:  
FreeSource: AltLinux/Dokumentacija/Multistation ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Пока это только черновик


Введение
Первая проблема с которой я столкнулся, разыскивая информацию по этой теме – это терминология. Multiseat, multistation, multiterminal – всё это термины, обозначающие рабочую станцию, предназначенную для одновременного использования несколькими пользователями (также multihead workstation). Естественно, для каждого пользователя необходимы персональные монитор, клавиатура и мышь. Соответственно, должна быть возможность подключить всё это к мультистанции, тоесть нужное количество видеовыходов на видеокарте(видеокартах) и USB либо PS/2 входов для клавиатур и мышей.
Ниже описывается настройка мультистанции для двух рабочих мест.


Оборудование и ПО
Hardware:

некая рабочая станция
двуголовый (dualhead) видеоадаптер Nvidia Ge Force? FX 5500
монитор Sony,
монитор Nec,
клавиатура белая PS/2,
клавиатура чёрная USB,
мышь черная PS/2
мышь черная с полоской USB.

Software:

ALTLinux branch 4.0.

Постановка задачи и проблемы
Наша задача – получить на каждом мониторе отдельный X-сервер со своими клавиатурой и мышью. Основная проблема заключалась в том, что это достаточно просто на двух разных видеокартах и вероятно невозможно(судя по не которым почтовым рассылкам) на двуголовой видеокарте. После продолжительного гугления удалось найти замечательное руководство именно на эту тему, где был предложен вариант решения проблемы с помощью компонента Xorg под названием Xephyr из пакета xorg-x11-xephyr. Что такое Xephyr? Xephyr представляет из себя полноценный X-сервер, который выполняется поверх другого X-сервера. Он создан для тестов и отладки графических программ, однако он как нельзя лучше подойдёт для нашей задачи. Тоесть запускать мы будем всё же один X-сервер, а поверх него уже X-сервера для каждого рабочего места.
Вторая проблема – отсутствие поддержки evdev в Xephyr – решается с помошью этогопатча


Установим драйверы
Для начала установим нужные драйверы. Для Ge Force? FX 5500 подойдёт legasy-драйвер версии 9639. К сожалению, на момент написания статьи в branch4 их ещё не было. По-этому подключаем apt-репозторий сизифа или качаем вручную с ftp.altlinux.org и устанавливаем:

Внимание: на момент написания статьи планировалось совместить текущие драйверы и legacy-драйверы в одном пакете: будьте внимательны, названия пакетов могут измениться


настройка Xorg
Тут наша задача увидеть работающий X-сервер на обоих мониторах одновременно.
Для начала конфигурируем мониторы. Монитор Sony был сконфигурирован инсталлятором дистрибутива автоматически. Я добавил второй монитор – LG:

Теперь добавим конфигурацию для нашей видеокарты. Для этого создаётся две одинаковые секции device в xorg.conf но с разными параметрами Screen, означающими разные «головы» видеокарты:


Создадим две секции Layout. Одну для «одноголовой» конфигурации и вторую для «двуголовой». Различаются эти секции только параметрами Screen.


Так же понадобится отключит сочетание клавиш ctrl+alt+backspace, убивающее X-сервер, в секции Server Flags?:


В целом, мой xorg.conf выглядит вот так:


Запустите X и убедитесь что оба ваших монитора работают:

Если вы не увидели работающего X-сервера читайте логи и исправляйте xorg.conf


Далее нам бы установить Xephyr, но в текущей его версии отсутствует поддержка evdev. Нам без evdev никак, по этому вам надо либо самостоятельно пропатчить xorg-x11-server, либо взять уже пропатчиную версию здес
ь. Надеюсь исправления скоро попадут в дистрибутив и установка станет проще.



Ещё раз проверьте, что всё у вас запускается и можно двигаться дальше. Итак, с мониторами разобрались, теперь разберёмся с клавиатурами и мышами.


Смотрим, как у нас обстоят дела с устройствами:


Следующая проблема, которую необходимо решить, состоит в том, что после перезагрузки сменится event id. Для этого в файле /usr/sbin/Xephyr.sh разместим скрипт-обёртку для xephyr:

Поскольку device id не меняется после перезагрузок, этот скрипт связывает event id и нужную нам клавиатуру или мышь.


Так же этот скрипт-обёртку можно установить из репозитория Sisyphus:



Так же установите скрипт для более удобного запуска xephyr c evdev и конфиг для kdm (либо для gdm, если используете его)


multistation-scripts kdm-multistation-config (либо gdm-multistation-config)


и найдите нужные значения Phys для ваших устройств. В соответствии с ними выставите параметры -kbdphys и -mousephys в файле ...


Прописать display manager в /etc/sysconfig/desktop : для gdmGNOME, для kdmKDE.


Перезапустите X. Всё готово.

Ссылки

1. Альтернативный вариант с запуском Xgl вместо Xephyr
http://research.edm.uhasselt.be/~jori/page/index.php?n=Misc.DualSeatX



 
Файлов нет. [Показать файлы/форму]
Комментарии [Скрыть комментарии/форму]