Харьков Форум
  Харьков Форум > Hi-Tech... > Софт

Старый 26.02.2009, 22:52   #1
iskach

 
 
Регистрация: 2.04.2007
Адрес: Харьков
Сообщений: 30
 
По умолчанию Linux multiseat.(1 корпус - 2 рабочих места)

Вот, решил поделиться своим опытом создания мультисита; Писал сам, хотя и по материалам из инета. Может кому будет интересно.

MultiSeat с использованием Linux.

Multiterminal(Multistation, Multiseat) всеми этими терминами обозначают станцию, предназначенную для одновременной работы нескольких пользователей. Количество пользователей может достигать шести, это зависит уже больше от аппаратного обеспечения.

В интернете существуют статьи, которые описывают создание Multiseat шаг за шагом(см. ссылки[1-4]), но проблема заключается в том, что успешность того или иного подхода зависит от аппаратного обеспечения.
Потому внимание я хочу уделить не столько вопросу "как", сколько вопросу "почему".

Я реализовывал свой домашний multiseat на Slackware 12.1.
Рабочий терминал состоит из:
Терминал 1:
-PS/2 мышь, PS/2 клавиатура.
-монитор PHILIPS 190C
Терминал 2:
-USB мышь, USB клавиатура.
-монитор Samsung 765MB
В моем случае присутствовали две видеокарты, ATI PCIe и Nvidia интегрированный.Как оказалось в дальнейшем, не самый удобный для настройки выбор.

Подходы к созданию Multiseat:

Существует два принципиально отличающихся подхода при создании Multiseat:
1) Запускается два X сервера, которые работают параллельно для каждого рабочего места[3]. Для первого способа необходима два видеоадаптера.

2) Запускается три X сервера, один работает на два рабочих места, в режиме Xinerama, а два других, вложенных(как правило Xephyr, Xgl) работают на нем как на фоне. Один в одном окне, а другой во втором. Притом каждому передаются параметры отвечающие за устройства ввода при запуске. Второй способ естественно более ресурсоемкий, на него накладываются ограничения вложенного сервера (Xephyr, Xgl) вроде отстуствия поддержки 3D, но как правило второй может использоваться там, где первый способ настроить не удается[4].
Для второго способа достаточно одного видеоадаптера с DualHead, Например на DVI и CRT.

В руководствах [3,4] довольно хорошо описан процесс настройки. Но, хотелось бы, обратить внимание на такие подводные камни, лишь чуть затронутые в этих статьях.


1) Не все видеокарты будут работать вместе. Как это не грустно, но такое случается. Потому, прежде чем покупать вторую видеокарту, нужно таки попробовать.
2) Лучше работать на видеокартах одного производителя. Хотя бы из-за драйверов, которые нужно устанавливать два раза, и очень часто выбирать между проприетарными и бесплатными аналогами. Опять таки-прежде чем покупать - пробовать.
3) USB клавиатура и мышь могут вместе не работать. Особенно самые дешевые. Со мной был именно такой случай- пришлось менять.
4) Драйвера. Как правило открытые драйвера подходят. Но если, возникает черный экран и странное сообщение о содержимом BIOSa - качайте проприетарные. Начинайте с последней версии, если не помогает - ищите в интернете, на какой версии нормально работало и качайте ее. Например в моем случае, была ситуация когда работало через один билд. Хотите 3D? Тогда все таки устанавливайте проприетарные драйвера, они как правило более функциональны, особенно со свежими карточками.
5)Какую карту инициализировать первой в BIOS при загрузке компьютера? Очень часто, порядок инициализации будет критичен.
6)evdev работает с идентификаторами событий от устройств(event-id). Некоторые USB устройства меняют свои event-id при перезагрузке. Решение-делать скрипт обертку, лдибо рыться в настройках инициализации USB устройств. Либо - может помочь перегазгрузка. Данная проблема особенно актуальна для второго варианта.
6)Как правило, инициализировать два сервера одновременно не получается. Если вы счастливый обладатель PCI видеокарты - вам поможет IsolateDevice.Для PCIe IsolateDevice - не поможет. Нужно запускать сервера по очереди.
7)Если у вас Nvidia и она при инициализации зависает - попробуйте NoInt10 - может помочь.
8)Какой бы из двух вариантов настройки вы не выбрали бы - настраивать серверанужно по одному! Быстрее будет.

Вопросы:Сделал все как в мануалах, конфиг правильный, а не работает!

