Windows RDP - możliwa zmiana rozmiaru rozdzielczości w locie?

30

Zastanawiam się, czy można zmienić rozmiar pulpitu podczas sesji RDP w locie

Zdaję sobie sprawę, że możesz to zrobić przed połączeniem, ale chcę zmienić rozmiar w locie, podobnie jak działa vmware. Jeśli mam go w oknie o wymiarach 800 x 600, chciałbym zmienić rozmiar pulpitu zdalnego na 800 x 600 ... ale jeśli zmaksymalizuję moje okno lokalne lub przejdę na pełny ekran, chciałbym, aby pulpit zdalny przyjął rozdzielczość lokalnego PC lub wymiary okna.

VMWare robi to dokładnie tak, jak chcę z opcją „Użyj ustawień hosta dla monitorów”

Gdy przeskalowuję okno, skala pulpitu gościa os, czy chciałbym to zrobić podczas sesji RDP?

Jakieś pomysły?

zimmer62
źródło
Niestety, nie mogę jeszcze wybrać odpowiedzi. Aby to umożliwić, musi być jakiś hack.
zimmer62,
Stworzyłem opakowanie wokół rdesktop, które łączy cię z nową geometrią za każdym razem, gdy zmieniasz rozmiar okna. Jest to po prostu szybki hack, ale naprawdę przydatny. Jest to tylko linux, ale jestem w 100% pewien, że można to również zaimplementować w systemie Windows. github.com/kalmi/rrdesktop
Tarnay Kálmán
1
Ponowne uruchomienie wydaje się być bólem, ale wydaje mi się, że jest to obecnie najlepsze możliwe rozwiązanie. Ponieważ coś takiego jak vmware robi to w locie, pomyślałbym, że oprogramowanie klienckie działające na pilocie może pomóc w zmianie rozmiaru pulpitu bez ponownego uruchomienia. Zastanowię się, czy skrypt autoit lub skrypt autohotkey mógłby to zrobić w locie.
zimmer62
1
Sposób, w jaki to wdrożyłem, nie jest bólem. Podaj swoją nazwę użytkownika i hasło w wierszu poleceń. I za każdym razem, gdy zmieniasz rozmiar okna, po prostu ponownie uruchomi sesję i zaloguje się ponownie. W rzeczywistości wydaje się, że zmienia się rozmiar okna vmware. Staje się ponownie użyteczny w mniej niż 2 sekundy.
Tarnay Kálmán

Odpowiedzi:

8

Jest to zaimplementowane jako nowa funkcja o nazwie „Dynamic Resolution Update” i została wprowadzona w Windows 8.1. Dopóki rozdzielczość zostanie ustawiona na kliencie na „Pełny ekran”, rozdzielczość pulpitu będzie zsynchronizowana z klientem.

Jedną ze zmian, które wprowadziliśmy w ramach RDP 8.1, jest dodanie nowej wiadomości, którą można wysłać z klienta na serwer w celu dynamicznej aktualizacji rozdzielczości w sesji zdalnej, aby dopasować ją do tego, co jest dostępne na kliencie bez potrzeby aby wykonać pełne ponowne połączenie sesji. Wcześniej rozdzielczość zdalną ustawialiśmy tylko podczas pierwszego połączenia. Dzięki tej zmianie rozdzielczość jest ustawiana w czasie połączenia i może być aktualizowana, gdy zmienia się rozdzielczość po stronie klienta, gdy aplikacja jest w trybie pełnoekranowym lub gdy aplikacja przechodzi z trybu okienkowego do pełnego ekranu. Zmiana rozdzielczości jest wystarczająco szybka, aby być praktycznie taka sama jak zmiana lokalna.

Więcej informacji można znaleźć w ogłoszeniu na blogu RDS.

