Lancer le script exécuté dans l'environnement graphique à partir de l'utilisateur B, tandis que l'environnement A a été créé par l'utilisateur A

1

Je travaille sur un serveur Linux Debian. Pour exécuter une application spécifique que je devais créer un environnement graphique avec vnc4server, qui est lancé au démarrage avec l' utilisateur A .

Afin de commencer mon script, je dois normalement faire:

export DISPLAY=:1.0

puis lancez mon script

Maintenant , je dois être en mesure de démarrer mon script d'un autre utilisateur B . Si je le lance je reçois une erreurCan't connect to X11 window server using ':1.0' as the value of the DISPLAY variable.

J'ai essayé de régler la variable d'affichage sur DISPLAY=:1.0ou DISPLAY=:1mais je ne suis pas familier avec VNC et reçois toujours la même erreur.

Comment dois-je configurer la variable utilisateur B DISPLAY afin que mon script puisse également y être exécuté?

Jim Basquiat
la source

Réponses:

0

Exactement comme vous l'avez déjà.

Le problème est que l'utilisateur B n'est pas autorisé à connecter ses clients au serveur. Faites en sorte que l'utilisateur A soit exécuté xhostcorrectement pour autoriser l'accès, ou demandez à l'utilisateur A de partager son cookie magique avec l'utilisateur B. Voir les pages de manuel xhost(1)et xauth(1)pour plus de détails.

Ignacio Vazquez-Abrams
la source
o merci pour l'allusion. J'ai essayé d'ajouter l'utilisateur B à la liste des hôtes acceptés en exécutant xhost userB, mais cela revient xhost: bad hostname "userB". Qu'est-ce qu'un hôte exatly? ce n'est pas la même chose qu'un utilisateur? J'ai lu les deux pages de manuel pour xhost et xauth, mais pour newb, ce n'est pas clair du tout. C'est la façon la plus simple de résoudre ce problème
jim basquiat
en.wikipedia.org/wiki/Host_(network)
Ignacio Vazquez-Abrams
si vous savez comment ajouter un autre utilisateur à xhost, merci de me faire savoir la commande à utiliser. Sinon, les liens sont intéressants.
jim basquiat