Оглавление |
---|
В данной статье рассматривается настройка компьютера под управлением Astra Linux для одновременной работы нескольких пользователей в режиме "multiseat". В качестве примера рассматривается настройка для работы двух пользователей, настройка для большего количества пользователей выполняется аналогично, главное, чтобы к компьютеру был подключено всё необходимое для этого оборудование.
Информация | ||
---|---|---|
| ||
|
Для работы в режиме multiseat необходимо переключить менеджер графических дисплеев fly-dm на работу от имени суперпользователя (root).
Предупреждение |
---|
Использование программным обеспечением прав суперпользователя и функционирование программного обеспечения от имени суперпользователя относятся к привилегиям, потенциально влияющим на систему защиты информационной системы. |
Информация |
---|
Термином multiseat обозначается физический компьютер, оборудованный для одновременной работы более чем одного пользователя в графической сессии, с прямым подключением пользовательских устройств ввода (клавиатуры, манипуляторы типа "мышь") и вывода (мониторы) к этому компьютеру. |
Требования к оборудованию
Для реализации работы в режиме multiseat каждый пользователь должен иметь свои клавиатуру, мышь и монитор. Каждый монитор при этом должен быть подключен к графическому выводу отдельной видеокарты.
В данной инструкции используется компьютер со следующими характеристиками:
- Установлена ОС Astra Linux Special Edition с установленными обновлениями безопасности;
- Имеется встроенная видеокарта Intel;
- Установлена дополнительная дискретная видеокарта Nvidia GeForce 1060;
- Подключены две USB клавиатуры и две USB мыши.
Графический менеджер рабочих мест fly-admin-multiseat
Информация |
---|
Графический менеджер рабочих мест fly-admin-multiseat доступен в Astra Linux Special Edition x.7 |
Графический менеджер рабочих мест fly-admin-multiseat может быть запущен через графическое меню: "Пуск" - "Панель управления" - "Система" - "Мультитерминальный режим". После запуска fly-admin-multiseat автоматически определяет наличи оборудования:
и позволяет в графическом режиме создать дополнительное рабочее место:
и назначить созданному рабочему месту оборудование:
Назначение устройств
Для каждого рабочего места (seat) необходимо назначить свои устройства ввода и вывода.
Определить имеющиеся устройства можно командами:
Command |
---|
lspci |
и
Command |
---|
lsusb |
Устройства ввода/вывода назначаются рабочим местам командой loginctl. С помощью этой же команды можно проверить список рабочих мест:
Command |
---|
sudo loginctl list-seats |
и подключенные к рабочему месту устройства:
Command |
---|
sudo loginctl seat-status seat0 |
Пример вывода команды loginctl (для наглядности разными цветами выделены сообщения про дополнительные видеокарту, клавиатуру и мышь):
Раскрыть | ||
---|---|---|
| ||
sudo loginctl seat-status seat0 |
В примере выше видно, что физические устройства быть могут представлены комплектом логических устройств. Если комлект иерархический, то к рабочему месту следует привязывать корневое устройство. Если комлект неиерархический, то привязывать следует все устройства. При этом может потребоваться выполнить команду привязки несколько раз.
Предупреждение | ||
---|---|---|
| ||
Существование рабочего места определяется привязкой к нему видеокарты. Если отвязать видеокарту от рабочего места (привязав к другому рабочему месту), то все устройства привязанные к рабочему месту, оставшемуся без видеокары, станут недоступны. Чтобы вернуть доступ к таким устройствам нужно повторно привязать к рабочему месту видеокарту, и перепривязать устройства к другому рабочему месту. Обычно к дополнительным рабочим местам привязываются видеокарты, имеющие ненулевые номера, т.е. видеокарта card0 обычно закреплена за рабочим местом, используемым по-умолчанию (рабочее место seat0). Однако перед выполнением привязки видеокарты следует убедиться, что карта с номером 0 действительно привязана к seat0. |
Определив названия подключенных устройств создадим новое рабочее место seat1, привязав к нему видеокарту. Привязка корневого устройства видеокарты для приведенного выше комплекта устройств выполняется командой:
Command |
---|
sudo loginctl attach seat1 /sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1 |
Проверка:
Command | ||
---|---|---|
| ||
seat1 |
Далее выполнить привязку логических устройств мыши:
Command |
---|
sudo loginctl attach seat1 /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-5/1-5.2/1-5.2:1.0/0003:248A:8366.0005/input/input12 \ |
И выполнить привязку клавиатуры:
Command |
---|
sudo loginctl attach seat1 /sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/0003:C0F4:01B0.0001/input/input5 \ |
Проверим состояние рабочего места seat1:
Command |
---|
sudo loginctl seat-status seat1 |
В результате рабочее место seat1 должно получить полный набор устройств:
Раскрыть | ||
---|---|---|
| ||
seat1 |
Настройка менеджера графических дисплеев
В целях безопасности в ОС Astra Linux менеджер графических дисплеев fly-dm работает от имени непривилегированного пользователя fly-dm. Для работы в режиме multiseat следует переключить fly-dm на работу от имени root. Для этого в файле /etc/X11/fly-dm/fly-dmrc указать параметр ServerUID=root:
Блок кода | ||||
---|---|---|---|---|
| ||||
# The user the X-server should run as. Empty results - auto, i.e. 'root' or 'fly-dm' if KMS enabled. # Default is "" ServerUID=root |
При работе в Astra Linux Special Edition 1.6 в конец /etc/X11/fly-dm/fly-dmrc файла добавить информацию о новом рабочем месте seat1:
Блок кода | ||
---|---|---|
| ||
[X-:1-Core] ServerArgsLocal=-seat seat1 |
При работе в Astra Linux Special Edition 1.7 наличие второго рабочего места определяется автоматически.
Разрешение одновременных сессий
В целях безопасности по-умолчанию в Astra Linux при переключении между сессиями неактивная сессия блокируется. При работе в Astra Linux Special Edition 1.6 для одновременной работы двух и более сессий требуется дополнительная настройка: "Панель управления" - меню "Пуск", вкладка "Рабочий стол", программа "Оформление Fly". На вкладке "Блокировка" убрать галочку "Переключение на другую сессию".
Предупреждение |
---|
Эту операцию нужно выполнить для каждого созданного пользователя, для каждого уровня конфиденциальности и для каждого уровня целостности. |
При работе в Astra Linux Special Edition 1.7 необходимость отключения блокировки при переключении между рабочими местами определяется автоматически.
После выполнения указанных действий перезагрузить компьютер:
Command |
---|
sudo reboot |
После загрузки системы должна стать доступной одновременная работа двух пользователей с двух рабочих мест.
Удаление дополнительного рабочего места
Для удаления дополнительного рабочего места:
Удалить секцию удаляемого рабочего места в файле /etc/X11/fly-dm/fly-dmrc
Блок кода title /etc/X11/fly-dm/fly-dmrc [X-:1-Core] ServerArgsLocal=-seat seat1
- Перезагрузить компьютер;
Отвязать от удаляемого рабочего места все устройства кроме видеокарты. Отвязывание устройств выполняется перепривязкой устройств к рабочему месту seat0:
Command sudo loginctl attach seat0 /sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/0003:C0F4:01B0.0001/input/input5 \
/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.1/0003:C0F4:01B0.0002/input/input6 \
/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.1/0003:C0F4:01B0.0002/input/input7
sudo loginctl attach seat0 /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-5/1-5.2/1-5.2:1.0/0003:248A:8366.0005/input/input12 \
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-5/1-5.2/1-5.2:1.0/0003:248A:8366.0005/input/input13 \
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-5/1-5.2/1-5.2:1.0/0003:248A:8366.0005/input/input14Для полной перепривязки всех устройств команды может потребоваться повторить несколько раз.
Убедившись с помощью команды sudo loginctl seat-status, что все устройства, кроме видеокарты, отвязаны, перепривязать к рабочему месту видеокарту:
Command sudo loginctl attach seat0 /sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1