Como alterar a resolução da tela do servidor VNC sem reiniciá-lo?


17

É possível alterar a resolução do visualizador especificada durante o início do servidor vnc com o argumento de linha de comando geometry? Eu tenho um servidor vncs configurado para um monitor de tela ampla, mas quero visualizá-lo em uma tela de 1024x768.

Respostas:


10

O visualizador UltraVNC suporta o dimensionamento automático , para redimensionar a janela de visualização automaticamente, para exibir a tela inteira do servidor remoto.

Visualizador VNC

Atualizar

O RealVNC e o TightVNC exibem / redimensionam a área de trabalho.


Estou usando a vnc real 4.1.3. onde encontrar a opção de dimensionamento da área de trabalho? Eu não encontro.
Rohit Banga

Ele não está incluído no RealVNC Free Edition, é necessário pela versão Pessoal ou Corporativa. Veja a comparação de recursos realvnc.com/products/download.html
stukelly

Fiz o download do visualizador ultra-vnc. Funciona obrigado.
Rohit Banga

2
Não redimensionando, mas redimensionando, altere a resolução controlada do PC automaticamente para corresponder à tela do controlador.
Realtebo 7/07

Cuidado: o dimensionamento automático não altera a resolução da área de trabalho remota , apenas pixels (ou menores) ao esticar a imagem de saída. Para a maioria dos usuários, o dimensionamento automático é praticamente inútil, a menos que você seja portador de deficiência visual. Diminui significativamente a qualidade da imagem. Funciona como zoom ou espelho em editores de bitmap populares. O que os usuários realmente querem é a alteração real da resolução da sessão remota e, até agora, apenas o TigerVNC é capaz de fazê-lo, de todos os visualizadores gratuitos. Veja minha resposta abaixo.
Espinosa

11

Esta mesma pergunta foi feita há um tempo atrás no estouro de pilha: /programming/15816/changing-the-resolution-of-a-vnc-session-in-linux

A resposta aceita por Nathan Fellman:

O servidor VNC real 4.4 inclui suporte para o Xrandr, que permite redimensionar o VNC. Inicie o servidor com:

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

Redimensione com:

xrandr -s 1600x1200
xrandr -s 1440x900  
xrandr -s 1024x768  

Com o cliente TigerVNC, você não precisa definir geometrias no lado do servidor. Meu servidor é executado sem nenhuma -randrconfiguração e apenas básico -geometry 1024x768. Essa baixa resolução é usada apenas quando você se conecta pela primeira vez, mas pode alterar a resolução redimensionando a janela do cliente para o que quiser, qualquer resolução ad-hoc louca, não padrão e ad hoc. Minha configuração: openSuse 15.1, GDM, KDE Plasma, TigerVNC client 1.9.0 (Windows)
Espinosa

3

Se você precisar alterar a configuração sem reiniciar o servidor VNC, obtive bons resultados com:

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

e, em seguida, usando xrandr para alterar a resolução, como sugerido por fgregg:

xrandr -s 1024x768
xrandr -s 1600x900

1

Com o TigerVNC, a resolução automática do cliente VNC do Windows (visualizador) funciona imediatamente . Não há necessidade de definir nada em qualquer lugar, no cliente ou no servidor. Quando você se conecta ao servidor pela primeira vez, a resolução é definida como o que é predefinido no lado do servidor, mas você pode alterá-la facilmente apenas redimensionando a janela do cliente; para qualquer resolução, qualquer resolução ad-hoc louca, fora do padrão e desejada. A resolução da área de trabalho remota, como o KDE, segue a resolução da janela do cliente sem problemas.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Verifique se "Redimensionar sessão remota para a janela local" está definido. Deve ser por padrão.

