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

Como alterar a resolução do ecrã do servidor VNC sem o reiniciar?

É possível alterar a resolução do visualizador especificada durante o arranque do servidor vnc com o argumento da linha de comando de geometria? Eu tenho um vncserver configurado para um monitor de ecrã largo mas quero vê-lo num ecrã de 1024x768.

Respostas (7)

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

Esta mesma pergunta foi feita há algum tempo atrás sobre o transbordamento da pilha: https://stackoverflow.com/questions/15816/changing-the-resolution-of-a-vnc-session-in-linux

A resposta aceite da Nathan Fellman:

Real VNC server 4.4 inclui suporte para Xrandr, o que permite redimensionar a VNC. Inicie o servidor com:

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

Depois redimensione com:

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

O UltraVNC viewer suporta auto scaling , pelo que redimensionará a janela de visualização automaticamente, para mostrar todo o ecrã do servidor remoto.

Update

Tanto o RealVNC como o TightVNC display/desktop scaling.

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

Se precisar de alterar a configuração sem reiniciar o servidor VNC, tive bons resultados com:

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

e depois utilizar o xrandr para alterar a resolução como sugerido pelo fgregg:

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

Com TigerVNC o cliente Windows VNC (viewer) a resolução automática funciona fora da caixa. Não há necessidade de definir nada em qualquer lugar, no cliente ou no servidor. Quando se liga ao seu servidor pela primeira vez, a resolução é definida para o que quer que esteja predefinido no lado do servidor, mas pode facilmente alterá-la apenas redimensionando a janela do cliente; para qualquer resolução, qualquer resolução maluca, não padrão, ad-hoc que quiser. A resolução do ambiente de trabalho remoto, digamos KDE, segue suavemente a resolução da janela cliente.

Verifique se “Redimensionar sessão remota para a janela local” está definido. Deve ser por defeito.

Por favor não confunda mudança de resolução automática com image stretching, alternativamente chamado auto-escalonamento. Esta chamada é virtualmente inútil, a menos que esteja com deficiência visual. Funciona como zoom ou looking glass nos populares editores de bitmap. Ele apenas torna os pixels maiores (ou menores) ao esticar a imagem de saída. Diminui significativamente a qualidade da imagem, se esticar muito.

O que os utilizadores normalmente querem é uma mudança real da resolução da sessão remota. E é sobre isso que falei anteriormente e é isso que o cliente TigetVNC é capaz, desde que o servidor tenha a funcionalidade correspondente. A auto-resolução mantém a imagem nítida em qualquer tamanho. A desvantagem é que também aumenta a largura de banda da rede.

Até agora descobri que só o TigerVNC é capaz de auto-resolução. Testei TightVNC (código aberto), RealVNC (versão livre) e UltraVNC (código aberto) e não tive sorte com nenhum deles, eles fornecem escala automática inútil no melhor dos casos.

TigerVNC homepage: https://tigervnc.org/ Fontes TigerVNC: https://github.com/TigerVNC/tigervnc Lançamentos TigerVNC no GitHub: https://github.com/TigerVNC/tigervnc/releases binários TigerVNC para download: https://bintray.com/tigervnc/stable/tigervnc/1.9.0

Se você quer apenas o viewer, então baixe apenas o viewer, como vncviewer64-1.9.0.exe , ou seja, apenas o viewer sem o servidor VNC empacotado. Cuidado que com o servidor TigerVNC o serviço começa automaticamente, silenciosamente, em segundo plano, o que eu detesto fortemente como uma possível ameaça à segurança.

O meu servidor é executado sem nenhuma configuração de -randr e apenas com -geometry 1024x768 básico. Esta baixa resolução é utilizada apenas quando se liga pela primeira vez, mas depois pode alterar a resolução apenas redimensionando a janela do cliente. Se estiver curioso, aqui está o meu comando completo de 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 acordo com a descrição do pacote xorg-x11-Xvnc - o servidor VNC openSuse - é construído em código TigerVNC. Então no meu caso o cliente TigerVNC fala com o servidor TigerVNC, talvez seja por isso que é tudo tão simples :)

A configuração do meu cliente: Cliente TigerVNC 1.9.0 (Windows) Configuração do meu 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

Recebi uma resposta oficial escrita ao serviço ao cliente da VNC.

A versão curta é: não, não é possível alterar a resolução remota para corresponder automaticamente à resolução local da janela do controlador vnc / ecrã.

Disseram-me que é porque o RDP é uma verdadeira sessão de login, por isso o ecrã comporta-se como um utilizador comum no sistema controlado.

VNC simplesmente espelha o ecrã. E não é uma coisa má porque não pode partilhar a sessão RDP mas pode partilhar VNC

Eu sugeri criar uma configuração no servidor vnc para permitir a mudança do ecrã porque sei que a API do windows permite que terceiros definam programticamente a resolução do ecrã…

Então eu vou esperar….

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

Com TightVNC (pelo menos) se o servidor (windows) mudar a resolução do ecrã então o cliente muda automaticamente para corresponder à nova resolução.

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

Para TightVNC, clique no ícone da engrenagem (definições) e altere a qualidade da sua imagem para “Alta” e funciona muito bem.