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.