Сообщение от :
а в Винде такое можно?
Сообщение от :
в Винде? в какой?? как?!!!
Сообщение от :
15.22 Как подключить к компьютеру несколько терминалов - комплектов клавиатура+мышь+монитор (multihead, многологовый)?
Хотите дать нескольким людям доступ к одной машине? Не проблема. Оригинал статьи автор (Вадим Лихота - vadim-lvv_собака_yandex.ru) обещал положить сюда - www.klv.lg.ua/~vadim/. Ну а пока оригинала нет, выкладываю сокращенную мною (jackill) версию.
Общий принцип работы
При включении компьютера для каждого рабочего места автоматически загружается отдельная копия Х-сервера. В настройках каждого Х-сервера указано, с какой клавиатурой и мышкой он работает и посредством какой видеокарты выводится изображение. Все остальные аппаратные части компьютера находятся в общем использовании. За распределением ресурсов между пользователями следит ядро системы.
Аппаратная часть
Современные наиболее распространенные видеокарточки использовать невозможно, так как на материнских платах нет второго AGP-разъема. Приходится использовать PCI видеокарты. Опыт показывает, что наиболее оптимальны из них S3 Virge и ATI Rage, так как не создают трудностей при использовании и являются наиболее доступными. Некоторые PCI видеокарты отказываются работать в качестве ведомой с какой-либо еще. Проблем не встретилось практически ни с одной видеокарточкой от S3, кроме S3TrioV+ и более старых.
Из современных клавиатур можно использовать PS/2 и USB-клавиатуры. Количество USB-клавиатур ограничивается только числом разъемов USB. Количество PS/2 клавиатур ограничивается числом разъемов PS/2 (клавиатура, вставленная в разъем мыши PS/2 будет опознана корректно).
Мыши можно подключать в разъем PS/2, USB (подозреваю, что и в COM-порт, если найдете такую - прим. jackill).
Программная часть
Настройка старых систем (на ядре 2.4 + Xfree86 и более старых) описана по следующему адресу - http://cambuca.ldhc.cetuc.puc-rio.br/multiuser/.
Далее приводится информация для свежих дистрибутивов на примере Fedora Core 3 и ASP Linux 10.
Выкачиваем измененный X-сервер отсюда - ftp://ftp.linux.cz/pub/linux/people/...xorg-dualhead/. (Здесь же можно найти патч для исходных кодов и посмотреть пример файлов конфигурации).
Вставляем наши железки: видеокарты, мыши, клавиатуры, подключаем мониторы.
Грузимся в консольном режиме ( runlevel 3). Если машина не грузится, ругаясь на клавиатуру в мышином порте PS/2, следует нажать на ней любую клавишу. То же касается asploader'а.
Расмотрим настройки для двух PS/2-клавиатур и двух USB-мышей (с двумя USB-клавиатурами бывают глюки).
Поскольку для Fedora Core и ASP Linux десктопной средой по умолчанию является Gnome, настройки для менеджера входа будут выложены для gdm.
В файле /etc/X11/gdm/gdm.conf меняем:
[server]
0=Standart
[server-Standart]
name=Standart server
command=/usr/X11R6/bin/X -audit 0
flexible=true
на
[server]
0=Standart0
1=Standart1
[server-Standart0]
name=Standart server
command=/usr/X11R6/bin/X -audit 0 vt7 -layout Layout0 -nopciaccessdisable
flexible=true
[server-Standart1]
name=Standart server
command=/usr/X11R6/bin/X -audit 0 vt7 -layout Layout1 -nopciaccessdisable -novtswitches
flexible=true
Для модульного xorg:
[server]
0=Standart0
1=Standart1
[server-Standart0]
name=Standart server
command=/usr/bin/X -audit 0 vt7 -layout Layout0 -nopciaccessdisable
flexible=true
[server-Standart1]
name=Standart server
command=/usr/bin/X -audit 0 vt7 -layout Layout1 -nopciaccessdisable -novtswitches
flexible=true
После этого настраиваются клавиатуры и мыши. При загрузке Linux'а со всеми устройствами ввода в каталоге /dev/input сопоставляются файлы event0, event1 и т. д. В дополнение к этому для мышей mouse0, mouse1, а всем мышам одновременно - mice, но при каждой загрузке это сопоставление происходит заново без оглядки на прошлую нумерацию, и чтобы это упорядочить, надо каждому конкретному устройству назначить постоянную символическую ссылку.
Посмотреть подключенные устройства ввода можно в файле /proc/bus/input/devices. Для PS/2 устройств (в нашем случае 2 клавиатуры) надо в файл /etc/udev/rules.d/10-input.rules добавить (если файла нет, то создать его):
#PS/2 keyboard
SYSFS{dev}="13:64", KERNEL="event*", SYMLINK="keyboard_one"
SYSFS{dev}="13:65", KERNEL="event*", SYMLINK="keyboard_two"
USB-устройства лучше всего различать по кодам Bus, Vendor (например у меня 046d - Logitech), Product и другим из файла /proc/bus/input/devices (если устройства одинаковые, то можно воспользоваться командой udevinfo -q path -n /dev/device & и полученный путь передать в команду udevinfo -a -p your_path; подробнее - http://www.linuxforum.ru/index.php?s...9712&hl=udev):
#USB mouse
BUS="usb", KERNEL="mouse*", SYSFS{idVendor}="046d", SYSFS{idProduct}="c50b", SYNLINK="mouse_one"
BUS="usb", KERNEL="mouse*", SYSFS{idVendor}="046d", SYSFS{idProduct}="025c", SYNLINK="mouse_two"
Перезапускаем udev:
user@localhost~$ killall udevd & /sbin/start_udev
Теперь нужно указать X серверу, что со всем этим делать в файле /etc/X11/xorg.conf. В нем прописана конфигурация для текущего состояния:
Section "ServerLayout"
Identifier "Xfree86 Configurited"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
И создать такую же секцию со "Screen1", "Mouse1" и "Keyboard1" для "Layout1".
В этом же файле ниже следует найти секцию "InputDevice" с Identifier "Keyboard0", заменить в ней протокол "Standart" на "usbev" (чтобы работа с клавиатурой шла не напрямую, а через заданные нами файлы), добавить строки, с указанием какой файл использовать и как обходится с переключениями:
Option "Device" "/dev/input/keyboard_one"
Option "XkbRules" "xorg"
и создать такую же секцию с Identifier "Keyboard1" и "/dev/input/keyboard_two". Подобным же образом отредактировать секцию "Mouse0":
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mouse_one"
Option "ZaxisMapping" "4 5"
EndSection
и создать аналогичный для "Mouse1" "/dev/input/mouse_two". В секции для "Screen0" заменить "Monitor" на "Monitor0" и сделать его копию с параметрами "Screen1", "Monitor1" и в Device заменить на "videocard1". Если второй монитор отличается, то текущие разрешения заменить на требуемые.
В секции "Monitor" заменить значение Identifier "Monitor" на "Monitor0", создать его копию с Identifier "Monitor1". Вот пример для монитора 17'' LCD с разрешением 1280х1024 и частотой 60 - 75 Гц:
Section "Monitor"
Identifier "Monitor0"
VendorName "SAM"
ModelName "Samsung SyncMaster"
HorizSync 61.5-81.0
VertRefresh 59.0-76.0
EndSection
и 17'' ЭЛТ монитора:
Section "Monitor"
Identifier "Monitor1"
VendorName "SAM"
ModelName "Samsung SyncMaster"
HorizSync 30.0-96.0
VertRefresh 50.0-160.0
EndSection
В секции для видеокарты обязательно нужно правильно указать номер устройства на PCI шине и драйвер.
Теперь после внесения всех изменений нужно проверить работоспособность. Для этого в консоли следует ввести:
user@localhost ~$ X -layout Layout0
Экран переключится в графический режим с курсором в виде X на экране. Для возвращения назад следует нажать Ctrl+Alt+Backspace. То же проделать для Layout1. Если все вышеописанное заработало, можно перегружать компьютер - и на обоих экранах после загрузки появятся приглашения для ввода имени/пароля.