Параметры конфигурирования
Параметры конфигурирования STAL
Для настройки STAL используются конфигурационные файлы /etc/stal/stal_service.json
, /etc/stal/stal_proxy.json
и /etc/stal/stal_kiosk.json
.
В большинстве случаев STAL не требует изменения конфигурационных файлов после установки. Описание файлов приведено для расширенной настройки.
Параметры внутри конфигурационных файлов имеют следующую структуру:
{ "параметр": "значение", "параметр": [ "значение 1", ..., "значение N" ], "параметр": [ "значение 1", "%{значение 2}", ..., "значение N" ], "параметр": [ "аргумент:%{значение}" ] }
Поля %{значение}
используются для подстановки служебных значений.
Целочисленные значения не заключаются в кавычки.
Файл /etc/stal/stal_proxy.json
определяет параметры работы сервиса stal-proxy
, обеспечивающего передачу трафика от клиентских соединений на локальный сокет. Пример файла /etc/stal/stal_proxy.json
:
{ "debug:level": "debug", "transport:debug": false, "transport:shm": true, "transport:fps": 5, "listen:port": 3389, "listen:addr": "0.0.0.0", "listen:timeout": 10, "#kerberos:realm": "UVEON", "#kerberos:keytab": "/etc/stal/termsrv.keytab", "#x11rdp:path": "/usr/libexec/stal/freerdp-shadow-cli", "x11rdp:args": [ "/ipc-socket:%{socket}", "/max-connections:1", "-gfx-rfx", "+gfx-progressive", "-gfx-planar", "-gfx-avc420", "-gfx-avc444" ], "#tcp:keepalive:enable": true, "tcp:keepalive:delay": 5, "tcp:keepalive:retries": 3, "tcp:keepalive:interval": 2 }
Список доступных параметров конфигурационного файла /etc/stal/stal_proxy.json
приведен в таблице.
Параметр | Назначение | Значение по умолчанию |
---|---|---|
debug:level | Уровень отладочных сообщений. Возможные значения: | debug |
transport:debug | Управление режимом отладочного журналирования для протокола RDP ( По умолчанию режим отладочного журналирования выключен. Для включения необходимо присвоить параметру значение | false |
transport:shm | Управление механизмом совместного доступа к памяти. Механизм позволяет передавать видеоизображение через общую память для сокращения задержки и снижения нагрузки на сеть. Возможные значения:
| true |
transport:fps | Управление частотой передачи кадров в секунду. Параметр влияет на соотношение качества видеоизображения и нагрузки на сервер. Увеличение значения улучшает плавность видеоизображения, но требует больших ресурсов процессора. Уменьшение значения снижает нагрузку на процессор, но ухудшает плавность видеоизображения. Диапазон значений: от 5 до 25 | 5 |
listen:port | Сервисный порт доступа | 3389 |
listen:addr | Сетевой интерфейс для соединения | 0.0.0.0 |
listen:timeout | Время ожидания клиентского подключения, в секундах | 10 |
kerberos:realm | Домен Kerberos | UVEON |
kerberos:keytab | Указание Файл | /etc/stal/termsrv.keytab |
x11rdp:path | Системная программа запуска протокола RDP (поставляется с пакетом freerdp ) | /usr/libexec/stal/freerdp-shadow-cli |
x11rdp:args | Список аргументов для команды протокола RDP. Для получения краткой информации по доступным аргументам протокола RDP нужно воспользоваться командой: /usr/libexec/stal/freerdp-shadow-cli /help Для выбора кодеков, которые будут использоваться при декодировании видеоизображения нужно:
|
|
tcp:keepalive:enable | Управление механизмом Возможные значения:
| true |
tcp:keepalive:delay | Время (в секундах) простоя соединения, по прошествии которого рольлелд TCP начнет отправлять проверочные пакеты | 5 |
tcp:keepalive:retries | Максимальное число проверок протокола TCP, отправляемых перед сбросом соединения | 3 |
tcp:keepalive:interval | Время (в секундах) между отправками отдельных проверочных пакетов | 2 |
Некоторые параметры в JSON
-файлах закомментированы - перед ними есть символ «#». Это значит, что такой параметр используется со значением по умолчанию. Чтобы его изменить, нужно удалить символ «#» и присвоить нужное значение параметру.
Пример:
по умолчанию в качестве домена Kerberos в параметре kerberos:realm
файла /etc/stal/stal_proxy.json
указан UVEON
. Чтобы указать другой домен, например, example.local
, нужно преобразовать параметр "#kerberos:realm": "UVEON"
к "kerberos:realm": "example.local"
.
Файл /etc/stal/stal_service.json
определяет параметры работы основного сервиса stal
, обеспечивающего запуск и останов графических сессий пользователя и реализующего основной функционал STAL. Пример файла /etc/stal/stal_service.json
:
{ "debug:level": "debug", "#runtime:dir": "/run/stal", "#runtime:xdg": "/run/user/%{uid}", "#xvfb:path": "/usr/bin/Xorg", "#xvfb:args": [ ":%{display}", "-nolisten", "tcp", "-logfile", "/dev/null", "-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", "users:limit": 200, "sessions:limit": 1000, "#groups:allow": [], "session:path": "/usr/bin/fly-wm", "session:args": [ ], "session:programs": "/etc/stal/programs.json", "start:timeout": 15, "#seamless:timeout": 60, "#inactivity:timeout": 0, "#duration:timeout": 0, "#disconnect:timeout": 0, "#clipboard:limit": 0, "#redirect:drive": true, "#redirect:print": true, "#redirect:smartcard": true, "#clipboard:file": true, "#clipboard:server": true, "#clipboard:client": true, "#connect:policy": "PrevReplace", "#session:disconnected:freeze": false, "#login:helper": false, "#login:sessions": false, "#login:keyboard": false, "#rdp:keepalive:interval": 0, "#rdp:keepalive:failures": 0, "applications:skip": [ "1cestart.desktop" ], "#helper:notification": "/usr/libexec/stal/stal_notify", "#xrandr:path": "/usr/bin/xrandr", "#tdsk:enable": false, "#tdsk:fstype": "ext4", "#tdsk:option": "" }
Список доступных параметров конфигурационного файла /etc/stal/stal_service.json
приведен в таблице.
Параметр | Назначение | Значение по умолчанию |
---|---|---|
debug:level | Уровень отладочных сообщений. Возможные значения: | debug |
runtime:dir | Рабочий каталог сервиса STAL | /run/stal |
runtime:xdg | XDG-каталог сессии | /run/user/%{uid} |
xvfb:path | Путь запуска X11-сервера | /usr/lib/xorg/Xorg |
xvfb:args | Список аргументов X11-сервера. Возможны подстановки служебных значений: | Приведено в примере |
xvfb:sock | Формат сокета для X11-сервера. Возможна подстановка служебного значения: | /tmp/.X11-unix/X%{display} |
pam:service | Идентификатор сервиса доступа PAM | stal |
| Ограничение на количество пользователей, подключившихся к STAL | 200 |
| Ограничение на количество сессий, запущенных на STAL | 1000 |
| Список разрешенных групп пользователей для аутентификации на сервере STAL. Если параметр закомментирован, то аутентификация разрешена всем пользователям, иначе только пользователям, которые состоят в перечисленных группах. Пример: | [] |
session:path | Клиентская программа, запускаемая в сессии | /usr/bin/fly-wm |
session:args | Список аргументов для запуска клиентской программы | Не задано |
session:programs | Файл списка разрешенных программ для режима seamless , формат json | /etc/stal/programs.json |
| Таймаут (в секундах) запуска сессии | 15 |
seamless:timeout | Таймаут жизни программной сессии (seamless ) после отключения, в секундах | 60 |
inactivity:timeout | Лимит бездействия пользовательской сессии по умолчанию, в секундах | 0 |
duration:timeout | Лимит продолжительности работы пользовательской сессии по умолчанию, в секундах | 0 |
disconnect:timeout | Таймаут жизни пользовательской сессии после отключения, в секундах | 0 |
clipboard:limit | Максимальный лимит буфера обмена в байтах (0: не ограничено). Для блокировки буфера обмена нужно использовать параметры clipboard:server и clipboard:client | 0 |
redirect:drive | Политика для перенаправления дисков/каталогов в RDP. По умолчанию включена | true |
redirect:print | Политика для перенаправления принтеров в RDP. По умолчанию включена | true |
redirect:smartcard | Политика для перенаправления смарт-карт в RDP. По умолчанию включена | true |
clipboard:file | Политика для перенаправления файлов через буфер обмена на сервер. По умолчанию включена | true |
clipboard:server | Политика для перенаправления буфера обмена на сервер. По умолчанию включена | true |
clipboard:client | Политика для перенаправления буфера обмена на клиент. По умолчанию включена | true |
connect:policy | Политика для множественного соединения в сессию. Возможные значения: |
|
| Приостанов («заморозка») группы выполняемых процессов сессии при отсутствии подключений. Параметр предоставляет возможность сэкономить ресурсы процессора. Возможные значения:
| false |
| Поддержка графического диалога входа в ОС. Возможные значения:
|
|
login:sessions | Поддержка выбора сессии пользователя в графическом диалоге входа в ОС. Возможные значения:
| false |
login:keyboard | Поддержка виртуальной клавиатуры в графическом диалоге входа в ОС. Возможные значения:
| false |
| Время в секундах между отправками отдельных проверочных пакетов для механизма | 0 |
| Максимальное число ошибок, допустимых перед сбросом соединения | 0 |
applications:skip | Список запрещенных программ, которые не будут опубликованы. В значении параметра должен указываться ярлык программы: <имя программы>.desktop | 1cestart.desktop |
helper:notification | Служебная программа для информирования в сессии через механизм нотификаций (всплывающих сообщений) | /usr/libexec/stal/stal_notify |
xrandr:path | Системная программа для изменения геометрии экрана в сессии | /usr/bin/xrandr |
tdsk:enable
| Служебный параметр. Менять не следует | false |
tdsk:fstype
| Служебный параметр. Менять не следует | ext4 |
tdsk:option
| Служебный параметр. Менять не следует | Не задано |
Файл /etc/stal/stal_kiosk.json
определяет свойства окон приложений, запускаемых в режиме доставки приложений (киоск).
Функциональность режима приложений stal_kiosk
поддерживается в ОС Astra Linux Special Edition только для уровня защищенности «Орел».
Пример файла /etc/stal/stal_kiosk.json
:
[ { "wm:window:type": "dialog", "wm:class": "1cv8*", "wm:window:role": "GtkFileChooserDialog", "frame": false, "fullscreen": true }, { "wm:window:type": "dialog", "wm:class": "1cv8*", "frame": false, "fullscreen": false }, { "wm:class": "xterm", "frame": false, "fullscreen": true }, { "wm:window:type": "normal", "wm:class": "*", "frame": false, "fullscreen": true }, { "wm:window:type": "dialog", "wm:class": "*", "frame": true, "fullscreen": false } ]
Поведение окон, описанное в файле конфигурации /etc/stal/stal_kiosk.json
, реализуется по тегам системной утилиты xprop
. Список доступных параметров приведен в таблице.
Для получения значения тега для определенного окна нужно:
- запустить окно нужного приложения;
- запустить утилиту
xprop
из интерфейса командной строки:
xprop
- выбрать левой кнопкой мыши открытое окно, теги которого необходимо получить;
- информация по тегам утилиты
xprop
, назначенных для этого окна, отобразится в интерфейсе командной строки, пример:
WM_NAME(COMPOUND_TEXT) = "Домашняя - Менеджер файлов" _NET_WM_NAME(UTF8_STRING) = "Домашняя - Менеджер файлов" _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL _XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1 WM_CLIENT_LEADER(WINDOW): window id # 0x3200008 WM_HINTS(WM_HINTS): Client accepts input or input focus: True window id # of group leader: 0x3200008 WM_CLIENT_MACHINE(STRING) = "cl-00000" _NET_WM_PID(CARDINAL) = 1721 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 52429217 WM_CLASS(STRING) = "fly-fm-service", "fly-fm-service" WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST WM_NORMAL_HINTS(WM_SIZE_HINTS): user specified size: 1333 by 913 program specified minimum size: 182 by 219 window gravity: Static
Параметр | Назначение |
---|---|
wm:window:type | Соответствует тегу Допустимые значения: «dialog», «utility», «splash», «menu», «popup_menu», «tooltip», «notification», «normal» |
wm:class | Соответствует тегу |
wm:window:role | Соответствует тегу |
frame | Определяет реализуемое действие: использовать ( |
fullscreen | Определяет реализуемое действие: использовать ( |
Главное окно приложения всегда запускается в полноэкранном режиме!