LXF164: Многостаночничать
|
|
|
Многоместные системы Превратите Linux-ПК в многопользовательскую рабочую станцию
Содержание |
Многоместность: 2 головы лучше
Лео Максвелл показывает, как подключить к одному компьютеру несколько мониторов, мышей и клавиатур и осчастливить несколько пользователей.
Ваши дети передрались друг с другом из-за компьютера в гостиной? Счет за электричество заставляет потрясти головой и проверить баланс на банковском счете? Вам помогут многоместные системы. Существуют системы, в которых используется несколько мониторов, а в многоместных системах – несколько клавиатур, мышей, колонок и одновременно работающих пользователей.
Причины выбора таких систем – экономия пространства, денег или хотя бы электроэнергии. В некоторых странах, в том числе в ЮАР и Бразилии, в школах и общественных центрах установлены тысячи таких систем, чтобы доступ к компьютеру и Интернету получало максимальное количество учеников и обычных граждан. Такую систему можно развернуть даже на довольно слабом компьютере.
Для многих задач, таких как просмотр web-страниц, редактирование текста или чтение электронной почты, современный компьютер излишне производителен. Большинство настольных компьютеров, особенно многоядерных, большую часть времени простаивают. Если два человека пользуются одним компьютером, то его энергопотребление будет лишь немного превышать энергопотребление компьютера с одним пользователем и будет существенно ниже энергопотребления двух отдельных компьютеров.
Дома простая двухпользовательская система может быть полезной, если нужен еще один дополнительный компьютер для ребенка, делающего домашнее задание, или для зашедших на время гостей.
Для нашего урока мы использовали компьютер с Ubuntu 12.04 с процессором AMD64 × 2 4200+, 4 ГБ оперативной памяти, встроенной видеокартой Nvidia и внешней видеокартой Nvidia PCIe. Не слишком производительный по современным стандартам, этот компьютер вполне соответствовал поставленной задаче. Мы сознательно взяли более старое «железо», чтобы прояснить все вопросы с разделением задач. С целью основательной проверки мы попросили нескольких добровольцев поработать в обеих системах одновременно.
И мы были приятно удивлены: никаких проблем с производительностью! Два пользователя прекрасно бродили по Интернету, смотрели видео на YouTube, играли в простые игры и выполняли повседневные задачи, такие как обработка текста, без видимых задержек. В этой статье пользователей два, но их число ограничено только количеством видеокарт, которые можно установить в основном компьютере, так как количество доступных USB-портов всегда можно увеличить с помощью хабов.
На современной материнской плате обычно есть один слот PCIe и один или несколько слотов PCI, но есть и материнские платы, которые поддерживают до пяти видеокарт PCIe. Также существуют видеокарты USB.
В идеальном случае многоядерный процессор или процессор с гипертредингом предоставит каждому пользователю по одному ядру или процессу, а дополнительная память пригодится для трехмерных игр или обработки видео. Одного сетевого подключения в 100 Мбит более чем достаточно для нескольких интернет-пользователей.
Подготовка системы
Если что-то пойдет не так, система вполне может оказаться нерабочей. Если вы пользуетесь своим основным компьютером, обязательно создайте резервную копию данных.
Для начала вам понадобятся как минимум две учетных записи пользователя с отдельными домашними каталогами. Это важно, так как два «экземпляра» одного и того же пользователя будут обращаться к одному и тому же каталогу home, что может привести к нестабильности системы и потере данных.
Права администратора должны быть только у одного пользователя, главным образом для того, чтобы избежать некорректного выключения системы и бесконтрольных изменений файлов.
Тщательный выбор устройств поможет сделать работу системы более ровной. Настроить два монитора в Linux нетрудно. Если обоих подключить при установке, есть вероятность, что они будут обнаружены и настроены, но если нет, перед их использованием нужно убедиться, что они будут работать каждый в отдельном сеансе X.
Далее мы опишем этапы создания параллельного сеанса X в многопользовательской системе путем изменения файлов настройки вручную.
Несколько отдельных сеансов
По сути, мы параллельно запустим два отдельных X-сервера. Нужно изменить файл /etc/X11/xorg.conf, создав две отдельных схемы, с монитором, мышью и клавиатурой каждая. Сервер X11 поддерживает несколько сессий, но базовый X-сервер ограничен одной сессией на видеокарту.
На нашем уроке мы пользуемся видеокартами Nvidia и их проприетарными драйверами. Учитывая изобилие возможных конфигураций, мы можем лишь научить вас настройке системы для конкретного «железа». Однако использованные здесь методы можно применить к самым разнообразным ситуациям.
Неплохо будет создать резервную копию /etc/X11/xorg.conf, чтобы в случае сбоя войти в систему с командной строки, по SSH с другого компьютера или с Live CD, и восстановить его, чтобы восстановить систему. Настроив два сеанса, нужно параллельно запустить видеотерминалы с помощью менеджера дисплея.
Первоначально мы настроили только одну схему, закомментировав половину разделов, чтобы убедиться, что у нас два рабочих сеанса.
Проблема современных настольных дистрибутивов – степень их автоматизации. Вам нужно сделать так, чтобы HAL и Udev не добавляли устройства автоматически, иначе все устройства будут работать на всех мониторах, что, мягко говоря, раздражает.
Идентификация устройств
Видеокарты можно определить, набрав команду lspci | grep VGA. Проприетарные драйверы Nvidia позволяют настраивать мониторы с помощью утилиты nvidia-settings. Она также создаст базовую версию xorg.conf с информацией о видеокарте и мониторе. Затем эту версию можно изменить. Драйверы AMD также должны работать.
Для клавиатуры и мыши мы воспользуемся драйвером evdev, который использует такие события, как xxx-event-kbd и xxx-event-mouse. Они находятся в каталоге /dev/input – это файлы вроде mice, mouse0, mouse и т. д. Они привязаны к драйверу мыши и не подходят для нашей задачи, так как могут меняться или быть захвачены событиями клавиатуры или мыши.
В /dev/input также есть пронумерованные события, связанные с событиями в подкаталогах by-id и by-path. Так как это динамические ссылки, устройства, на которые они ссылаются, могут измениться, если они отключаются или если перед загрузкой добавляется другое устройство.
Чтобы еще больше запутать ситуацию, иногда возможны множественные события, у клавиатуры могут быть события мыши, а у мыши – события клавиатуры. Разумеется, у каждого устройства должен быть уникальный идентификатор.
Следующие команды:
ls -R /dev/input
ls -R /dev/input | grep mouse
ls -R /dev/input | grep kbd
выведут список всех событий. Записи в /dev/input/by-id/ удобны, если используются различные модели, так как они остаются постоянными.
Если мыши и клавиатуры одинаковые, то некоторые файлы в by-id могут использоваться совместно, и нужно использовать файлы в каталоге by-path (они изменятся, если подключить устройство к другому порту USB). Пример вывода приведен ниже, корректные значения в нем выделены жирным. Первое – из каталога /dev/input/by-id, а второе – из каталога /dev/input/by-path. Нам нужны записи, которые заканчиваются на -event-mouse или -event-kbd.
$ ls -R /dev/input | grep mouse
mouse1
usb-Logitech_USB_Receiver-event-mouse
usb-Logitech_USB_Receiver-if01-event-mouse
usb-Logitech_USB_Receiver-if01-mouse
usb-Logitech_USB_Receiver-mouse
pci-0000:00:10.0-usb-0:2:1.1-event-mouse
pci-0000:00:10.0-usb-0:2:1.1-mouse
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Идентифицировав устройства, добавьте их в файл /etc/X11/xorg.conf. В следующем разделе мы разберем пример этого файла. Информацию об устройствах, разумеется, нужно изменить в соответствии с вашей.
Первый раздел – ServerFlags, в нем находятся настройки по умолчанию для всех серверов. Наиболее важны строки, где отключается автоматическое добавление устройств.
- X configuration file
Section “ServerFlags”
Option “Xinerama” “off”
Option “AutoAddDevices” “off”
Option “AllowEmptyInput” “on”
Option “AllowMouseOpenFail” “on”
Option “DisableModinDev” “on”
Option “DRI” “on”
EndSection
Для каждого сервера вам понадобится раздел ServerLayout с информацией о мониторе и устройствах ввода. Опция SingleCard ограничивает resets одним устройством:
Section “ServerLayout”
Identifier “Layout0”
Screen 0 “Screen0” 0 0
InputDevice “Keyboard0”
InputDevice “Mouse0”
Option “SingleCard” “on”
EndSection
Section “ServerLayout”
Identifier “Layout1”
Screen 0 “Screen1” 0 0
InputDevice “Keyboard1”
InputDevice “Mouse1”
Option “SingleCard” “on”
EndSection
Теперь создайте раздел для каждого устройства ввода. Обычно это мыши и клавиатуры, но возможны и другие устройства, скажем, графические планшеты или сенсорные экраны. Мы использовали два разных набора беспроводных клавиатур/мышей. Опция GrabDevice запрещает другим драйверам доступ к устройству. Раскладку клавиатуры лучше задать в системных настройках Ubuntu, так как они хранятся отдельно для каждого пользователя.
Section “InputDevice”
Identifier “Mouse0”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-Logitech_USB_Receiver-event-mouse”
Option “GrabDevice” “on”
EndSection
Section “InputDevice”
Identifier “Mouse1”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-MOSART_Semi._Wireless_Keyboard___Mouse-event-mouse”
Option “GrabDevice” “on”
EndSection
Section “InputDevice”
Identifier “Keyboard0”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd”
Option “Xkb_Rules” “evdev”
Option “Xkb_Model” “evdev”
Option “GrabDevice” “on”
EndSection
Section “InputDevice”
Identifier “Keyboard1”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-MOSART_Semi._Wireless_Keyboard___Mouse-event-kbd”
Option “Xkb_Rules” “evdev”
Option “Xkb_Model” “evdev”
Option “GrabDevice” “on”
EndSection
Наконец, укажите мониторы, устройства (видеокарты) и экраны, к которым они подключаются. Мы пользовались двумя 19-дюймовыми мониторами с разрешением 1440 × 900 пикселей – опция DPMS активирует режим пониженного энергопотребления Energy Star:
Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Bit 3 Vw19B2”
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
Option “DPMS”
EndSection
Section “Monitor”
Identifier “Monitor1”
VendorName “Unknown”
ModelName “Acer AL1916W”
HorizSync 31.0 - 84.0
VertRefresh 56.0 - 76.0
Option “DPMS”
EndSection
Оба наших устройства – видеокарты Nvidia, одна на материнской плате, а другая в слоте PCIe.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8100 / nForce 720a”
BusID “PCI:2:0:0”
EndSection
Section “Device”
Identifier “Device1”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8400 GS”
BusID “PCI:3:0:0”
EndSection
Экран – это пара видеокарта–монитор.
Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
Option “metamodes” “nvidia-auto-select +0+0;1440x900_75 +0+0”
SubSection “Display”
Depth 24
EndSubSection
EndSection
Section “Screen”
Identifier “Screen1”
Device “Device1”
Monitor “Monitor1”
DefaultDepth 24
Option “metamodes” “nvidia-auto-select +0+0;1440x900_75 +0+0”
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
SubSection “Display”
Depth 24
EndSubSection
EndSection
Когда у вас будет рабочий файл xorg.conf (т. е. тот, с которым операционная система загружается без ошибок, при этом будут работать оба монитора, обе мыши и обе клавиатуры), настройте менеджер дисплея. Он позволит пользователям заходить в различные сеансы видеотерминала и распределять между ними доступные устройства.
Да будет LightDM
Для этой статьи мы выбрали менеджер дисплея Ubuntu по умолчанию, LightDM, потому что он поддерживает несколько сессий с различными мониторами и синтаксис его файла настройки довольно прост. Он также поддерживает как KDE, так и Gnome. KDM (менеджер дисплея KDE) тоже поддерживает несколько сессий, но GDM (менеджер дисплея Gnome) – нет. В файле /etc/lightdm/lightdm.conf по умолчанию текста немного, но скоро мы это изменим! Нам нужно создать записи для каждого пользовательского места, указав команды X-сервера и соответствующие схемы.
[LightDM]
seats=Seat:0 Seat:1
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
[Seat:0]
xserver-layout=Layout0
xserver-command=/usr/bin/X :0 -layout Layout0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[Seat:1]
xserver-layout=Layout1
xserver-command=/usr/bin/X :1 -layout Layout1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch -sharevts
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Опция novtswitch запрещает переключение между сессиями, а sharevts позволяет держать открытыми несколько видеотерминалов. Для первого сеанса включать ее не стоит – можно повредить монитор. Если вам нужен автоматический вход в систему, добавьте следующие строки (подставив свое имя пользователя) в каждый раздел:
autologin-user=username
autologin-timeout=0
Это также решает проблему с не отображавшимся полем пароля у некоторых пользователей.
Звук
Звук проще всего настроить для каждого пользователя отдельно, с несколькими звуковыми картами. Для начала добавьте обоих пользователей в группу audio.
После этого каждый пользователь сможет войти в систему и задать настройки звука для своего устройства. При использовании PulseAudio настройки автоматически сохраняются в их файле по умолчанию в /home/username/.pulse. Конечно, если в следующий раз пользователи поменяются местами, звук придется перенастраивать.
Настольный Linux сейчас находится в состоянии активных перемен. Большая автоматизация снижает гибкость, а множественные сеансы могут также повлиять на безопасность. Этот подход может показаться несколько нудным, но зато работает в большинстве дистрибутивов. |