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.