Não confunda a alteração automática da resolução com o alongamento da imagem , também chamado de redimensionamento automático . Essa calibração é praticamente inútil, a menos que você seja deficiente visual. Funciona como zoom ou espelho em editores de bitmap populares. Apenas aumenta os pixels (ou menores) ao esticar a imagem de saída. Diminui significativamente a qualidade da imagem, se você esticar muito.

O que os usuários normalmente querem é uma alteração real da resolução da sessão remota. E é sobre isso que falo anteriormente e é sobre isso que o cliente TigetVNC é capaz, desde que o servidor tenha funcionalidade correspondente. A resolução automática 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 apenas o TigerVNC é capaz de resolver automaticamente . Testei o TightVNC (código aberto), RealVNC (versão gratuita) e UltraVNC (código aberto) e não tive sorte com nenhum deles, pois eles oferecem o melhor escalonamento inútil.

Página inicial do TigerVNC: https://tigervnc.org/
Fontes do TigerVNC: https://github.com/TigerVNC/tigervnc
Lançamentos do TigerVNC no GitHub: https://github.com/TigerVNC/tigervnc/releases
binários do TigerVNC para baixar: https: //bintray.com/tigervnc/stable/tigervnc/1.9.0

Se você deseja apenas visualizador, baixe apenas o visualizador, como vncviewer64-1.9.0.exe , que é apenas visualizador sem o servidor VNC incluído. Lembre-se de que, com o serviço do servidor TigerVNC, é iniciado automaticamente, silenciosamente, em segundo plano, o que detesto fortemente como uma possível ameaça à segurança.

Meu servidor é executado sem nenhuma -randrconfiguração e apenas básico -geometry 1024x768. Essa baixa resolução é usada somente quando você se conecta pela primeira vez, mas pode alterar a resolução apenas redimensionando a janela do cliente. Se você estiver curioso, aqui está o meu comando completo do 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 openSuse, xorg-x11-Xvnc- o servidor openSuse VNC - é construído no código TigerVNC. Então, no meu caso, o cliente TigerVNC fala com o servidor TigerVNC, então talvez seja por isso que é tudo tão perfeito :)

Configuração do meu cliente: TigerVNC client 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

Com o TightVNC (pelo menos), se o servidor (windows) alterar a resolução da tela, o cliente será alterado automaticamente para corresponder à nova resolução.


É possível ter o comportamento RDP? Quando o controlador se conecta a uma janela controlada, as janelas controladas mudam de resolução. Não dimensione, altere a resolução, para corresponder à resolução da tela do controlador, pelo menos na proporção do formulário, do que a escala para caber.
Realtebo 7/07

Isso seria interessante agora tenho certeza se é possível ...
rogerdpack

0

No TightVNC, clique no ícone de roda dentada (configurações) e altere a qualidade da imagem para "Alta" e ela funciona bem.


Por que a qualidade da imagem deve estar relacionada à alteração automática da resolução da tela na parte controlada?
realtebo 15/07/2018

Isto não funciona para mim. Apenas testado. Esse tamanho das janelas do cliente orientadas por resolução remota é suportado por alguns clientes VNC, como o TigerVNC, mas não o TightVNC ou o RealVNC (versão gratuita). Acabei de o testar com o RealVNC Viewer 6.19.715 e o TightVNC Viewer for Windows 2.8.23.
Espinosa

0

Recebi uma resposta oficial por escrito ao atendimento ao cliente da VNC.

A versão curta é: não, você não pode alterar a resolução remota para corresponder automaticamente à resolução da janela / tela do controlador vnc local.

Eles me disseram que isso ocorre porque o RDP é uma sessão de login real, portanto a tela se comporta como você é um usuário comum no sistema controlado.

O VNC simplesmente espelha a tela. E isso não é ruim, porque você não pode compartilhar a sessão RDP, mas pode compartilhar o VNC

Sugeri criar uma configuração no servidor vnc para permitir a alteração da tela, porque eu sei que a API do Windows permite que sw de terceiros defina programaticamente a resolução da tela.

Então eu vou esperar ....

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.