Xlib: Aucun protocole spécifié

Duplicata possible:
Ouvrez une window sur un écran X distant (pourquoi "Impossible d'ouvrir l'écran")?

J'ai un script qui, lorsqu'il est exécuté de manière indépendante, a besoin de définir des variables d'affichage X11. Lorsque j'invoque ce script en utilisant un travail de démon d'arrière-plan, j'obtiens l'erreur suivante.
Xlib: connection to "localhost.localdomain:0.0" refused by server
Xlib: No protocol specified
S'il vous plaît aidez-moi à identifier l'erreur possible que j'ai dans ce domaine.
Commandes données ci-dessous qui sont à l'intérieur du script.
export DISPLAY= nom d'hôte :0.0
java ScreenCapture
Si le même script est appelé par un démon d'arrière-plan s'exécutant en tant que service, j'obtiens l'erreur.

Je devine ici, mais le démon d'arrière-plan peut être en cours d'exécution en tant qu'user différent, qui n'a pas l'autorisation d'accéder à l'affichage.

Vous pouvez utiliser xhost pour contrôler l'access user:

Le programme xhost est utilisé pour append et supprimer des noms d'hôte ou d'user à la list autorisée pour établir des connections au server X.

Vous pouvez tester si c'est le problème en exécutant:

 xhost + 

à partir d'une window de terminal, ce qui permettra à n'importe quel user d'accéder à l'affichage.

xhost + (insert le nom d'user ici)

permettra l'access pour un user spécifique.