Xlib: Nenhum protocolo especificado [duplicado]

3

Eu tenho um script que, quando executado de forma independente, funciona e precisa das variáveis de exibição do X11 a serem definidas. Quando invoco esse script usando um trabalho do daemon de plano de fundo, obtenho o seguinte erro:
Xlib: connection to "localhost.localdomain:0.0" refused by server
Xlib: No protocol specified
Por favor, ajude-me a identificar o possível erro que tenho nisto.
Comandos abaixo que estão dentro do script.
export DISPLAY= nome_do_host :0.0
java ScreenCapture
Se o mesmo script for invocado por um daemon de segundo plano sendo executado como um serviço, recebo o erro.

    
por PackedUp 05.10.2012 / 23:45

1 resposta

3

Eu apenas estou supondo aqui, mas o daemon de plano de fundo pode estar sendo executado como usuário diferente, que não tem permissão para acessar a exibição.

Você pode usar xhost para controlar o acesso do usuário:

The xhost program is used to add and delete host names or user names to the list allowed to make connections to the X server.

Você pode testar se esse é o problema executando:

xhost +

a partir de uma janela de terminal, que permitirá a qualquer usuário acessar a exibição.

xhost + (insira o nome de usuário aqui)

permitirá o acesso de um usuário específico.

    
por 06.10.2012 / 00:16