Настройка технологии единого входа в гостевой ОС ВМ для протокола SPICE

Технология единого входа (автоматической авторизации) пользователя в гостевую ОС для протокола SPICE работает для:

  • ОС Astra Linux Special Edition. При этом начиная с Termidesk версии 4.3 достаточно только включить механизм автоматической авторизации в гостевую ОС, как написано ниже;
  • ОС Microsoft Windows. При этом необходимо установить пакет переносимых библиотек из состава Visual Studio C++ в гостевую ОС: https://aka.ms/vs/17/release/vc_redist.x64.exe.

Технология управляется политикой фонда РМ «Автоматический вход в систему при подключении к РМ (RDP, SPICE, TERA)» (см. Политики фонда РМ).

Механизм автоматической авторизации в ОС Linux может быть включен  через задание переменной DM_LOGIN_AUTOMATION со значением 1 в файле /lib/systemd/system/fly-dm.service.

Активация автоматической авторизации в ОС Linux влияет на настройку автоматического масштабирования экрана. Поэтому после активации этого механизма нужно проверить значение переменной окружения DISPLAY и скорректировать файл /usr/local/bin/x-resize, указав правильное значение для нее (см. подраздел Автоматическое масштабирование экрана в ОС Astra Linux).

Пример файла:

[Unit]
Description=The FLY login manager
 
#replaces getty
#Conflicts=getty@tty1.service
#After=getty@tty1.service
 
#replaces plymouth-quit  since it quits plymouth on its own
#Conflicts=plymouth-quit.service
#After=plymouth-quit.service
 
After=rc-local.service plymouth-start.service dbus.service systemd-user-sessions.service libflygetexe-bin.service
 
#resposible for plymouth stopping, so if fails then make sure plymouth still stop
OnFailure=plymouth-quit.service
 
[Service]
ExecStartPre=/bin/bash -c /usr/bin/fly-dm-prepare.sh
ExecStart=/usr/bin/fly-dm vt7
 
IgnoreSIGPIPE=no
 
EnvironmentFile=-/etc/default/locale
Environment="DM_LOGIN_AUTOMATION=1"
 
[Install]
Alias=display-manager.service

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

sudo systemctl daemon-reload