Come modificare la risoluzione dello schermo del server VNC senza riavviarlo?


17

È possibile modificare la risoluzione del visualizzatore specificato durante l'avvio del server vnc con l'argomento della riga di comando geometria? Ho un server virtuale configurato per un monitor widescreen ma voglio vederlo su uno schermo 1024x768.

Risposte:


10

Il visualizzatore UltraVNC supporta il ridimensionamento automatico , quindi ridimensionerà automaticamente la finestra di visualizzazione per visualizzare l'intero schermo del server remoto.

VNC Viewer

Aggiornare

Sia RealVNC e TightVNC il ridimensionamento dello schermo / desktop.


Sto usando il vero vnc 4.1.3. dove trovare l'opzione di ridimensionamento del desktop? Io non riesco a trovarlo.
Rohit Banga,

Non è incluso in RealVNC Free Edition, è necessario per la versione personale o Enterprise. Vedi il confronto delle funzionalità realvnc.com/products/download.html
stukelly

Ho scaricato il visualizzatore ultra vnc. Funziona grazie.
Rohit Banga,

2
Non ridimensionare, ma ridimensionare, modificare automaticamente la risoluzione del PC controllata per adattarla allo schermo del controller.
Realtebo,

Attenzione: il ridimensionamento automatico non modifica la risoluzione del desktop remoto , ma ingrandisce (o riduce) i pixel allungando l'immagine di output. Per la maggior parte degli utenti il ​​ridimensionamento automatico è praticamente inutile, a meno che non si sia ipovedenti. Diminuisce significativamente la qualità dell'immagine. Funziona come lo zoom o lo specchio nei famosi editor di bitmap. Ciò che gli utenti vogliono davvero è il vero cambiamento di risoluzione della sessione remota e finora solo TigerVNC è in grado di farlo, da tutti i visualizzatori gratuiti. Vedi la mia risposta qui sotto.
Espinosa,

11

La stessa domanda è stata posta qualche tempo fa su overflow dello stack: /programming/15816/changing-the-resolution-of-a-vnc-session-in-linux

La risposta accettata da Nathan Fellman:

Il vero server VNC 4.4 include il supporto per Xrandr, che consente di ridimensionare il VNC. Avviare il server con:

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

Quindi ridimensiona con:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768  

Con il client TigerVNC non è necessario impostare alcuna geometria sul lato server. Il mio server viene eseguito senza alcuna -randrimpostazione e solo di base -geometry 1024x768. Questa bassa risoluzione viene utilizzata solo quando ti connetti per la prima volta, ma puoi modificare la risoluzione semplicemente ridimensionando la finestra del client in base a tutto ciò che desideri, a qualsiasi pazza risoluzione non standard e ad hoc che desideri. La mia configurazione: openSuse 15.1, GDM, KDE Plasma, TigerVNC client 1.9.0 (Windows)
Espinosa,

3

Se è necessario modificare l'impostazione senza riavviare il server VNC, ho ottenuto buoni risultati con:

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

e quindi usando xrandr per cambiare la risoluzione come suggerito da fgregg:

xrandr -s 1024x768
xrandr -s 1600x900

1

Con TigerVNC Windows VNC client (visualizzatore) la risoluzione automatica è pronta all'uso . Non è necessario impostare nulla ovunque, sul client o sul server. Quando ti connetti per la prima volta al tuo server, la risoluzione è impostata su qualsiasi cosa sia preimpostata sul lato server ma puoi facilmente cambiarla semplicemente ridimensionando la finestra del client; a qualsiasi risoluzione, qualsiasi risoluzione pazza, non standard, ad hoc che desideri. La risoluzione del desktop remoto, ad esempio KDE, segue senza problemi la risoluzione della finestra del client.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Verificare che "Ridimensiona sessione remota alla finestra locale" sia impostato. Dovrebbe essere di default.

Non confondere la modifica automatica della risoluzione con lo stiramento dell'immagine , in alternativa chiamato ridimensionamento automatico . Questo caling è praticamente inutile, a meno che tu non sia ipovedente. Funziona come lo zoom o lo specchio nei famosi editor di bitmap. Ingrandisce (o riduce) i pixel allungando l'immagine di output. Riduce in modo significativo la qualità dell'immagine, se si allunga molto.

