Die Entwickler von FreeRDP haben Version 3.33.0 veröffentlicht. Wichtigste Neuerung ist die Unterstützung für WebAssembly: Damit lässt sich der freie Remote-Desktop-Client direkt im Webbrowser ausführen. Hinzu kommen Verbesserungen am SDL-Client für nahtlos eingebundene Einzelanwendungen (RAIL), eine experimentelle UDP-Unterstützung für direkte RDP-Verbindungen ohne Gateway und eine überarbeitete Zwischenablage für Dateien unter macOS.
FreeRDP ist eine Open-Source-Implementierung von Microsofts Remote Desktop Protocol (RDP). Das Projekt stellt sowohl eigene Clients – unter anderem für X11, Wayland und SDL – als auch Programmbibliotheken und Server-Komponenten bereit. Administratoren nutzen FreeRDP vor allem, um von Linux-, macOS- oder Mobilgeräten aus auf Windows-Server und virtuelle Desktops zuzugreifen. Entwickler wiederum binden die Bibliotheken als Unterbau in andere Fernwartungs- und Virtualisierungssoftware ein. Zum Beispiel nutzen grafische Clients wie Remmina oder das Grafik-Subsystem von WSLg (Windows Subsystem for Linux GUI) FreeRDP.
RDP-Sitzungen im Browser und über direktes UDP
Für die neue Browser-Unterstützung übersetzen die Entwickler den Code mit Emscripten nach WebAssembly. Für die Verbindung zu einem RDP-Server wird ein Vermittlungsdienst benötigt, etwa eine WebSocket-zu-TCP-Brücke wie websockify. Wie aus der offiziellen Release-Ankündigung zu FreeRDP 3.33.0 hervorgeht, nutzt der Web-Port moderne Browser-Schnittstellen, um Systemfunktionen abzubilden: Videostreams in den Formaten H.264 und AV1 dekodiert FreeRDP im Browser über die WebCodecs-API, während ein Web-Audio-Backend die Tonausgabe und Mikrofoneingabe übernimmt. Zudem unterstützt der Emscripten-Build WebAssembly-SIMD-Instruktionen zur Beschleunigung von Grafikoperationen, bindet die Zwischenablage des Browsers an und erlaubt es, eine HTML-Canvas-Fläche in mehrere virtuelle Monitore aufzuteilen.
Im Netzwerk-Stack führt FreeRDP 3.33.0 eine experimentelle Unterstützung für UDP-Verbindungen ein, die direkt und ohne zwischengeschaltetes RD-Gateway aufgebaut werden. RDP wickelt den Verbindungsaufbau zwar klassisch über TCP ab, nutzt im Multitransport-Betrieb aber zusätzlich UDP-Kanäle, um Bild- und Audiodaten bei schwankender Leitungsqualität mit geringerer Latenz zu übertragen. Wer bei Problemen in restriktiven Netzwerken ausschließlich TCP erzwingen möchte, kann den UDP-Multitransport über den Parameter /multitransport:tcp-only abschalten.
Ausbau bei RemoteApp
Deutlich ausgebaut hat das Projekt den plattformübergreifenden SDL-Client, insbesondere bei den sogenannten RAIL-Funktionen (Remote Applications Integrated Locally). Hinter RAIL steckt die Technik für Microsofts RemoteApp: Statt eines kompletten entfernten Desktops überträgt der Server bloß einzelne Anwendungsfenster, die sich auf dem lokalen Rechner wie native Programme verhalten. Version 3.33.0 unterstützt RemoteApp im SDL-Client nun auch unter Windows, korrigiert die Fensterpositionierung und das Verhalten auf Systemen mit mehreren Monitoren und behandelt Pop-up-Fenster zuverlässiger.
Unter macOS kommt die Datei-Zwischenablage in allen Clients ab sofort ohne FUSE (Filesystem in Userspace) aus, sodass sich Dateien im Finder direkt per Copy & Paste mit dem entfernten Server austauschen lassen. Ferner nehmen nun sämtliche Clients Unicode-Tastatureingaben über eine benannte Pipe entgegen, sofern das jeweilige Betriebssystem Unix-Pipes per mkfifo unterstützt. Das ist praktisch für Skripte oder Passwortmanager, die Zeichenfolgen automatisiert in eine Sitzung einspeisen.
Auf der Serverseite kehrt die experimentelle Unterstützung für den Windows-Shadow-Server zurück, mit dem sich laufende Benutzersitzungen zu Support- oder Schulungszwecken spiegeln und fernsteuern lassen. Das überarbeitete Backend nutzt unter anderem DXGI zur Bildschirmaufnahme und kann auch den Secure Desktop erfassen, etwa bei UAC-Abfragen. Abgerundet wird das Release durch Hardware-Encoding und -Decoding für H.264 über Apples VideoToolbox, ein AVFoundation-Kamerabackend unter macOS und die Option, eine Videodatei oder eine GStreamer-Pipeline als virtuelle Kamera in die RDP-Sitzung einzubinden. Da bis zum Release sehr viele Pull-Requests und Fehlermeldungen eingegangen sind, stellen die Entwickler im vollständigen Changelog auf GitHub und im Blog bereits ein zeitnahes Patch-Release für verbleibende Detailfehler in Aussicht.
(fo)
Source: Heise · Moritz Förster
At a glance
- Topic
- Technology
- Country
- 🇩🇪 DE
- Publisher language
- DE
- Added to Allnira