Вкратце, алгоритм выявления и устранения неисправностей для первого варианта такой:
1) Настроить один сервер для одной видеокарты. Сохранить конфиг.
2) Настроить второй сервер для второй видеокарты.
3) Запустить поочередно. Если запускаются один после другого - значить проблема практически решена - теперь сводить их вместе. Если нет - 4.
4) Обновить драйвера, Сменить порядок инициализауии в BIOS, пробовать дополнительные параметры xorg.config. Обязательно вести учет перепробованных изменений.
5) Проблема с клавиатрами и мышками - внимательно настроить evdev, Проверить работоспособность устройств выводя содержимое /dev/*** на консоль и нахимая клавиши/двигая мышью.
6) Время от времени, перезагружает один из серверов - увеличить размер свопа, добавить оперативы, сменить оконный менеджер на более легкий.

В продолжении, если затронутая тема будет интересна, разберу конфиги на свою систему, с пошаговым руководством.

Ссылки(были, но первые 20 сообщений на форуме не должны содержать ввв, ком, нет, уа и т д):


    Вверх
Старый 28.02.2009, 12:52   #2
oldcolony


 
Регистрация: 20.08.2007
Адрес: Харьков
Сообщений: 2,350
 
По умолчанию
Интересно. Задача такая пока не стояла,но галочку в уме поставлю


    Вверх
Старый 28.02.2009, 21:24   #3
dr. Unk


 
Регистрация: 15.04.2007
Адрес: ----->
Сообщений: 8,418
По умолчанию
Скажите ТС - а проблемы с корректным отображением grp_led на usb-клавиатурах уже решили?
Помнится в далеком 2000м именно они меня больше всего раздражали...


__________________
А слова мои всегда простЬ!
    Вверх
Старый 1.03.2009, 09:04   #4
iskach

 
 
Регистрация: 2.04.2007
Адрес: Харьков
Сообщений: 30
 
По умолчанию
Цитата:
Сообщение от dr. Unk
Скажите ТС - а проблемы с корректным отображением grp_led на usb-клавиатурах уже решили?
Помнится в далеком 2000м именно они меня больше всего раздражали...
Для работы с USB клавиатурой пользуюсь driver evdev.
grp_led работает нормально

Например лампочка scrollLock корректно отображает язык ввода для вот такой строки:
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
USB Клавиатура вроде бы Genius(цена 70 грн с мышкой, год назад).


    Вверх
Старый 1.03.2009, 13:07   #5
dr. Unk


 
Регистрация: 15.04.2007
Адрес: ----->
Сообщений: 8,418
По умолчанию
Цитата:
Сообщение от iskach
Для работы с USB клавиатурой пользуюсь driver evdev.
grp_led работает нормально

Например лампочка scrollLock корректно отображает язык ввода для вот такой строки:
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
USB Клавиатура вроде бы Genius(цена 70 грн с мышкой, год назад).
И при переключениях в разных терминалах?
И еще вопрос: не пробовали несколько юсбшных клав , как с несколько отрабатывают с grp_led
ЗЫ
Пасиб


__________________
А слова мои всегда простЬ!
    Вверх
Старый 1.03.2009, 16:02   #6
iskach

 
 
Регистрация: 2.04.2007
Адрес: Харьков
Сообщений: 30
 
По умолчанию
Цитата:
Сообщение от dr. Unk
И при переключениях в разных терминалах?
И еще вопрос: не пробовали несколько юсбшных клав , как с несколько отрабатывают с grp_led
ЗЫ
Пасиб
При переключении в разных терминалах - нормально. Теоретически могут быть проблемы, когда работаешь в виде вложеных серверов Xephyr: но там вроде бы патч на evdev специальный.

Несколько юсбишных - не пробовал.


    Вверх
Старый 1.03.2009, 22:11   #7
dr. Unk


 
Регистрация: 15.04.2007
Адрес: ----->
Сообщений: 8,418
По умолчанию

*Нда евдев.. эхх а мы руками....


__________________
А слова мои всегда простЬ!
    Вверх
Старый 10.03.2009, 13:02   #8
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
Можно ли создать multihead+multiseat
и подскажите проблемму с evdev и всякими переключениями клавиатур, корректностью клавиш,стрелок.
Если можно не поделитесь конфигами?


    Вверх
Старый 10.03.2009, 20:44   #9
iskach

 
 
Регистрация: 2.04.2007
Адрес: Харьков
Сообщений: 30
 
По умолчанию
Цитата:
Сообщение от Volodyak
Можно ли создать multihead+multiseat
и подскажите проблемму с evdev и всякими переключениями клавиатур, корректностью клавиш,стрелок.
Если можно не поделитесь конфигами?
multihead+multiseat(т.е. условно говоря три монитора и два рабочих места?) - думаю да, если Xephyr на одном мониторе поверх Xinerama на три монитора.

По поводу evdev - необходимость внесения правок, и сам характер правок зависят от вашего дистрибутива.

Конфигом - поделюсь. Конфиг для моей системы на два монитора на двух разных видеокарточках(т.е. без Xephyr).
Вложения
Тип файла: txt xorg.conf.txt (4.3 Кб, 107 просмотров)


    Вверх
Старый 13.03.2009, 04:37   #10
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
конфиг у меня примерно такой-же
startx -- -layout head0
startx -- -layout head1
стартуют нормально
для корректной работы evdev пришлость создать rules для hal,
но при старте стартует только одно рабочее место, а на втором X сваливаются в ошибке
карточка для dualhead "Nvidia" в чем может быть дело??


    Вверх
Старый 13.03.2009, 11:10   #11
oldcolony


 
Регистрация: 20.08.2007
Адрес: Харьков
Сообщений: 2,350
 
По умолчанию
А ошибка какая? Чтото мне думается, что проблема с правами вывода на второй иксовый дисплей


    Вверх
Старый 16.03.2009, 04:15   #12
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
Вроде так и есть проверял на Nvidia 8500GT 1-d-sub 1-Dvi первый сеанс стартует, а второй ругается на EVO dma и т.д


    Вверх
Старый 16.03.2009, 12:52   #13
oldcolony


 
Регистрация: 20.08.2007
Адрес: Харьков
Сообщений: 2,350
 
По умолчанию
xhost + не поможет?


    Вверх
Старый 16.03.2009, 14:26   #14
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
Я хочу стартануть на одной машине и одной видео 2 X сервера по одиночке они стартуют, а одновременно один стартует, а во втором лог прилагаю.
Вложения
Тип файла: txt Xorg.1.log.txt (24.4 Кб, 81 просмотров)


    Вверх
Старый 16.03.2009, 14:41   #15
oldcolony


 
Регистрация: 20.08.2007
Адрес: Харьков
Сообщений: 2,350
 
По умолчанию
Нда. Это что-то с клавиатурой, похоже


    Вверх
Старый 17.03.2009, 07:44   #16
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
Извините послал не тот лог
Вложения
Тип файла: txt Xorg.0.log.txt (22.9 Кб, 103 просмотров)


    Вверх
Старый 17.03.2009, 11:36   #17
oldcolony


 
Регистрация: 20.08.2007
Адрес: Харьков
Сообщений: 2,350
 
По умолчанию
http://ubuntuforums.org/showthread.php?t=408136
Наскока понял, принципиально создать два конфига для xorg и запускать каждый x со своим конфигом


    Вверх
Старый 17.03.2009, 12:34   #18
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
Причем тут 2 конфига?? Ощущение что при попытке старта второго сервера драйвер nvidia не может делить ресурсы. Существует ли возможность создать такой мультисит???


    Вверх
Старый 18.03.2009, 22:18   #19
iskach

 
 
Регистрация: 2.04.2007
Адрес: Харьков
Сообщений: 30
 
По умолчанию
Цитата:
Сообщение от Volodyak
Причем тут 2 конфига?? Ощущение что при попытке старта второго сервера драйвер nvidia не может делить ресурсы. Существует ли возможность создать такой мультисит???
Скорее всего да.
Для этого такая примерно тактика:
1) Настроить оба рабочих места по отдельности. Т/е/ когда работает только один монитор.
2) Настроить Xinerama (один рабочий стол на два монитора)
3) Настроить два Xephyr'a

Если получилось настроить 2й пункт - то мультисит настроить однозначно можно.


    Вверх
Старый 19.03.2009, 04:59   #20
Volodyak

 
Регистрация: 10.03.2009
Сообщений: 8
 
По умолчанию
В том-то и вопрос отдельно рабочие места настроены.
запустить одновременно 2 X сервера не получается драйвер видео не может быть загружен 2 раза.
2) Настроить Xinerama (один рабочий стол на два монитора)
3) Настроить два Xephyr'a
Можно ли нормальную инструкцию на русском или английском либо ссылку.(желательно с настройкой kdm)
Либо реальные советы.


    Вверх

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Харьков Форум > Hi-Tech... > Софт

Быстрый переход



© Харьков Форум, 2003-2019