Ciò che gli utenti desiderano in genere è una modifica della risoluzione reale della sessione remota. E questo è ciò di cui parlo in precedenza ed è ciò di cui è capace il client TigetVNC, a condizione che il server abbia funzionalità corrispondenti. La risoluzione automatica mantiene l'immagine nitida a qualsiasi dimensione. Unico inconveniente è che aumenta anche la larghezza di banda della rete.

Finora ho scoperto che solo TigerVNC è in grado di auto-risoluzione . Ho testato TightVNC (open source), RealVNC (versione gratuita) e UltraVNC (open source) e non ho avuto fortuna con nessuno di essi, forniscono il ridimensionamento automatico inutile al meglio.

Pagina iniziale TigerVNC: https://tigervnc.org/
Fonti TigerVNC: https://github.com/TigerVNC/tigervnc
Rilasci TigerVNC su GitHub: https://github.com/TigerVNC/tigervnc/releases
Binari TigerVNC da scaricare: https: //bintray.com/tigervnc/stable/tigervnc/1.9.0

Se vuoi solo il visualizzatore, scarica solo il visualizzatore, come vncviewer64-1.9.0.exe , che è solo visualizzatore senza server VNC in bundle. Attenzione che con il servizio server TigerVNC si avvia automaticamente, silenziosamente, in background, che detesto fortemente come una possibile minaccia alla sicurezza.

Il mio server viene eseguito senza alcuna -randrimpostazione e solo di base -geometry 1024x768. Questa bassa risoluzione viene utilizzata solo al primo collegamento, ma è possibile modificare la risoluzione semplicemente ridimensionando la finestra del client. Se sei curioso, ecco il mio comando completo del server 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

Secondo la descrizione del pacchetto openSuse, xorg-x11-Xvncil server VNC openSuse è basato sul codice TigerVNC. Quindi nel mio caso il client TigerVNC parla con il server TigerVNC, quindi forse è per questo che è tutto così semplice :)

Configurazione del mio client: TigerVNC client 1.9.0 (Windows)
Configurazione del mio server: openSuse 15.1, xorg-x11-Xvnc 1.9.0, vncmanager 1.0.2, GDM, KDE Plasma.


0

Con TightVNC (almeno) se il server (windows) cambia la risoluzione dello schermo, il client cambia automaticamente per adattarsi alla nuova risoluzione.


È possibile avere il comportamento del PSR? Quando il controller si collega a una finestra controllata, il sistema operativo Windows controllato cambia la sua risoluzione. Non ridimensionare, modificare la risoluzione, in modo che corrisponda alla risoluzione dello schermo del controller, almeno in base al formato, che ridimensionare per adattarsi.
Realtebo,

Sarebbe interessante ora sicuro se è possibile ...
rogerdpack

0

Per TightVNC, fai clic sull'icona a forma di ingranaggio (impostazioni) e cambia la qualità dell'immagine in "Alta" e funziona perfettamente.


Perché la qualità dell'immagine dovrebbe essere correlata alla modifica automatica della risoluzione dello schermo sulla parte controllata?
realtebo,

Per me non funziona. Appena testato. Questa dimensione della finestra client basata sulla risoluzione remota è supportata da alcuni client VNC, come TigerVNC, ma non TightVNC o RealVNC (versione gratuita). L'ho appena testato con RealVNC Viewer 6.19.715 e TightVNC Viewer per Windows 2.8.23.
Espinosa,

0

Ho ricevuto una risposta ufficiale scrivendo al servizio clienti VNC.

La versione breve è: no, non è possibile modificare la risoluzione remota in modo che corrisponda automaticamente alla risoluzione della finestra / schermo del controller vnc locale.

Mi hanno detto che è perché RDP è una vera sessione di accesso, quindi lo schermo si comporta come se fossi un utente comune nel sistema controllato.

VNC rispecchia semplicemente lo schermo. E non è una cosa negativa perché non puoi condividere la sessione RDP ma puoi condividere VNC

Ho suggerito di creare una configurazione sul server vnc per consentire la modifica dello schermo perché so che l'API di Windows consente a sw di terze parti di impostare la risoluzione dello schermo a livello di programmazione.

Allora aspetterò ....

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.