O programa que você usa precisa acessar o servidor X e não sabe qual display X ele deve usar.
Na maioria dos casos, você pode resolver isso definindo um nome de exibição fixo :0.0
, que normalmente é o nome da primeira exibição, e o único se apenas um estiver em execução.
Por exemplo, no início do seu script, você pode usar:
export DISPLAY=:0.0
Em geral, você pode ter várias exibições , como se executasse vários servidores X em vários consoles ou servidores X aninhados como Xnest ou Xvnc.
Além disso, você pode ter um servidor X em execução apenas, com um nome de exibição diferente que :0.0
, como :10.0
Nesses casos, você precisa encontrar uma maneira de especificar para o seu script qual DISPLAY usar.
Para obter uma saída útil no seu registro, você pode adicionar:
pgrep -fa /usr/bin/X
para mostrar se um ou mais servidores X estão sendo executados no momento em que o job upstart é executado. As linhas de comando também podem mostrar as exibições em que são executadas.
E
echo DISPLAY: "\"$DISPLAY\""
para gravar a variável DISPLAY no log.