2010-09-03 16:24:34 +0000 2010-09-03 16:24:34 +0000
17
17

Jak zmienić rozdzielczość ekranu serwera VNC bez jego restartu?

Czy można zmienić rozdzielczość przeglądarki określoną podczas uruchamiania serwera vnc argumentem linii poleceń geometrii? Mam vncserver skonfigurowany dla monitora szerokoekranowego, ale chcę go oglądać na ekranie 1024x768.

Odpowiedzi (7)

11
11
11
2010-12-05 19:18:56 +0000

To samo pytanie zadano jakiś czas temu na przelewie kominowym: https://stackoverflow.com/questions/15816/changing-the-resolution-of-a-vnc-session-in-linux

Przyjęta odpowiedź od Nathana Fellmana:

Prawdziwy serwer VNC 4.4 zawiera obsługę Xrandr, który pozwala na zmianę rozmiaru VNC. Uruchomić serwer za pomocą:

vncserver -geometry 1600x1200 -randr 1600x1200,1440x900,1024x768

Następnie zmienić rozmiar za pomocą:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768
10
10
10
2010-09-04 09:22:27 +0000

Przeglądarka UltraVNC obsługuje automatyczne skalowanie , więc automatycznie zmienia rozmiar okna podglądu, aby wyświetlić cały ekran zdalnego serwera.

Update

Zarówno RealVNC jak i TightVNC wyświetlanie/skalowanie pulpitu.

3
3
3
2013-04-26 07:00:41 +0000

Jeśli trzeba zmienić ustawienie bez restartu serwera VNC, miałem dobre wyniki z:

vncconfig -set RandR="1024x768,1600x900"

, a następnie używając xrandr do zmiany rozdzielczości, jak sugerował fgregg:

xrandr -s 1024x768
xrandr -s 1600x900
1
1
1
2019-09-22 22:43:57 +0000

Z TigerVNC klientem Windows VNC (przeglądarką) automatyczna rozdzielczość działa poza ramką. Nie trzeba niczego ustawiać nigdzie, na kliencie ani na serwerze. Kiedy pierwszy raz łączysz się z serwerem, rozdzielczość jest ustawiona na dowolną ustawioną po stronie serwera, ale możesz ją łatwo zmienić tylko poprzez zmianę rozmiaru okna klienta; na dowolną, szaloną, niestandardową, ad hoc rozdzielczość, którą chcesz. Rozdzielczość zdalnego pulpitu, powiedzmy KDE, podąża gładko za rozdzielczością Twojego okna klienta.

Sprawdź, czy “Zmień rozdzielczość sesji zdalnej do okna lokalnego” jest ustawiona. Powinna być domyślnie ustawiona.

Proszę nie mylić automatycznej zmiany rozdzielczości z rozciąganiem obrazu, alternatywnie nazywanej auto-skalowaniem. To calowanie jest praktycznie bezużyteczne, chyba że jesteś niedowidzący. To działa jak zoom lub looking glass w popularnych edytorach bitmap. Po prostu powiększa (lub zmniejsza) piksele poprzez rozciąganie obrazu wyjściowego. Zmniejsza to znacznie jakość obrazu, jeśli dużo się rozciągasz.

To, czego zazwyczaj oczekują użytkownicy, to prawdziwa zmiana rozdzielczości zdalnej sesji. I o tym właśnie mówiłem wcześniej i do tego właśnie zdolny jest klient TigetVNC, dostarczając serwer o odpowiedniej funkcjonalności. Auto-rozdzielczość pozwala zachować ostrość obrazu przy dowolnym rozmiarze. Minusem jest również zwiększenie przepustowości sieci.

Dotychczas stwierdziłem, że tylko TigerVNC jest zdolny do auto-rozdzielczości. Przetestowałem TightVNC (open source), RealVNC (wersja darmowa) i UltraVNC (open source) i nie miałem szczęścia do żadnego z nich, w najlepszym wypadku zapewniają bezużyteczne automatyczne skalowanie.

Strona główna TigerVNC: https://tigervnc.org/ źródła TigerVNC: https://github.com/TigerVNC/tigervnc wydania TigerVNC na GitHubie: https://github.com/TigerVNC/tigervnc/releases Binaria TigerVNC do pobrania: https://bintray.com/tigervnc/stable/tigervnc/1.9.0

Jeśli chcesz tylko oglądać, to pobierz tylko przeglądarkę, jak vncviewer64-1.9.0.exe , czyli tylko przeglądarkę bez dołączonego serwera VNC. Zwróć uwagę, że z serwerem TigerVNC usługa uruchamia się automatycznie, po cichu, w tle, co stanowczo odrzucam jako ewentualne zagrożenie bezpieczeństwa.

Mój serwer jest uruchomiony bez ustawienia -randr i tylko podstawowy -geometry 1024x768. Ta niska rozdzielczość jest używana tylko przy pierwszym połączeniu, ale potem możesz zmienić rozdzielczość po prostu zmieniając rozmiar okna klienta. Jeśli jesteś ciekaw, oto moja pełna komenda serwera VNC:

/usr/bin/Xvnc -log *:syslog:30,TcpSocket:syslog:-1 -inetd -MaxDisconnectionTime=5 -securitytypes=none -displayfd 10 -geometry 1024x768 -AllowOverride=Desktop,AcceptPointerEvents,SendCutText,AcceptCutText,MaxDisconnectionTime,MaxConnectionTime,MaxIdleTime,QueryConnect,QueryConnectTimeOut,AlwaysShared,NeverShared,DisconnectClients,SecurityTypes,Password,PlainUsers -query localhost -once -desktop New session -extension MIT-SHM

Zgodnie z opisem pakietu openSuse, xorg-x11-Xvnc - serwer openSuse VNC - jest zbudowany na kodzie TigerVNC. Tak więc w moim przypadku klient TigerVNC rozmawia z serwerem TigerVNC, więc może dlatego wszystko jest takie bezproblemowe :)

Moja konfiguracja klienta: Klient TigerVNC 1.9.0 (Windows) Konfiguracja mojego serwera: openSuse 15.1, xorg-x11-Xvnc 1.9.0, vncmanager 1.0.2, GDM, KDE Plasma.

0
0
0
2018-07-15 06:44:35 +0000

Otrzymałem oficjalną odpowiedź na piśmie do działu obsługi klienta VNC.

Krótka wersja brzmi: nie, nie można zmienić rozdzielczości zdalnej, aby automatycznie dopasować do lokalnego okna kontrolera vnc / rozdzielczości ekranu.

Powiedzieli mi, że to dlatego, że RDP jest prawdziwą sesją logowania, więc ekran zachowuje się tak, jak jesteś zwykłym użytkownikiem w kontrolowanym systemie.

VNC po prostu odzwierciedla ekran. I nie jest to zła rzecz, ponieważ nie możesz udostępnić sesji RDP, ale możesz udostępnić VNC

Zasugerowałem stworzenie konfiguracji na serwerze vnc, aby umożliwić zmianę ekranu, ponieważ wiem, że windows API pozwala na programowe ustawienie rozdzielczości ekranu przez osoby trzecie.

Wtedy poczekam…

0
0
0
2011-09-20 21:00:13 +0000

Za pomocą TightVNC (co najmniej), jeśli serwer (okna) zmienia rozdzielczość ekranu, wówczas klient zmienia się automatycznie, aby dopasować nową rozdzielczość.

0
0
0
2017-04-20 20:52:12 +0000

W przypadku TightVNC, kliknij na ikonę biegu (ustawienia) i zmień jakość obrazu na “Wysoki” i będzie on działał ładnie.