Download PDF
Download page Параметры конфигурирования.
Параметры конфигурирования
Параметры конфигурирования 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 нужно воспользоваться командой:
BASH
Для выбора кодеков, которые будут использоваться при декодировании видеоизображения нужно:
|
|
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 | Определяет реализуемое действие: использовать ( |
Главное окно приложения всегда запускается в полноэкранном режиме!