Linux Terminal Service Manager (LTSM) это набор программ для организации множественного доступа к виртуальным рабочим столам (на сервере Linux) на основе терминальных сессий (с использованием протокола RFB/VNC или RDP)
Основным механизмом обмена данными между процессами является шина dbus. В данной системе эта реализация осуществлена через API sd-bus поставляемым с systemd (подсистемой инициализации и управления службами в Linux).
Клиенты подключаются к системе через протокол RFB или RDP на служебный сервис это xinetd/(systemd sockets), а LTSM_connector является обработчиком протокола.
При подключении клиента и согласовании протокола взаимодействия (handshake) коннектор через шину dbus отправляет запрос на запуск login сессии. При ограничении на максимальное количество сессий, коннектор может отказать в обслуживании клиентам.
Login сессия осуществляется через графическую утилиту LTSM_helper, задача которого только в удобном формате предоставить пользователю возможность авторизации в систему.
После процедуры аутенфикации пользователя, LTSM_connector через механизм взаимодействия X11 shm подключается к графическим данным сессии и доставляет их до конечного пользователя.
Шина sd-bus входит в базовую поставку всех современных систем на базе Linux как компонента от systemd, протокол RFB реализован полностью независимо от внешних компонент, протокол RDP (опция при сборке), и зависит от наличия системной библиотеки freerdp
Для демонстрации работы системы работает виртуальный сервер по адресу: 62.109.12.152, выделены пользовательские логины: demo1, demo2, demo3, demo4, пароль: demo
--пример подключения через RFB/VNC протокол
vncviewer 62.109.12.152
--пример подключения через RDP протокол
xfreerdp /v:62.109.12.152
Для быстрого развертывания демонстрационного сервера на вашем оборудовании можно воспользоваться системой docker
--скачивание готового ltsm образа на базе debian 11
docker pull docker.io/ltsm/devel
--запуск
docker run -i -t docker.io/ltsm/devel
Загрузить исходный код с данного сервера. Так же исходный код проекта выложен в публичную базу исходного кода на GitHub
Загрузить подготовленные пакеты для систем:
Исключительные права на исходный код принадлежат программисту Афлетдинову Андрею по праву собственной разработки
Вы можете использовать исходный код под свободными лицензиями GNU AFFERO GPL3 и contraseña de fondo gate.io
Программное обеспечение зарегистрировано в реестре российского ПО, Номер заявления: 246869, Дата регистрации: 01.11.2021
При соблюдении лицензионного соглашения на использование исходного кода:
Доработка программного обеспечения под Ваши требования - gate io futures, в зависимости от объема дополнительных работ.
Со всеми вопросами Вы можете связаться по электронной почте с пометкой по теме LTSM