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

¿Cómo se puede cambiar la resolución de la pantalla del servidor VNC sin reiniciarlo?

¿Es posible cambiar la resolución del visor especificada durante el inicio del servidor VNC con el argumento de la línea de comandos de geometría? Tengo un vncserver configurado para un monitor de pantalla ancha pero quiero verlo en una pantalla de 1024x768.

Respuestas (7)

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

Esta misma pregunta se hizo hace un tiempo en el desbordamiento de la pila: https://stackoverflow.com/questions/15816/changing-the-resolution-of-a-vnc-session-in-linux

La respuesta aceptada de Nathan Fellman:

Real VNC server 4.4 incluye soporte para Xrandr, que permite redimensionar el VNC. Inicie el servidor con:

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

Luego redimensione con:

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

El UltraVNC viewer soporta auto escalado , por lo que redimensionará la ventana de visualización automáticamente, para mostrar toda la pantalla del servidor remoto.

Actualizar

Tanto RealVNC como TightVNC display/desktop scaling.

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

Si necesitas cambiar la configuración sin reiniciar el servidor de VNC, tuve buenos resultados con:

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

y luego usando xrandr para cambiar la resolución como sugirió fgregg:

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

Con TigerVNC Windows VNC cliente (visor) la resolución automática funciona fuera de la caja. No hay necesidad de configurar nada en ningún lugar, en el cliente o en el servidor. Cuando te conectas por primera vez a tu servidor, la resolución se establece a lo que sea que esté preestablecido en el lado del servidor pero puedes cambiarlo fácilmente con sólo cambiar el tamaño de la ventana del cliente; a cualquier resolución, cualquier resolución loca, no estándar, ad-hoc que quieras. La resolución del escritorio remoto, digamos KDE, sigue la resolución de la ventana del cliente sin problemas.

Compruebe que “Redimensionar la sesión remota a la ventana local” está configurado. Debería estar por defecto.

Por favor, no confunda el cambio de resolución automático con el estiramiento de la imagen, llamado alternativamente escalado automático. Esta llamada es virtualmente inútil, a menos que tengas una discapacidad visual. Funciona como el zoom o el vidrio de apariencia en los populares editores de mapas de bits. Sólo hace los píxeles más grandes (o más pequeños) estirando la imagen de salida. Disminuye la calidad de la imagen significativamente, si se estira mucho.

Lo que los usuarios típicamente quieren es un cambio de resolución real de la sesión remota. Y eso es de lo que hablé antes y eso es lo que el cliente TigetVNC es capaz de hacer, siempre que el servidor tenga la funcionalidad de coincidencia. La resolución automática mantiene la imagen nítida en cualquier tamaño. Lo malo es que también aumenta el ancho de banda de la red.

Hasta ahora he encontrado que sólo TigerVNC es capaz de auto-resolución. Probé TightVNC (código abierto), RealVNC (versión gratuita) y UltraVNC (código abierto) y no tuve suerte con ninguno de ellos, proporcionan auto-escalado inútil en el mejor de los casos.

Página de inicio de TigerVNC: https://tigervnc.org/ Fuentes de TigerVNC: https://github.com/TigerVNC/tigervnc Lanzamientos de TigerVNC en GitHub: https://github.com/TigerVNC/tigervnc/releases Binarios de TigerVNC para descargar: https://bintray.com/tigervnc/stable/tigervnc/1.9.0

Si sólo quieres un visor, entonces descarga sólo el visor, como vncviewer64-1.9.0.exe , que es sólo el visor sin el servidor VNC. Tengan cuidado que con el servidor TigerVNC el servicio se inicia automáticamente, en silencio, en segundo plano, lo cual detesto fuertemente como una posible amenaza de seguridad.

Mi servidor se ejecuta sin la configuración -randr en absoluto y sólo la básica -geometry 1024x768. Esta baja resolución se usa sólo cuando se conecta por primera vez, pero luego puede cambiar la resolución con sólo cambiar el tamaño de la ventana del cliente. Si tienes curiosidad, aquí está mi comando completo del servidor 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

De acuerdo con la descripción del paquete openSuse, xorg-x11-Xvnc - el servidor VNC openSuse - está construido en código TigerVNC. Así que en mi caso el cliente TigerVNC habla con el servidor TigerVNC, así que quizás por eso es todo tan perfecto :)

Configuración de mi cliente: TigerVNC client 1.9.0 (Windows) Configuración de mi servidor: 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

Recibí una respuesta oficial escribiendo al servicio de atención al cliente del VNC.

La versión corta es: no, no puedes cambiar la resolución remota para que coincida automáticamente con la ventana del controlador local del VNC / resolución de la pantalla.

Me dijeron que eso es porque el RDP es una sesión de inicio de sesión real, así que la pantalla se comporta como si fueras un usuario común en el sistema controlado.

El VNC simplemente refleja la pantalla. Y no es algo malo porque no puedes compartir la sesión RDP pero puedes compartir VNC

Sugerí crear una configuración en el servidor vnc para permitir el cambio de pantalla porque sé que la API de Windows permite que el sw de terceros programe la resolución de la pantalla.

Entonces esperaré…

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

Con TightVNC (por lo menos) si el servidor (windows) cambia la resolución de la pantalla entonces el cliente cambia automáticamente para coincidir con la nueva resolución.

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

Para TightVNC, haz clic en el icono del engranaje (ajustes) y cambia la calidad de la imagen a “Alta” y funciona bien.