Quero alterar a resolução/geometria da minha sessão VNC dinamicamente sem afetar os programas executados dentro dela.
Eu me referi:Alterando a resolução de uma sessão VNC no Linux. Não tenho permissão de root para atualizar a versão mais recente do vncserver, portanto, o seguinte comando não funciona no momento:
vncserver -geometry 1280x1024 -randr 1280x1024,1280x800
Por enquanto, sempre que quero alterar o tamanho da tela de um monitor para outro, encerro a sessão e reinicio com a -geometry
opção modificada. Devido a isso tenho que perder os programas dentro dele.
Existe alguma maneira de hackear o arquivo que armazena a geometria e alterar os valores para alterar a resolução? Não consegui encontrar esse arquivo. Na minha pasta pessoal, vejo os arquivos abaixo:
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
O conteúdo do xstartup
arquivo não ajuda:
#!/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 &
... aqui xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
a linha permanece constante para qualquer resolução.
[Nota: vejo que xrandr
está instalado na máquina Linux.]
Responder1
Uma solução "Hack": inicie o vncserver sem qualquer geometria especificada
vncserver :1
Então vou me conectar ao vnc, e no Fedora, vou apenas em Configurações> Telas> Desconhecido 0 "e altero a resolução rapidamente assim. Clique um pouco em vez de digitar (DX), mas é fácil.
Responder2
A resposta acima para o Fedora não funcionou para mim (RedHat Enterprise), consegui realizar o que você precisa nestas etapas:
1) faça login em sua sessão VNC (existente)
2) abra um terminal e digite: xrandr -s 1920x1080 (ou outra geometria/display suportada*)
para ver telas/resoluções suportadas pelo randr, digite:
xrandr (sem argumentos)
Fácil e nada sofisticado!
Responder3
Defina a opção de geometria no arquivo de configuração do systemd (ou no script de inicialização aplicável) ~ este exemplo funciona com o Fedora 28 (assumindo que os descritores de arquivo selinux sejam corrigidos).
Substitua USERNAME pelo nome de usuário 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
Responder4
$HOME/.vnc/xstartup
é o arquivo que você está procurando e sim, você pode definir a geometria lá. Ele deve se ajustar ao reconectar sem interromper sua sessão (não 100% de certeza, mas com certeza).