Quiero cambiar la resolución/geometría de mi sesión VNC dinámicamente sin afectar los programas que se ejecutan dentro de ella.
Me referí:Cambiar la resolución de una sesión VNC en Linux. No tengo permiso de root para actualizar la versión más reciente de vncserver, por lo que el siguiente comando no funciona por ahora:
vncserver -geometry 1280x1024 -randr 1280x1024,1280x800
Por ahora, cada vez que quiero cambiar el tamaño de la pantalla de un monitor a otro, cierro la sesión y la reinicio con -geometry
la opción modificada. Debido a esto tengo que perder los programas que contiene.
¿Hay alguna forma de piratear el archivo que almacena la geometría y cambiar los valores para cambiar la resolución? No pude encontrar ese archivo. En mi carpeta de inicio, veo los siguientes archivos:
mgandhi@starbase:~/.vnc$ ll
total 12
-rwxr-xr-x 1 mgandhi bc 334 Jun 25 10:32 xstartup
-rw------- 1 mgandhi bc 8 Jun 25 10:32 passwd
-rw-r--r-- 1 mgandhi bc 6 Jun 25 11:08 starbase.radisys.com:23.pid
-rw-r--r-- 1 mgandhi bc 1664 Jun 25 11:08 starbase.radisys.com:23.log
El contenido del xstartup
archivo no ayuda:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
... aquí xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
la línea permanece constante para cualquier resolución.
[Nota: veo que xrandr
está instalado en la máquina Linux.]
Respuesta1
Una solución "Hack": inicie el servidor vnc sin ninguna geometría especificada
vncserver :1
Luego me conectaré al vnc, y en Fedora, simplemente iré a Configuración>Pantallas>Desconocido 0" y cambiaré la resolución sobre la marcha de esta manera. Tome un poco de clic en lugar de escribir (DX), pero es fácil.
Respuesta2
La respuesta anterior para Fedora no funcionó para mí (RedHat Enterprise), pude lograr lo que necesitas en estos pasos:
1) inicie sesión en su sesión VNC (existente)
2) abra una terminal y escriba: xrandr -s 1920x1080 (u otra geometría/pantalla compatible*)
Para ver las pantallas/resoluciones compatibles con randr, escriba:
xrandr (sin argumentos)
¡Fácil y nada especial!
Respuesta3
Configure la opción de geometría en el archivo de configuración systemd (o en el script de inicio aplicable) ~ este ejemplo funciona con Fedora 28 (suponiendo que los descriptores de archivos selinux sean fijos).
Reemplace USERNAME con el nombre de usuario real:
cat /etc/systemd/system/vncserver@\:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=USERNAME
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/USERNAME/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
Respuesta4
$HOME/.vnc/xstartup
es el archivo que estás buscando y sí, puedes configurar la geometría allí. Debería ajustarse al volver a conectarse sin interrumpir la sesión (no 100% seguro, pero sí bastante seguro).