Download PDF
Download page Сервер терминалов. Настройка.
Сервер терминалов. Настройка
Настройка STAL
Для настройки STAL необходимо отредактировать конфигурационные файлы /etc/stal/stal_service.json
и /etc/stal/stal_proxy.json
.
Параметры внутри конфигурационных файлов имеют следующую структуру:
{
"параметр": "значение",
"параметр": [ "значение 1", ..., "значение N" ],
"параметр": [ "значение 1", "%{значение 2}", ..., "значение N" ],
"параметр": [ "аргумент:%{значение}" ]
}
Поля %{значение}
используются для подстановки служебных значений.
Целочисленные значения не заключаются в кавычки.
Пример файла /etc/stal/stal_proxy.json
:
{
"debug:level": "debug",
"transport:debug": false,
"listen:port": 3389,
"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}" ]
}
Пример файла /etc/stal/stal_service.json
:
{ "debug:level": "debug",
"display:min": 101,
"display:max": 901,
"#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",
"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": ""
}
Список доступных параметров конфигурационного файла /etc/stal/stal_proxy.json
приведен в таблице.
Параметр | Назначение | Значение по умолчанию |
---|---|---|
debug:level | Уровень отладочных сообщений. Возможные значения: debug , info , none | debug |
transport:debug | Управление режимом отладочного журналирования для По умолчанию режим отладочного журналирования выключен. Для включения необходимо присвоить параметру значение | false |
listen:port | Сервисный порт доступа | 3389 |
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 | Список аргументов для команды | /ipc-socket:%{socket} |
Список доступных параметров конфигурационного файла /etc/stal/stal_service.json
приведен в таблице.
Параметр | Назначение | Значение по умолчанию |
---|---|---|
debug:level | Уровень отладочных сообщений. Возможные значения: | debug |
display:min | Нижняя граница нумерации сессий | 101 |
display:max | Верхняя граница нумерации сессий (влияет только на допустимое максимальное количество сессий на сервере, limits = display:max - display:min ) | 901 |
runtime:dir | Рабочий каталог сервиса STAL | /run/stal |
runtime:xdg | XDG -каталог сессии | /run/user/%{uid} |
xvfb:path | Путь запуска X11 -сервера | /usr/lib/xorg/Xorg |
xvfb:args | Список аргументов Возможны подстановки служебных значений: | Не задано |
xvfb:sock | Формат сокета для Возможна подстановка служебного значения: | /tmp/.X11-unix/X%{display} |
pam:service | Наименование сервиса доступа PAM | stal |
session:path | Команда запуска сессии | /usr/bin/fly-wm |
session:args | Список аргументов для команды сессии | Не задано |
session:programs | Файл списка разрешенных программ для режима seamless , формат json | /etc/stal/programs.json |
seamless:timeout | Таймаут закрытия программной сессии | 60 |
applications:skip | Список запрещенных программ, которые не будут опубликованы. В значении параметра должен указываться ярлык программы: <имя программы>.desktop | 1cestart.desktop |
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" ],
}
]
Пример файла:
[
{
"name": "Midnight Commander",
"path": "/usr/bin/xterm",
"args": [ "-e", "/usr/bin/mc" ]
},
{
"name": "Chromium Gost",
"path": "/usr/bin/chromium-gost",
"args": []
}
]
Консольные программы необходимо запускать через графический терминал (см. пример для Midnight Commander
).
Несистемные программы, которые требуют дополнительных настроек переменных среды, например LD_LIBRARY_PATH
, следует запускать отдельным файлом сценария (скриптом), в котором все эти переменные должны быть определены.
Пример файла сценария для определения переменных среды и запуска программы RuBackup Manager
:
#!/bin/bash
export PATH=$PATH:/opt/rubackup/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rubackup/lib
/opt/rubackup/bin/rbm
exit 0
Задание списка запрещенных программ
В некоторых случаях может потребоваться задать список запрещенных программ, которые не должны быть опубликованы сервером STAL.
Такая необходимость может возникнуть в случае, если программа может выполняться в фоновом режиме. Например, в списке программ после установки 1С
есть три исполняемых экземпляра:
1C:Enterprise x64
;1C:Enterprise - Thin client x64
;1C:Enterprise x64
- этот экземпляр запускает подпрограмму1cestart
, которая выполняется только в фоновом режиме.
Список запрещенных программ задается через параметр applications:skip
конфигурационного файла /etc/stal/stal_service.json
. По умолчанию в нем уже хранится значение для запрета программы из приведенного выше примера - 1cestart.desktop
.