Старый 01.03.2007, 17:25   #1   
Форумец
 
Сообщений: 1,453
Регистрация: 22.12.2005

distantX вне форума Не в сети
Question Можно ли в Линуксе такое?

Чтоб подключить к компьютеру пару мышей, клавиатур и мониторов (а может и пару графических карт) и чтоб два или более пользователей логинились в одной системе и работали в одно время в GUI (общем или в разных) и каждый со своими задачами и со "своими" устройствами ввода-вывода?
  Ответить с цитированием
Старый 01.03.2007, 18:22   #2   
Registered User
 
Сообщений: 1,244
Регистрация: 14.05.2002
Возраст: 49

Den вне форума Не в сети
Можно в линуксе такое.
  Ответить с цитированием
Старый 01.03.2007, 20:16   #3   
Форумец
 
Сообщений: 1,453
Регистрация: 22.12.2005

distantX вне форума Не в сети
Спасибо!
  Ответить с цитированием
Старый 01.03.2007, 21:48   #4   
35 FPS
 
Аватар для Mark5
 
Сообщений: 899
Регистрация: 18.01.2003

Mark5 вне форума Не в сети
а в Винде такое можно?
  Ответить с цитированием
Старый 02.03.2007, 08:28   #5   
Негодяй
 
Аватар для dalex
 
Сообщений: 1,989
Регистрация: 09.11.2005

dalex вне форума Не в сети
Цитата:
а в Винде такое можно?
конечно.
  Ответить с цитированием
Старый 02.03.2007, 09:06   #6   
35 FPS
 
Аватар для Mark5
 
Сообщений: 899
Регистрация: 18.01.2003

Mark5 вне форума Не в сети
в Винде? в какой?? как?!!!
  Ответить с цитированием
Старый 02.03.2007, 09:41   #7   
Негодяй
 
Аватар для dalex
 
Сообщений: 1,989
Регистрация: 09.11.2005

dalex вне форума Не в сети
Цитата:
в Винде? в какой?? как?!!!
в xp например. Не знаю можно ли стандартно сделать - хотя в теории если можно для конкретного юзера выключить одну мышь и включить вторую то все ок. Если нельзя стандартно - есть ThinSoft BeTwin
  Ответить с цитированием
Старый 02.03.2007, 10:21   #8   
35 FPS
 
Аватар для Mark5
 
Сообщений: 899
Регистрация: 18.01.2003

Mark5 вне форума Не в сети
мышами и клавами можно хоть обвешаться. плюс можно (в теории - сам не проверял) сделать два профиля оборудования для разных пользователей. но КАК можно сделать два разных рабочих стола одновременно для каждго юзера?

по линуксу - это делается чем? стандартными возможностями системы или нужен какой то софт? если софт то какой?
  Ответить с цитированием
Старый 03.03.2007, 12:34   #9   
Форумец
 
Сообщений: 491
Регистрация: 02.12.2005
Возраст: 38

Lampus вне форума Не в сети
Помнится когда я был ламером в линухах и сидел на мандрейке, этак года 2 назад, я втыкал две видеокарты в комп - одна AGP GeForce2 MX 400, другая PCI Savage 3 Trio64. В общем картина получилась интересная: на одном мониторе запустились иксы с КДЕ и на втором. Но самое интересное что они работали совершенно независимо друг от друга, т.е. рулить я мог только КДЕ на одном из мониторов, как перебраться на второй до меня тогда так и не допёрло. =)
Теперь вернёмся к делу... Созревает вопрос - а возможно ли запустить два Х сервера одновременно с разными конфигами. Т.е. так чтобы каждый Х сервер работал со своей видеокарточкой и InputDevice'ами? В общем чую придётся спрашивать гугл и доки на x.org =)
  Ответить с цитированием
Старый 03.03.2007, 14:11   #10   
Форумец
 
Сообщений: 1,453
Регистрация: 22.12.2005

distantX вне форума Не в сети
Lampus, да ясно, это надо делать через два X сервера. Вроде и менеджер X серверов есть. Я видел статью где-то на англицком в инете, но оч. давно и проглядел ее невнимательно. Там два перца в дискуссии о мэйнфреймах меж собой терли. Сейчас ни найти ее, ни вспомнить не могу, вот и завел эту тему.
  Ответить с цитированием
Старый 03.03.2007, 18:15   #11   
Форумец
 
Сообщений: 491
Регистрация: 02.12.2005
Возраст: 38

Lampus вне форума Не в сети
Гугль как всегда спас... Кусок из ЧаВо на linux.org.ru
Цитата:
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. Если все вышеописанное заработало, можно перегружать компьютер - и на обоих экранах после загрузки появятся приглашения для ввода имени/пароля.
  Ответить с цитированием
Старый 03.03.2007, 18:43   #12   
Форумец
 
Сообщений: 1,453
Регистрация: 22.12.2005

distantX вне форума Не в сети
Lampus, респект
  Ответить с цитированием
Старый 03.03.2007, 19:27   #13   
Registered User
 
Аватар для Sh@rk
 
Сообщений: 326
Регистрация: 03.11.2005

Sh@rk вне форума Не в сети
Lampus, +1
  Ответить с цитированием
Поиск в теме: 



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

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind