Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

В данной статье рассматривается настройка компьютера под управлением Astra Linux для одновременной работы нескольких  пользователей в режиме "multiseat". В качестве примера рассматривается настройка для работы двух пользователей, настройка для большего количества пользователей выполняется аналогично, главное, чтобы к компьютеру был подключено всё необходимое для этого оборудование.


Информация
titleДанная статья применима к:
  • 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 обозначается физический компьютер, оборудованный для одновременной работы более чем одного пользователя в графической сессии, с прямым подключением пользовательских устройств ввода (клавиатуры, манипуляторы типа "мышь") и вывода (мониторы) к этому компьютеру.


Требования к оборудованию

Для реализации работы в режиме 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 автоматически определяет наличи оборудования:

Image Added
и позволяет в графическом режиме создать дополнительное рабочее место:


Image Added

и назначить созданному рабочему месту оборудование:

Image Added

Информация
Термином multiseat обозначается физический компьютер, оборудованный для одновременной работы более чем одного пользователя в графической сессии, с прямым подключением пользовательских устройств ввода (клавиатуры, манипуляторы типа "мышь") и вывода (мониторы) к этому компьютеру.

Требования к оборудованию

Для реализации работы в режиме multiseat каждый пользователь должен иметь свои клавиатуру, мышь и монитор. Каждый монитор при этом должен быть подключен к графическому выводу отдельной видеокарты. 

