В данной статье рассматривается настройка компьютера под управлением Astra Linux для одновременной работы нескольких пользователей в режиме "multiseat". В качестве примера рассматривается настройка для работы двух пользователей, настройка для большего количества пользователей выполняется аналогично, главное, чтобы к компьютеру был подключено всё необходимое для этого оборудование.
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Common Edition 2.12
Для работы в режиме multiseat необходимо переключить менеджер графических дисплеев fly-dm на работу от имени суперпользователя (root).
Использование программным обеспечением прав суперпользователя и функционирование программного обеспечения от имени суперпользователя относятся к привилегиям, потенциально влияющим на систему защиты информационной системы.
В документации на информационную систему должно быть указано о наличии, порядке и целях применения программного обеспечения, использующего указанные привилегии, а также приведен порядок его настройки (для чего могут быть использованы материалы настоящей методики).
Требования к оборудованию
Для реализации работы в режиме multiseat каждый пользователь должен иметь свои клавиатуру, мышь и монитор. Каждый монитор при этом должен быть подключен к графическому выводу отдельной видеокарты.
В данной инструкции используется компьютер со следующими характеристиками:
- Установлена ОС Astra Linux Special Edition с установленными обновлениями безопасности;
- Имеется встроенная видеокарта Intel;
- Установлена дополнительная дискретная видеокарта Nvidia GeForce 1060;
- Подключены две USB клавиатуры и две USB мыши.
Графический менеджер рабочих мест fly-admin-multiseat
Графический менеджер рабочих мест fly-admin-multiseat может быть запущен через графическое меню: "Пуск" - "Панель управления" - "Система" - "Мультитерминальный режим". После запуска fly-admin-multiseat автоматически определяет наличи оборудования:
и позволяет в графическом режиме создать дополнительное рабочее место:
и назначить созданному рабочему месту оборудование:
Назначение устройств
Для каждого рабочего места (seat) необходимо назначить свои устройства ввода и вывода.
Определить имеющиеся устройства можно командами:
и
Устройства ввода/вывода назначаются рабочим местам командой loginctl. С помощью этой же команды можно проверить список рабочих мест:
и подключенные к рабочему месту устройства:
Пример вывода команды loginctl (для наглядности разными цветами выделены сообщения про дополнительные видеокарту, клавиатуру и мышь):
В примере выше видно, что физические устройства быть могут представлены комплектом логических устройств. Если комлект иерархический, то к рабочему месту следует привязывать корневое устройство. Если комлект неиерархический, то привязывать следует все устройства. При этом может потребоваться выполнить команду привязки несколько раз.
Внимание
Существование рабочего места определяется привязкой к нему видеокарты. Если отвязать видеокарту от рабочего места (привязав к другому рабочему месту), то все устройства привязанные к рабочему месту, оставшемуся без видеокары, станут недоступны. Чтобы вернуть доступ к таким устройствам нужно повторно привязать к рабочему месту видеокарту, и перепривязать устройства к другому рабочему месту.
Обычно к дополнительным рабочим местам привязываются видеокарты, имеющие ненулевые номера, т.е. видеокарта card0 обычно закреплена за рабочим местом, используемым по-умолчанию (рабочее место seat0). Однако перед выполнением привязки видеокарты следует убедиться, что карта с номером 0 действительно привязана к seat0.
Определив названия подключенных устройств создадим новое рабочее место seat1, привязав к нему видеокарту. Привязка корневого устройства видеокарты для приведенного выше комплекта устройств выполняется командой:
seat1
Devices:
└─/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1
[MASTER] drm:card1
├─/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1/card1-DVI-I-2
│ [MASTER] drm:card1-DVI-I-2
└─/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1/card1-DVI-I-3
[MASTER] drm:card1-DVI-I-3
/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
/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
В результате рабочее место 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 необходимость отключения блокировки при переключении между рабочими местами определяется автоматически.
После выполнения указанных действий перезагрузить компьютер:
Удаление дополнительного рабочего места
Для удаления дополнительного рабочего места:
Удалить секцию удаляемого рабочего места в файле /etc/X11/fly-dm/fly-dmrc
/etc/X11/fly-dm/fly-dmrc[X-:1-Core] ServerArgsLocal=-seat seat1
- Перезагрузить компьютер;
Отвязать от удаляемого рабочего места все устройства кроме видеокарты. Отвязывание устройств выполняется перепривязкой устройств к рабочему месту seat0:
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, что все устройства, кроме видеокарты, отвязаны, перепривязать к рабочему месту видеокарту:
sudo loginctl attach seat0 /sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1