Anzeige von RDP-Sitzungen für hochauflösende Monitore anpassen

    Auflösung für VM unter Hyper-V ändernDie Freude über den neuen 4K-Monitor wird schnell ge­trübt, wenn Anwen­dungen mit der hohen Auf­lösung nicht zu­recht­kommen. Ein eigenes Prob­lem sind RDP-Ver­bindungen, weil dort die Mittel zur Anpas­sung der An­zeige fehlen. Eine durch­gängige Lösung dafür gibt es nicht, aber ein­zelne Maß­nahmen können helfen.

    Während Microsoft für die letzten Releases von Windows 10 ankündigte, die Darstellung von betagten Anwen­dungen auf hochauf­lösenden Bildschirmen zu verbessern, gibt es bei Remotedesktop-Sitzungen nur einge­schrä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 standard­mäßig die meisten Bildschirm­elemente des Remote Desktop so winzig, dass ein ver­nünftiges Arbeiten kaum möglich ist.

    Läuft der Desktop der Remote-Sitzung im Fenster, sind die Bildschirmelemente in der Regel wesentlich kleiner als am Client.

    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 Bildschirm­elemente zwangs­lä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 Betriebs­systeme laufen und am Client die Skalierung gewählt werden, welche auch die Session erhalten soll.

    VMs mit Windows 8.1 und 10 im erweiterten Sitzungsmodus unter einem aktuellen Hyper-V

    Auch der Vollbild­modus ist in keine wirkliche Alternative. Arbeitet man an einem 28 Zoll oder größeren Monitor, dann möchte man normaler­weise 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 Bildschirm­elemente 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 System­steuerung 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 Sitzungs­modus erscheint (siehe dazu: Bildschirmauflösung für virtuelle Maschinen unter Hyper-V ändern).

    Weder Auflösung noch Skalierung lassen sich in einer Remote-Sitzung ändern, man erfährt nicht einmal die aktuellen Werte.

    Die Anzeige­optionen des RDP-Clients bieten aber keine Möglichkeit für die Ver­größerung der Bildschirm­elemente, 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.

    Nur den Text zu vergrößern bringt für ganze Desktops keine wesentliche Verbesserung.

    Der Nutzen dieser Maßnahme ist jedoch begrenzt, weil die anderen Bildschirm­elemente 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 unbe­eindruckt.

    Das gilt besonders für die MMC-basierten Admin-Tools, die mit hoch­auflösenden Monitoren generell schlecht zurecht­kommen. So nutzt jedes Teilfenster der Ereignis­anzeige 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.

    Im einfachen Sitzungsmodus kann man die Auflösung und Skalierung des Remotedesktops ändern.

    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 Komfort­funktionen 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 Sitzungs­modus 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.

    Die Zoom-Funktion von RDP 10 führt zu einer schlechten Darstellungsqualität.

    Viel­versprechender 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 Schrift­qualität, dass man damit nicht dauerhaft arbeiten kann.

    mRemoteNG

    Im Gegensatz zum Remote Desktop Connection Manager, der in einigen Foren als Lösung vor­geschlagen wird, ist das Open-Source-Tool mRemoteNG in der Lage, die Skalierung des lokalen und entfernten Rechners zu entkoppeln.

    Darstellung eines Remotedesktop unter Windows 10 mit mRemoteNG

    Das Tool hat zudem den Vorteil, dass man mit ihm alle Verbindungen zu virtuellen Maschinen unter einer Ober­flä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.

    Grundsätzlich wäre die App in der Lage, die Skalierung der Remote-Session festzulegen.

    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.

    Obwohl in den Einstellung höhere Auflösungen unterstützt werden, scheiterte ein Vergrößern des Fensters auf über 1024x768.

    Grundsätzlich eignet sich die App aufgrund der vorhandenen Konfigurations­mö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.

    Kopie von mstsc.exe erstellen und konfigurieren

    Wenn der Name der Kopie mstsc2.exe ist, dann setzt folgende .reg-Datei den nötigen Key:

    Verbindungen, die Bildschirm­elemente 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 unbe­friedigenden Ergebnissen. Hyper-V unter Windows 10 schneidet nicht zuletzt wegen dieser Problematik im Vergleich zu VMware Workstation oder VirtualBox beim Benutzerkomfort schlecht ab.

    5 Kommentare

    Bild von Yves
    Yves sagt:
    7. Juli 2019 - 9:48

    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.

    Bild von Wolfgang Sommergut
    7. Juli 2019 - 20:22

    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.

    Bild von Volker A Mönch
    Volker A Mönch sagt:
    7. August 2019 - 10:46

    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

    Bild von Wolfgang Sommergut
    7. August 2019 - 11:13

    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.

    Bild von Volker A Mönch
    Volker A Mönch sagt:
    7. August 2019 - 11:58

    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!