В данной инструкции используется компьютер со следующими характеристиками:

  • Установлена ОС Astra Linux Special Edition с установленными обновлениями безопасности;
  • Имеется встроенная видеокарта Intel;
  • Установлена дополнительная дискретная видеокарта Nvidia GeForce 1060;
  • Подключены две USB клавиатуры и две USB мыши.

    Назначение устройств

    Для каждого рабочего места (seat) необходимо назначить свои устройства ввода и вывода.

    Определить имеющиеся устройства можно командами:

    Command

    lspci

    и

    Command

    lsusb

    Устройства ввода/вывода назначаются рабочим местам командой loginctl. С помощью этой же команды можно проверить список рабочих мест:

    Command

    sudo loginctl list-seats

    и подключенные к рабочему месту устройства:

    Command

    sudo loginctl seat-status seat0

    Пример вывода команды loginctl (для наглядности разными цветами выделены сообщения про дополнительные видеокарту, клавиатуру и мышь):

    Раскрыть
    Titlesudo loginctl seat-status seat0

    sudo loginctl seat-status seat0
    seat0
             Devices:
                      ├─/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
                      │ input:input1 "Power Button"
                      ├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
                      │ input:input0 "Power Button"
                      ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
                      │ [MASTER] drm:card0
                      │ ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-DVI-I-1
                      │ │ [MASTER] drm:card0-DVI-I-1
                      │ ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1
                      │ │ [MASTER] drm:card0-HDMI-A-1
                      │ └─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1
                      │   [MASTER] drm:card0-VGA-1
                      ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/renderD128
                      │ drm:renderD128
                      ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/graphics/fb0
                      │ graphics:fb0 "nouveaudrmfb"
                      ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1
                      │ sound:card1 "NVidia"
                      │ ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input23
                      │ │ input:input23 "HDA NVidia HDMI/DP,pcm=3"
                      │ ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input24
                      │ │ input:input24 "HDA NVidia HDMI/DP,pcm=7"
                      │ ├─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input25
                      │ │ input:input25 "HDA NVidia HDMI/DP,pcm=8"
                      │ └─/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input26
                      │   input:input26 "HDA NVidia HDMI/DP,pcm=9"
                      ├─/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:06.0/0000:02:00.0/drm/renderD129
                      │ drm:renderD129
                      ├─/sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/graphics/fb1
                      │ graphics:fb1 "nouveaudrmfb"
                      ├─/sys/devices/pci0000:00/0000:00:1a.0/usb3
                      │ usb:usb3
                      ├─/sys/devices/pci0000:00/0000:00:1a.1/usb4
                      │ usb:usb4
                      ├─/sys/devices/pci0000:00/0000:00:1a.2/usb5
                      │ usb:usb5
                      ├─/sys/devices/pci0000:00/0000:00:1a.7/usb1
                      │ usb:usb1
                      │ └─/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-5
                      │   usb:1-5
                      │   ├─/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
                      │   │ input:input12 "Telink SVEN WIRELESS MOUSE Mouse"
                      │   ├─/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
                      │   │ input:input13 "Telink SVEN WIRELESS MOUSE Consumer Control"
                      │   └─/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
                      │     input:input14 "Telink SVEN WIRELESS MOUSE System Control"
                      ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0
                      │ sound:card0 "Intel"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input15
                      │ │ input:input15 "HDA Intel Front Mic"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input16
                      │ │ input:input16 "HDA Intel Rear Mic"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input17
                      │ │ input:input17 "HDA Intel Line"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input18
                      │ │ input:input18 "HDA Intel Line Out Front"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input19
                      │ │ input:input19 "HDA Intel Line Out Surround"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input20
                      │ │ input:input20 "HDA Intel Line Out CLFE"
                      │ ├─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input21
                      │ │ input:input21 "HDA Intel Line Out Side"
                      │ └─/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input22
                      │   input:input22 "HDA Intel Front Headphone"
                      ├─/sys/devices/pci0000:00/0000:00:1d.0/usb6
                      │ usb:usb6
                      ├─/sys/devices/pci0000:00/0000:00:1d.1/usb7
                      │ usb:usb7
                      │ ├─/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/0003:C0F4:01B0.0001/input/input5
                      │ │ input:input5 "USB usb keyboard"
                      │ ├─/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.1/0003:C0F4:01B0.0002/input/input6
                      │ │ input:input6 "USB usb keyboard Consumer Control"
                      │ └─/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.1/0003:C0F4:01B0.0002/input/input7
                      │   input:input7 "USB usb keyboard System Control"
                      ├─/sys/devices/pci0000:00/0000:00:1d.2/usb8
                      │ usb:usb8
                      │ ├─/sys/devices/pci0000:00/0000:00:1d.2/usb8/8-2/8-2:1.0/0003:10D5:0116.0003/input/input8
                      │ │ input:input8 "M02 1.6"
                      │ ├─/sys/devices/pci0000:00/0000:00:1d.2/usb8/8-2/8-2:1.1/0003:10D5:0116.0004/input/input10
                      │ │ input:input10 "M02 1.6 System Control"
                      │ ├─/sys/devices/pci0000:00/0000:00:1d.2/usb8/8-2/8-2:1.1/0003:10D5:0116.0004/input/input11
                      │ │ input:input11 "M02 1.6 Consumer Control"
                      │ └─/sys/devices/pci0000:00/0000:00:1d.2/usb8/8-2/8-2:1.1/0003:10D5:0116.0004/input/input9
                      │   input:input9 "M02 1.6 Mouse"
                      ├─/sys/devices/pci0000:00/0000:00:1d.7/usb2
                      │ usb:usb2
                      ├─/sys/devices/platform/vhci_hcd.0/usb10
                      │ usb:usb10
                      ├─/sys/devices/platform/vhci_hcd.0/usb9
                      │ usb:usb9
                      ├─/sys/devices/virtual/misc/kvm
                      │ misc:kvm
                      └─/sys/devices/virtual/misc/rfkill
                        misc:rfkill

    В примере выше видно, что физические устройства быть могут представлены комплектом логических устройств. Если комлект иерархический, то к рабочему месту следует привязывать корневое устройство. Если комлект неиерархический, то привязывать следует все устройства. При этом может потребоваться выполнить команду привязки несколько раз.

    Предупреждение
    titleВнимание

    Существование рабочего места определяется привязкой к нему видеокарты. Если отвязать видеокарту от рабочего места (привязав к другому рабочему месту), то все устройства привязанные к рабочему месту, оставшемуся без видеокары, станут недоступны. Чтобы вернуть доступ к таким устройствам нужно повторно привязать к рабочему месту видеокарту, и перепривязать устройства к другому рабочему месту.

    Обычно к дополнительным рабочим местам привязываются видеокарты, имеющие ненулевые номера, т.е. видеокарта 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
    Titlesudo loginctl seat-status 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

    Далее выполнить привязку логических устройств мыши:

    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 \
                               /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

    И выполнить привязку клавиатуры:

    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 \
                               /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:

    Command
    sudo loginctl seat-status seat1

    В результате рабочее место seat1 должно получить полный набор устройств:

    Раскрыть
    Titlesudo loginctl seat-status 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/input12
                      │ input:input12 "Telink SVEN WIRELESS MOUSE Mouse"
                      ├─/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
                      │ input:input13 "Telink SVEN WIRELESS MOUSE Consumer Control"
                      ├─/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
                      │ input:input14 "Telink SVEN WIRELESS MOUSE System Control"
                      ├─/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.0/0003:C0F4:01B0.0001/input/input5
                      │ input:input5 "USB usb keyboard"
                      ├─/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.1/0003:C0F4:01B0.0002/input/input6
                      │ input:input6 "USB usb keyboard Consumer Control"
                      └─/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.1/0003:C0F4:01B0.0002/input/input7
                        input:input7 "USB usb keyboard System Control"

    Настройка менеджера графических дисплеев

    В целях безопасности в ОС Astra Linux менеджер графических дисплеев fly-dm работает от имени непривилегированного пользователя fly-dm. Для работы в режиме multiseat  следует переключить fly-dm на работу от имени root. Для этого в файле /etc/X11/fly-dm/fly-dmrc указать параметр ServerUID=root:

    Блок кода
    languagebash
    title/etc/X11/fly-dm/fly-dmrc
    # The user the X-server should run as. Empty results - auto, i.e. 'root' or 'fly-dm' if KMS enabled.
    # Default is ""
    ServerUID=root=root

    При работе в Astra Linux Special Edition 1.6 в конец /etc/X11/fly-dm/fly-dmrc И в конце файла добавить информацию о новом рабочем месте seat1:

    Блок кода
    title/etc/X11/fly-dm/fly-dmrc
    [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

    После загрузки системы должна стать доступной одновременная работа двух пользователей с двух рабочих мест.

    Удаление дополнительного рабочего места

    Для удаления дополнительного рабочего места:

    1. Удалить секцию удаляемого рабочего места в файле /etc/X11/fly-dm/fly-dmrc

      Блок кода
      title/etc/X11/fly-dm/fly-dmrc
      [X-:1-Core]
      ServerArgsLocal=-seat seat1


    2. Перезагрузить компьютер;
    3. Отвязать от удаляемого рабочего места все устройства кроме видеокарты. Отвязывание устройств выполняется перепривязкой устройств к рабочему месту 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

      Для полной перепривязки всех устройств команды может потребоваться повторить несколько раз.

    4. Убедившись с помощью команды sudo loginctl seat-status, что все устройства, кроме видеокарты, отвязаны, перепривязать к рабочему месту видеокарту:

      Command

      sudo loginctl attach seat0 /sys/devices/pci0000:00/0000:00:06.0/0000:02:00.0/drm/card1