A set of programs for organizing remote desktop access LTSM 1.0 (Linux Terminal Service Manager) has been released. The project is primarily designed for setting up multiple virtual graphical sessions on a server and serves as an alternative to the Microsoft Windows Terminal Server family, allowing the use of Linux on client systems and on the server. The code is written in C++ and distributed under the GPLv3 license. For a quick introduction to LTSM, a Docker image has been prepared (the client needs to be built separately).
Changes in the new version:
- An RDP protocol has been added, implemented for experimental purposes and frozen due to a lack of interest in supporting a client for Windows.
- An alternative client for Linux has been created, with the main features:
- Traffic encryption based on gnutls.
- Support for tunneling multiple data channels over abstract schemes (file://, unix://, socket://, command://, etc.), using this mechanism allows for the bidirectional transmission of any data stream.
- Print redirection through an additional backend for CUPS.
- Sound redirection through the PulseAudio subsystem.
- Document scanning redirection through an additional backend for SANE.
- pkcs11 token redirection via pcsc-lite.
- Directory redirection through FUSE (currently in read-only mode).
- File transfer via drag&drop is functional (from the client to the virtual session, with request and notification dialogues through desktop-notify).
- Keyboard layout is working, with the client-side layout always prioritized (on the client side server nothing needs to be configured).
- Authentication into the virtual session via rutoken with a certificate storage in the LDAP directory is operational.
- Time zones, utf8 clipboard, and seamless mode are supported.
Main plans:
- Support for encoding using x264/VP8 (as the session video stream).
- Support for recording video of all working sessions (video documentation).
- Support for VirtualGL.
- Possibility of video redirection via PipeWire.
- Work on speeding up graphics through the Cuda API (currently lacks technical capabilities).
Source: opennet.ru
