Tags: RDP, RDS, Troubleshooting, Hyper-V
Die Freude über den neuen 4K-Monitor wird schnell getrübt, wenn Anwendungen mit der hohen Auflösung nicht zurechtkommen. Ein eigenes Problem sind RDP-Verbindungen, weil dort die Mittel zur Anpassung der Anzeige fehlen. Eine durchgängige Lösung dafür gibt es nicht, aber einzelne Maßnahmen können helfen.
Während Microsoft für die letzten Releases von Windows 10 ankündigte, die Darstellung von betagten Anwendungen auf hochauflösenden Bildschirmen zu verbessern, gibt es bei Remotedesktop-Sitzungen nur eingeschränkt Fortschritte. Das gilt besonders dann, wenn man unter Hyper-V auf die Konsole von virtuellen Maschinen zugreifen möchte.
Winzige Bildschirmelemente
Das Problem stellt dabei in den meisten Fällen nicht die maximale Auflösung, sondern die Skalierung von Schrift und Icons dar. Startet man auf einem 4K-Monitor eine RDP-Sitzung in einem Fenster, so erscheinen standardmäßig die meisten Bildschirmelemente des Remote Desktop so winzig, dass ein vernünftiges Arbeiten kaum möglich ist.
Das gilt auch für Versionen nach Windows 7, bei denen das lokale System die Skalierung der Remote-Session an seine eigene anpasst. Öffnet man diese in einem Fenster, dann sind die Bildschirmelemente zwangsläufig entsprechend kleiner.
Die einzige Konstellation, wo ich bei meinen Tests befriedigende Ergebnisse erhielt, benötigt Hyper-V unter Windows 10 oder Server 2016/2019 sowie den Hyper-V Manager unter ebendiesen OS-Versionen. Außerdem muss in der VM eines dieser Betriebssysteme laufen und am Client die Skalierung gewählt werden, welche auch die Session erhalten soll.
Auch der Vollbildmodus ist in keine wirkliche Alternative. Arbeitet man an einem 28 Zoll oder größeren Monitor, dann möchte man normalerweise nicht, dass eine Anwendung den ganzen Bildschirm ausfüllt, nur um Icons und Schrift zu skalieren. Läuft der Remote-Host unter Windows 7 oder Server 2008 R2, dann bleiben die Bildschirmelemente auch im Vollbild klein.
Auflösung und Skalierung in RDP-Sitzung nicht änderbar
Auf dem lokalen Rechner würde man sich bei einer solchen ungünstigen Darstellung damit behelfen, dass man unter Windows 10 in der App Einstellungen unter System => Anzeige die Skalierung vergrößert. Unter Windows 7 findet sich diese Option in der Systemsteuerung unter Darstellung und Anpassung => Anzeige.
In einer Remotedesktop-Sitzung lässt sich aber weder die Auflösung noch die Skalierung ändern. Erstere legt man stattdessen entweder in der Optionen des RDP-Clients oder bei vmconnect über den Dialog fest, der beim Start des erweiterten Sitzungsmodus erscheint (siehe dazu: Bildschirmauflösung für virtuelle Maschinen unter Hyper-V ändern).
Die Anzeigeoptionen des RDP-Clients bieten aber keine Möglichkeit für die Vergrößerung der Bildschirmelemente, und innerhalb der Sitzung sind die oben genannten Einstellungen deaktiviert. Greift man remote auf Windows 10 oder Server 2019 zu, dann kann man dort in der App Einstellungen unter Anzeige zumindest den Text vergrößern.
Der Nutzen dieser Maßnahme ist jedoch begrenzt, weil die anderen Bildschirmelemente nicht mitwachsen und die Beschriftung der Icons aufgrund des unveränderten Rasters nicht passt. Natürlich könnte man zusätzlich die Ansicht auf große Symbole umstellen, aber die Taskleiste und viele Anwendungen zeigen sich von der neuen Textgröße unbeeindruckt.
Das gilt besonders für die MMC-basierten Admin-Tools, die mit hochauflösenden Monitoren generell schlecht zurechtkommen. So nutzt jedes Teilfenster der Ereignisanzeige einen anderen Font, wobei einige auf die Vergrößerung reagieren, andere wieder nicht.
Einfacher Sitzungsmodus
Greift man auf virtuelle Maschinen unter Hyper-V zu, dann startet der Hyper-V Manager eine Remotedesktop-Sitzung über vmconnect. Dieses bietet zwei Sitzungsmodi, den einfachen und den erweiterten. Letzterer steht nur zur Verfügung, wenn der Remote-Host mindestens unter Windows 8.1 oder Server 2012 R2 läuft.
Keiner der beiden Modi erfordert, dass der Remotedesktop-Zugriff im Gast explizit aktiviert wird, weil die Verbindung direkt über den Hyper-V-Host erfolgt. Bei der einfachen Variante liegt aus der Perspektive des Gast-OS keine RDP-Sitzung vor, so dass man dort wie auf einem lokalen System die Auflösung und die Skalierung ändern kann.
Allerdings geht dies mit einigen Nachteilen einher. Zum einen ist dort die maximale Auflösung auf 1920 x 1080 beschränkt, so dass das Fenster auf einem 4K-Monitor nur ca. ein Viertel des Bildschirms bedeckt. Zum anderen stehen Komfortfunktionen wie Copy & Paste nur eingeschränkt zur Verfügung.
Zoom im RDP-Client
Als weitere Möglichkeit, die Lesbarkeit in Remotedesktop-Sitzungen zu verbessern, könnte man neue Features in den aktuellen RDP-Clients in Betracht ziehen. So unterstützen diese seit der Version 8.1 die so genannte intelligente Größenänderung ("Smart Sizing"), und Windows 10 bereicherte den erweiterten Sitzungsmodus von vmconnect um ein Dynamic Resize.
Beide dienen aber nur dazu, die Auflösung des Remotedesktop dynamisch zu vergrößern und zu verkleinern. Eine Auswirkung auf die Skalierung haben sie aber nicht.
Vielversprechender ist hier die Zoom-Funktion des regulären RDP-Clients, die mit Windows 10 hinzukam. Sie sollte genau das Problem der zu kleinen Darstellung lösen, und zwar speziell beim Zugriff auf ältere Versionen von Windows. In der Praxis führt aber schon ein Zoom von 125% zu einer so schlechten Schriftqualität, dass man damit nicht dauerhaft arbeiten kann.
mRemoteNG
Im Gegensatz zum Remote Desktop Connection Manager, der in einigen Foren als Lösung vorgeschlagen wird, ist das Open-Source-Tool mRemoteNG in der Lage, die Skalierung des lokalen und entfernten Rechners zu entkoppeln.
Das Tool hat zudem den Vorteil, dass man mit ihm alle Verbindungen zu virtuellen Maschinen unter einer Oberfläche organisieren kann. Zumindest in dieser Hinsicht kann man dann auf den Hyper-V Manager verzichten, wobei natürlich das Steuern der VMs aus mRemoteNG nicht möglich ist.
Remotedesktop App
Neben dem nativen RDP-Client, der zum Lieferumfang von Windows gehört, bietet Microsoft seit geraumer Zeit eine Remotedesktop App, die man über den Microsoft Store beziehen kann. Im Gegensatz zum normalen RDP-Client erlaubt sie, die Skalierung für die Session schon vorab einzustellen.
Standardmäßig starten Sitzungen dann im Vollbildmodus, alternativ kann man eine bestimmte Auflösung einstellen oder diese Auswahl der App überlassen. In der Praxis verhielt sie sich nur im Vollbild wie erwartet, ansonsten scheiterte sie beim Vergrößern und Verkleinern des Fensters.
So skalierte zwar die Darstellung, aber alle Bereiche außerhalb der ursprünglichen Größe blieben auf der Strecke.
Update: Vom beschriebenen Problem sind alle Store Apps auf Monitoren mit einer hohen Auflösung betroffen, wenn Full Windows Drag aktiviert ist. Abhilfe schafft das Deaktivieren dieses Features. Siehe dazu meine Anleitung.
Grundsätzlich eignet sich die App aufgrund der vorhandenen Konfigurationsmöglichkeiten besser für die Darstellung von RDP-Sessions auf HiDPI-Monitoren als der integrierte Client. Sie leidet jedoch unter dem erwähnten Bug, den man aber umgehen kann. Die Einschränkungen bei der Umleitung von Client-Ressourcen in die Remote-Session kann man wohl meistens akzeptieren.
Angepasster RDP-Client
Eine interessante Lösung findet sich auf poweruser.blog. Sie besteht darin, eine Kopie von mstsc.exe sowie der dazugehörigen .mui-Dateien zu erstellen und diese über einen Registry-Eintrag so zu konfigurieren, dass Remote-Sessions unabhängig von der Skalierung des Clients angezeigt werden.
Wenn der Name der Kopie mstsc2.exe ist, dann setzt folgende .reg-Datei den nötigen Key:
Verbindungen, die Bildschirmelemente zu klein darstellen, startet man dann künftig über diesen modifizierten Client, während für alle anderen der normale RDP-Client zur Verfügung steht.
Fazit
Abhängig von den Windows-Versionen am Client und auf dem Remote-Host stehen verschiedene Mittel zur Verfügung, um die Bildschirmanzeige zu skalieren. Am besten klappt dies noch, wenn man überall die neueste OS-Version einsetzt und am Client die Skalierung festlegt, die man in der Session haben möchte.
Alle anderen hier beschriebenen Methoden haben irgendwelche Nachteile oder führen zu unbefriedigenden Ergebnissen. Hyper-V unter Windows 10 schneidet nicht zuletzt wegen dieser Problematik im Vergleich zu VMware Workstation oder VirtualBox beim Benutzerkomfort schlecht ab.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- iPhone oder iPad mit Remote Desktop auf Windows-PCs verbinden
- Azure Virtual Desktop und Windows 365 unterstützen nun Multimedia Redirection
- Kein Netzwerk in Hyper-V-VMs nach Update auf Windows 11 22H2
- Remotedesktop in Windows 11 und Server 2022 aktivieren (GUI, WAC, WMI, GPO)
- Rangee Browser Redirection: Web-Seiten aus dem Remotedesktop auf lokalen Browser umleiten
Weitere Links
5 Kommentare
Die einfachste Lösung in einem Business Betrieb mit hochauflösenden Geräten besteht meiner Meinung nach darin, ein manifest File (fixe DPI Einstellungen) zu schreiben. Anschliessend Manifest Files über GPO zu aktivieren und auch über GPO das entsprechende mstsc.exe.manifest in den lokalen system32 Ordner zu kopieren. Dies ist eine effiziente und einfache Lösung.
Danke für diese weitere Lösung! Sie ist sicher sehr effizient, wenn zum Beispiel alle User auf Session Hosts zugreifen, die unter der gleichen Version von Windows Server laufen.
Der Fokus von meinem Beitrag war mehr auf dem Einsatz von RDP in der Systemverwaltung, wo man auf verschiedene OS-Versionen zugreifen muss. Hier hat das Manifest File den Nachteil, dass es sich auch dann auswirkt, wenn der Remote-Rechner unter einer neuen Windows-Version läuft und wo man die fixen DPI-Einstellungen vielleicht nicht haben möchte. Deswegen arbeitet die Lösung vom Poweruser-Blog mit einer Kopie von mstsc.exe.
Hallo,
leider habe ich das Problem auf einem Apple MAC. Da diese Geräteklasse so gar nicht zu meinem Fachgebiet gehört und in einem Windows-Blog sicher auch nicht, erlaube ich mir dennoch die Frage, ob hier vielleicht auch eine Lösung gibt?
Viele Grüße
Volker
Die RDP App für macOS von Microsoft unterstützt offenbar kein DPI Scaling. Laut Entwickler soll Royal TS aber dazu in der Lage sein.
Da Royel TS auf FreeRDP basiert, es scheinbar FreeRDP auch für MacOS gibt, werde ich wohl erst einmal genau das probieren. https://github.com/FreeRDP/FreeRDP/tree/master/client/Mac
Vielen Dank für den Tipp!