Mitch
źródło
2
Aktualizacja rozdzielczości dynamicznej działa, jeśli używasz „Microsoft Remote Desktop” ze sklepu Windows, ale nie ma możliwości włączenia go przy użyciu standardowej wersji pulpitu zdalnego Windows (mstsc). Niestety klient RDP sklepu Windows jest ograniczony do jednej sesji na raz!
Sevin7
@ Sevin7, wersja pulpitu zdalnego pulpitu (dobra ol ' mstsc) zareaguje na zmiany rozdzielczości po zmaksymalizowaniu. Na przykład, jeśli zadokujesz laptopa, połączona sesja zostanie zaktualizowana do nowego rozmiaru monitora. Dzieje się tak również podczas maksymalizacji do monitora o innym rozmiarze. Wersja Pulpitu zdalnego w Sklepie Windows zmienia rozmiar przy zmianie rozmiaru okna i obsługuje wiele połączeń w trybie kart, ale nie w wielu oknach.
Mitch,
1
Mitch: dziękuję za wyjaśnienie. W blogu MS wspomniano, że powinno działać, jeśli zaczynasz na pełnym ekranie, ale nie mogłem go uruchomić, ponieważ nie mam wielu monitorów z różnymi rozdzielczościami. Próbowałem zmusić go do dostosowania rozdzielczości podczas zmiany rozmiaru z pełnoekranowego na niepełny ekran (okno), co robi aplikacja sklepu Windows, ale mstsc tego nie robi.
Sevin7
7

Możesz zajrzeć do następującego ustawienia w pliku RDP:

smart sizing:i:1

Użycie inteligentnego rozmiaru pozwoli skalować sesję i usunie paski przewijania. Możesz spróbować dostosować rozmiar wyświetlacza przed podłączeniem, aby uzyskać pożądany efekt. Nie jest to dokładnie to, czego szukasz, ale najbliższe, jakie znajdziesz, korzystając z bieżącej implementacji PROW.

Jedynym zastrzeżeniem jest to, że pulpit pozostanie w efektywnej rozdzielczości, od której zaczniesz. Na przykład, jeśli uruchomisz pulpit w rozdzielczości 1024x768, możesz zmienić jego rozmiar (i będzie się zmniejszać, zmniejszając się i trudniej odczytać), ile chcesz, ale nie możesz go zmienić w celu pełnego wypełnienia ekranu 1080p. Jeśli zaczniesz od wielu monitorów, a następnie sprowadzisz go do pojedynczego monitora, wyświetlacz RDP pokaże wiele pulpitów obok siebie, połączonych ze sobą, w jednym oknie.

Zobacz tutaj blog z dalszymi szczegółami.

Nawiasem mówiąc, wielokrotnie korzystałem ze skompilowanej listy ustawień plików RDP z University of North Carolina w Charlotte College of Engineering. Mam nadzieję że to pomoże.

Eric
źródło
1
Lubię inteligentne sortowanie, ale tak naprawdę szukam zmiany rozdzielczości bez ponownego łączenia.
zimmer62
3

Smart sizing jest teraz pełnoprawną funkcją pulpitu zdalnego, ale jest „ukryty” w menu po kliknięciu prawym przyciskiem myszy

wprowadź opis zdjęcia tutaj

Źródło: mój (włoski) artykuł tutaj ( Tłumacz Google )

Mam nadzieję, że to pomoże

Dr Gianluigi Zane Zanettini
źródło
1
Podoba mi się, że to obsługuje, ale nie jest to dokładnie to, czego szukam. Jeśli zobaczysz, jak to robi VMWare, pozwoli ci zmienić rozmiar pulpitu bez skalowania.
zimmer62
Rozumiem, co masz na myśli i jestem prawie pewien, że obecnie nie jest obsługiwany przez RDP, nawet jeśli może być bardzo przydatny.
Dr Gianluigi Zane Zanettini
0

Nie znam sposobu zmiany rozmiaru po uruchomieniu sesji przy użyciu standardowego klienta RDP. Możesz wypróbować mRemote, który pozwala na to dzięki opcji „Smart Resize”. (Zastrzeżenie: strona przeglądu mRemote informuje, że mRemote działa tylko w systemie Windows XP i Windows Vista, a nie w systemie Linux).

prototyp
źródło
mRemote już nie istnieje. Zostało zastąpione oprogramowaniem komercyjnym. Istnieje również mRemoteNG . Zaktualizuj odpowiednio swój post.
Der Hochstapler,
0

Po prostu umieszczam to tutaj dla widoczności, pełne uznanie dla @ Sevin7 za ich komentarz powyżej:

Użyj aplikacji Microsoft Remote Desktop ze sklepu Windows zamiast wersji zapisanej w systemie Windows. Ma opcję, którą musisz włączyć podczas pierwszego połączenia, aby „zaktualizować rozdzielczość sesji zdalnej przy zmianie rozmiaru”, która pozostanie włączona dla kolejnych połączeń.

Ben
źródło
0

Możesz używać WSL na Windowsie i zainstalować freerdp2-x11 (używam debiana): apt update apt upgrade apt install freerdp2-x11 eksport DISPLAY = localhost: 0.0

uruchom xserver (na przykład vcxsrv) na komputerze z systemem Windows xfreerdp / u: / v: / dynamic-resolution

Po zmianie rozmiaru rozdzielczość jest dostosowywana. I to jest za darmo :-)

Jeroen Bleeker
źródło