Configurando resolução padrão e profundidade de cor para o serviço vncserver-x11 do RealVNC?

2

Ao pesquisar na web para obter informações sobre como configurar a resolução padrão e a profundidade de cor para sessões RealVNC, sempre me deparo com coisas que falam em passar parâmetros de linha de comando para vncserver , como vncserver -geometry 1024x768 ou algo assim. No entanto, eu tenho meu sistema configurado para iniciar o servidor RealVNC na inicialização (para os níveis de execução 2-5; estou usando o Debian) através do script /etc/init.d/vncserver-x11-serviced que o RealVNC instala; Eu não estou usando o comando vncserver . Como faço para configurar isso para ter uma resolução padrão específica e profundidade de cor? Existe algum arquivo de configuração em algum lugar que eu possa usar?

    
por Jez 09.07.2012 / 15:01

1 resposta

0

NOTA: Estou ciente de que esta resposta se aplica ao modo virtual do RealVNC em vez do modo de serviço ( vncserver-x11-serviced ), mas acho que o modo virtual é geralmente mais útil de qualquer maneira, e é o único cuja resolução pode ser alterado dinamicamente . É provavelmente uma técnica bastante semelhante para alterar a resolução do RealVNC quando ele está sendo executado no Modo de Serviço.

Após a instalação do RealVNC (no momento da escrita, versão 5.2.1), aplicando uma licença livre usando vnclicense -add ... e executando o servidor VNC em seu "Modo Virtual" (também existem os modos Serviço e Usuário que Eu não vou entrar aqui já que já é bastante complexo), eu descobri o quão profundo é esse rabbithole. :-) A documentação para isso está longe de ser abrangente ou óbvia, e os únicos artigos da base de conhecimento sobre o site da RealVNC são um pouco datado (falando sobre o comando vncserver em vez do recomendação atual aparente , vncserver-virtual ) ou sobre alterando a resolução dinamicamente com RandR durante uma sessão, não escolhendo qual resolução deve ser usada quando o servidor VNC for iniciado.

Em primeiro lugar, a palavra "geometria" tende a ser usada no contexto do Sistema X Window em vez da palavra "resolução". A resolução padrão dada a você pelo servidor VNC (ou talvez o próprio X) parece ser 800x600.

Agora, você pode passar parâmetros diretamente para o X Server ao iniciar o servidor do RealVNC manualmente a partir da linha de comando (ou obviamente de forma automatizada na inicialização de algo como rc.local ), e o parâmetro a passar para definir a resolução é% código%. Então, isso iniciará uma instância virtual do servidor RealVNC com resolução de 1280x1024:

> vncserver-virtual -geometry 1280x1024

Eu geralmente corro como root quando estou testando coisas como esta, então eu mudo para o usuário cuja área de trabalho eu quero o VNC primeiro:

> sudo -u [someuser] vncserver-virtual -geometry 1280x1024

Isso requer a passagem de um parâmetro geometry na linha de comando, é claro. RealVNC também suporta a configuração do serviço VNC através de vários arquivos de configuração. No entanto, confusamente, config para "Xvnc" (o servidor RealVNC subjacente usado em sistemas UNIX que se comunica com o X, e que precisa usar o parâmetro geometry config) tem que ir em um localização diferente dos arquivos de configuração" normais "do RealVNC; geometry para configurações de todo o servidor ou /etc/vnc/config.custom para configurações específicas do usuário. Estes são totalmente separados dos outros arquivos de configuração do RealVNC e descobrir isso foi muito difícil. Como eu disse, os documentos sobre isso são terríveis. Portanto, para não precisar especificar a resolução na linha de comando, crie o arquivo ~/.vnc/config e forneça o seguinte conteúdo:

-geometry 1280x1024

Então quando você corre:

> sudo -u [someuser] vncserver-virtual

... a resolução para essa instância do servidor VNC será padronizada para 1280x1024.

Eu assumo que este arquivo de configuração também será usado pelo daemon /etc/vnc/config.custom também, para cada uma das vncserver-virtuald instâncias que ele gera (na verdade, pode ser a única maneira de definir a resolução padrão para o daemon), mas como o daemon requer uma licença corporativa para usar e eu estou usando apenas a licença livre, eu não pude testá-lo. / p>

Ufa!

A propósito, mencionei o RandR anteriormente. Essa é outra maneira de obter uma resolução / geometria diferente ao se conectar ao servidor RealVNC em sistemas UNIX. Só funciona quando o servidor RealVNC está sendo executado no "Modo Virtual". Ele também permite a mudança dinâmica de resoluções durante a sessão VNC, e é um pouco melhor documentado do que o material do parâmetro vncserver-virtual que mencionei acima. :-) Quando esta definição de configuração está definida (e ela entra no conjunto "normal" de arquivos de configuração RealVNC, não aqueles separados para Xvnc ... go figura), você deve ser capaz de usar o comando -geometry de dentro da sessão VNC para alterar dinamicamente a resolução para uma das resoluções especificadas na configuração xrandr .

    
por 21.11.2014 / 19:35