Настройка STAL

Для настройки STAL необходимо отредактировать конфигурационные файлы /etc/stal/stal_service.json и /etc/stal/stal_proxy.json.

Параметры внутри конфигурационных файлов имеют следующую структуру:

{
	"параметр": "значение",
	"параметр": [ "значение 1", ..., "значение N" ],
	"параметр": [ "значение 1", "%{значение 2}", ..., "значение N" ],
	"параметр": [ "аргумент:%{значение}" ]
}
BASH

Поля %{значение} используются для подстановки служебных значений.

Целочисленные значения не заключаются в кавычки.

Пример файла /etc/stal/stal_proxy.json:

{
    "debug:level": "debug",

    "listen:port": 3389,
    "listen:timeout": 10,

    "kerberos:realm": "UVEON",
    "#x11rdp:path": "/usr/libexec/stal/freerdp-shadow-cli",
    "#x11rdp:args": [ "/ipc-socket:%{socket}" ]  
}
BASH

Пример файла /etc/stal/stal_service.json:

{
    "debug:level": "debug",

    "display:min": 101,
    "display:max": 181,

    "runtime:dir": "/run/stal",
    "runtime:xdg": "/run/user/%{uid}",

    "xvfb:path": "/usr/lib/xorg/Xorg",
    "xvfb:args": [ ":%{display}", "-nolisten", "tcp", "-auth", "%{authfile}", "-config", "stal.conf", "-depth", "%{depth}", "+extension", "DAMAGE", "+extension", "MIT-SHM", "+extension", "RANDR", "+extension", "XFIXES", "+extension", "XTEST" ],
    "xvfb:sock": "/tmp/.X11-unix/X%{display}",

    "pam:service": "stal",

    "session:path": "/usr/bin/fly-wm",
    "session:args": [ ],
    "session:programs": "/etc/stal/programs.json",
    "seamless:timeout": 60,

    "#helper:notification": "/usr/libexec/stal/stal_notify",
    "#hash:path": "/usr/bin/winpr-hash",
    "#xrandr:path": "/usr/bin/xrandr",

    "#tdsk:enable": false,
    "#tdsk:fstype": "ext4",
    "#tdsk:option": ""
}
BASH

Список доступных параметров конфигурационного файла /etc/stal/stal_proxy.json приведен в таблице.

Описание параметров файла конфигурации сервиса proxy

ПараметрНазначениеЗначение по умолчанию
debug:levelУровень отладочных сообщений. Возможные значения: debug, info, nonedebug
listen:portСервисный порт доступа3389
listen:timeoutВремя ожидания клиентского подключения, секунды10
kerberos:realmДомен KerberosUVEON
x11rdp:pathСистемная программа запуска RDP-транспорта (поставляется с пакетом freerdp)/usr/libexec/stal/freerdp-shadow-cli
x11rdp:args

Список аргументов для команды RDP-транспорта

/ipc-socket:%{socket}

Список доступных параметров конфигурационного файла /etc/stal/stal_service.json приведен в таблице.

Описание параметров файла конфигурации сервиса stal

ПараметрНазначениеЗначение по умолчанию
debug:level

Уровень отладочных сообщений.

Возможные значения: debug, info, none

debug
display:minНижняя граница нумерации сессий101
display:maxВерхняя граница нумерации сессий (влияет только на допустимое максимальное количество сессий на сервере, limits = display:max - display:min)181
runtime:dirРабочий каталог сервиса STAL/run/stal
runtime:xdgXDG-каталог сессии/run/user/%{uid}
xvfb:pathПуть запуска X11-сервера/usr/lib/xorg/Xorg
xvfb:args

Список аргументов X11-сервера.

Возможны подстановки служебных значений: %{display}, %{authfile}, %{depth}, %{width}, %{height}

Не задано
xvfb:sock

Формат сокета для X11-сервера

Возможна подстановка служебного значения: %{display}

/tmp/.X11-unix/X%{display}
pam:serviceНаименование сервиса доступа PAMstal
session:pathКоманда запуска сессии/usr/bin/fly-wm
session:argsСписок аргументов для команды сессииНе задано
session:programsФайл списка разрешенных программ для режима seamless, формат json/etc/stal/programs.json
seamless:timeoutТаймаут закрытия программной сессии60
helper:notificationСлужебная программа для информирования в сессии через механизм нотификаций (всплывающих сообщений)/usr/libexec/stal/stal_notify
hash:pathСистемная программа для генерации хеш-значения NTLM (поставляется с пакетом freerdp)/usr/bin/winpr-hash
xrandr:pathСистемная программа для изменения геометрии экрана в сессии/usr/bin/xrandr
tdsk:enableСлужебный параметр. Изменять не следуетfalse
tdsk:fstypeСлужебный параметр. Изменять не следуетext4
tdsk:optionСлужебный параметр. Изменять не следуетНе задано

Задание списка разрешенных программ

Список разрешенных программ создается двумя механизмами, дополняющими друг друга:

  • автоматически, через сканирование каталога /usr/share/applications файлов desktop;
  • вручную, дополнительно файлом /etc/stal/programs.json.

По умолчанию в файле /etc/stal/programs.json задается список дополнительных программ, которые не создавали файл desktop в системном каталоге /usr/share/applications. Для включения данного дополнительного варианта загрузки нужно установить значение параметра session:programs в конфигурационном файле /etc/stal/stal_service.json.

Параметры внутри файла /etc/stal/programs.json имеют следующую структуру:

[
	{
		"name": "наименование приложения",
		"path": "путь для запуска приложения" ,
		"args": [ "аргумент запуска 1", ..., "аргумент запуска N" ],
	}
]
BASH

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

[
    {
        "name": "Midnight Commander",
        "path": "/usr/bin/xterm",
        "args": [ "-e", "/usr/bin/mc" ]
    },
    {
        "name": "Chromium Gost",
        "path": "/usr/bin/chromium-gost",
        "args": []
    }
]
BASH

Консольные программы необходимо запускать через графический терминал (см. пример для Midnight Commander).