Yo uso VNC para conectarme a una estación de trabajo Linux en el trabajo. En el trabajo tengo un monitor de 20 "que funciona a 1600x1200, mientras que en casa uso mi computadora portátil con una resolución de 1440x900. Si configuro el vncserver para que funcione a 1440x900, pierdo mucho espacio en mi monitor, mientras que si configurarlo para que funcione a 1600x1200, no cabe en la pantalla de la computadora portátil, y tengo que desplazarlo todo el tiempo.
¿Hay alguna buena manera de cambiar el tamaño de una sesión de VNC sobre la marcha?
Mi servidor VNC es RealVNC E4.x (no recuerdo la versión exacta) ejecutándose en SuSE64.
Respuestas:
El servidor real VNC 4.4 incluye soporte para Xrandr, que permite cambiar el tamaño del VNC. Inicie el servidor con:
Luego redimensionar con:
fuente
.vnc/config
archivo. Por ejemplo, la primera línea de mi configuración es:-randr 800x600,1024x768,1280x800,1280x960,1280x1024,1680x1050,1920x1080,3360x1050,1024x700,1200x740,1600x1000,3200x1000
tightvncserver
?Descubrí que el vnc4server (4.1.1) incluido con Ubuntu (10.04) está parcheado para permitir también cambiar la resolución sobre la marcha a través de xrandr. Lamentablemente, la función fue difícil de encontrar porque no está documentada. Asi que aqui esta...
Inicie el servidor con múltiples instancias de 'geometría', como:
Desde un terminal en un vncviewer (con: 'permitir el cambio de tamaño del escritorio dinámico' habilitado) use xrandr para ver los modos disponibles:
para cambiar el resultado, por ejemplo use:
Eso es.
fuente
Estoy ejecutando TigerVNC en mi servidor Linux, que tiene soporte básico de randr . Acabo de iniciar vncserver sin ninguna opción -randr o multiple -geometry.
Cuando ejecuto xrandr en una terminal, muestra todas las resoluciones de pantalla disponibles:
Entonces puedo cambiar fácilmente a otra resolución (cambiar a 1360x768):
Estoy usando el visor TightVnc como cliente y se adapta automáticamente a la nueva resolución.
fuente
Creo que lo mejor es ejecutar el servidor VNC con una geometría diferente en un puerto diferente. Lo intentaría según la página del manual
Luego puede conectarse desde el trabajo a un puerto y desde su hogar a otro.
Editar: luego use xmove para mover ventanas entre los dos servidores x.
fuente
Como esta pregunta aparece primero en Google, pensé que compartiría una solución usando TigerVNC, que es el valor predeterminado en estos días.
xrandr
permite seleccionar los modos de visualización (también conocido como resoluciones), sin embargo, debido a que las modelinas están codificadas, cualquier línea de modo adicional como "2560x1600" o "1600x900" necesitaría agregarse al código . Creo que los desarrolladores que escribieron el código son mucho más inteligentes y la lista codificada es solo una muestra de valores. Lleva a la conclusión de que debe haber una manera de agregar modelos personalizados y loman xrandr
confirma.Con ese trasfondo, si el objetivo es compartir una sesión VNC entre dos computadoras con las resoluciones anteriores y suponiendo que el servidor VNC es la computadora con la resolución "1600x900":
Inicie una sesión de VNC con una geometría que coincida con la pantalla física:
En la computadora "2560x1600", inicie el visor VNC (prefiero Remmina) y conéctese a la sesión remota de VNC:
Una vez dentro de la sesión de VNC, inicie una ventana de terminal.
Confirme que la nueva geometría esté disponible en la sesión de VNC:
y notarás que la pantalla es bastante pequeña.
Enumere la línea de modelo (consulte el artículo de xrandr en la wiki de ArchLinux) para la resolución "2560x1600":
o si el monitor es viejo, obtenga los tiempos de GTF:
Agregue la nueva línea de modo a la sesión VNC actual:
En la
xrandr
salida anterior , busque el nombre para mostrar en la segunda línea:Enlace la nueva línea de modo al monitor virtual VNC actual:
Úselo:
fuente
Curiosamente, nadie respondió esto. En TigerVNC, cuando está conectado a la sesión. Vaya
System > Preference > Display
desde la barra de menú superior (estaba usando Cent OS como mi servidor remoto). Haga clic en el menú desplegable de resolución, hay varias configuraciones disponibles, incluyendo 1080p. Selecciona el que más te guste. Cambiará sobre la marcha.Asegúrese de aplicar la nueva configuración cuando se le solicite un cuadro de diálogo. De lo contrario, volverá a la configuración anterior al igual que en Windows
fuente
Chicos, esto es muy simple.
iniciar sesión a través de
ssh
su piejecutar
Esto generará una nueva sesión
:1
conéctese con su cliente vnc en
ipaddress:1
Eso es.
fuente
Agregando a la respuesta de Nathan (aceptada):
Quería recorrer la lista de resoluciones, pero no vi nada:
Obtiene el índice actual, pasa al siguiente y vuelve a 0 en caso de error (es decir, fin)
EDITAR
Modificado para coincidir con una versión posterior de xrandr ("*" está al final de la línea y no tiene un identificador de resolución principal).
fuente
La solución de @omiday funcionó para mí en Xvnc TigerVNC 1.1.0, por lo que la condensé en una sola función bash vncsize xy . Úselo así: vncsize 1400 1000 . Funciona para cualquier nombre de salida VNC, "predeterminado" o "VNC-0".
fuente
Quizás la respuesta más ignorante que he publicado, pero aquí va: use el cliente / visor TigerVNC y verifique
'Resize remote session to local window'
en la pestaña Pantalla de opciones.No sé lo que el cliente $% # @ TigerVNC le dice a vncserver remoto o xrandr o Xvnc o gnome o ... pero cambia de tamaño cuando cambio la ventana del Cliente TigerVNC.
Mi configuración:
Con esto, la resolución cambia para adaptarse al tamaño de la ventana del cliente, sin importar cuál sea, y no lo es
zooming
, es un cambio de resolución real (puedo ver la nueva resolución en la salida de xrandr).Intenté todo lo posible para agregar una nueva resolución al xrandr, pero en vano, siempre termino con un
'xrandr: Failed to get size of gamma for output default'
error.Versiones con las que funciona para mí en este momento (aunque no he tenido problemas con CUALQUIER versión en el pasado, solo instalo el último uso
yum install gnome-* tigervnc-server
y funciona bien):fuente
$HOME
directorio funciona como se esperaba github.com/TigerVNC/tigervnc/issues/155No estoy seguro acerca de Linux, pero en Windows, tightvnc detectará y se adaptará a los cambios de resolución en el servidor.
Por lo tanto, debería poder VNC en la estación de trabajo, hacer el equivalente de hacer clic con el botón derecho en el escritorio, propiedades, establecer la resolución a lo que sea, y hacer que la ventana de vnc de su cliente se redimensione en consecuencia.
fuente
Creo que puede usar xmove para mover ventanas entre dos servidores x separados. Entonces, si funciona, esto al menos debería darle una forma de hacer lo que desea, aunque no tan fácilmente como cambiar la resolución.
fuente
Hasta donde sé, no hay forma de cambiar la resolución del cliente simplemente usando VNC, ya que es solo una aplicación de "duplicación de monitor".
Sin embargo, TightVNC (que es una aplicación de cliente y servidor VNC) puede cambiar el tamaño de la pantalla en el lado del cliente, es decir, hacer que todo sea un poco más pequeño (similar a las técnicas de cambio de tamaño de imagen en programas gráficos). Eso debería funcionar si no utiliza tamaños de fuente demasiado pequeños. VNC debería ser teóricamente compatible entre diferentes aplicaciones de VNC.
fuente
Tengo una idea simple, algo como esto:
Bueno, necesito una mejor solución para todos los dispositivos de visualización en Linux y Similars SO
fuente
Creo que eso depende de su administrador de ventanas.
Soy un usuario de Windows, por lo que esto podría ser una suposición equivocada, pero: ¿No hay algo llamado X-Server que se ejecuta en máquinas Linux, al menos en las que podrían ser objetivos interesantes para VNC, con el que puede conectarse " Clientes X "?
VNC simplemente toma todo lo que está en la pantalla y lo "hace un túnel a través de su red". Si no estoy totalmente equivocado, entonces el protocolo "X" debería darle la oportunidad de usar la resolución de escritorio de su cliente.
Prueba X-Server en Wikipedia, que podría darte una visión general aproximada.
fuente