tightvncserver mesma versão comportamento diferente

3

Não tenho certeza se isso pertence ao StackOverflow ou aqui, mas como os programas funcionam em uma versão do Ubuntu, eu tento aqui.

Temos um pequeno aplicativo python que inicia uma exibição virtual do X no servidor uma vez por dia e, em seguida, executa vários programas que precisam da exibição X. Este programa correu bem no Ubuntu 10.04, e continuou a funcionar bem em um servidor com 12.04.

Agora, estamos procurando criar um servidor usando o 14.04 e esse aplicativo não funciona, embora todos os pré-requisitos tenham sido atendidos (versão mais recente de PyVirtualDisplay e tightvncserver).

Em 14.04 este programa falha, e o que é mais problemático na depuração é que não podemos espiar a tela X como fazemos no servidor 12.04, porque em 14.04 ele pede uma senha . Eu esperava que isso fosse alguma mudança de segurança no software tightvncserver , mas tanto no 12.04 como no 14.04, esta é a versão 1.3.9, embora a versão específica do Ubuntu seja diferente (6.2 vs 6.4).

Eu uso o mesmo cliente VNC da máquina cliente para conectar aos dois servidores.

O que eu posso tentar se livrar do prompt de senha e continuar a ver o que (mais) pode estar errado? Tenho certeza de que nenhuma senha foi definida desde que o servidor foi criado e não consigo adivinhar o que poderia ser.

    
por M.Butan 14.06.2015 / 13:46

1 resposta

1

Você deve verificar se Xvnc -version (em 14.04) oferece:

Xvnc version TightVNC-1.3.9

provavelmente não se conectando à instância do servidor vnc, que o pyvirtualdisplay cria, solicita uma senha.

A causa disso é que o pyvirtualdisplay verifica se o tightvncserver está instalado, verificando se o arquivo /usr/bin/Xvnc existe e chamando esse executável se você especificar o backend xnvc . Esse arquivo, no entanto, é um link para alternativas gerenciadas em /etc/alternatives/ e pode, e. esteja apontando para o vnc4server (esse servidor requer uma senha e é, IIRC, aquele que é instalado se você quiser compartilhar sua área de trabalho via VNC).

Você pode alterar a alternativa para Xvnc executando:

sudo update-alternatives --config Xvnc

e selecionando a opção tightvncserver . Não tenho certeza se isso tem efeitos colaterais de segurança para os programas que dependem da outra alternativa de servidor (atualmente) selecionada.

Portanto, se puder, você deve alterar a fonte que extrai pyvirtualdisplay e adicionar as seguintes linhas (antes da invocação de Display() )

import pyvirtualdisplay.xvnc
pyvirtualdisplay.xvnc.PROGRAM = "Xtightvnc"

que força a biblioteca pyvirtualdisplay a usar o binário correto do servidor contornando a alternativa Xvnc selecionada.

    
por 14.06.2015 / 16:05

Tags