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.