web-dev-qa-db-fra.com

XDG_RUNTIME_DIR non défini dans l'environnement

J'utilise Ubuntu 14.04 LTS. Je voulais exécuter une application graphique lors de la connexion à LightDM. Je l'ai fait en ajoutant cette ligne sur /etc/pam.d/lightdm

auth required pam_exec.so debug log=/path/to/file.log /path/to/script.sh

Le script appellera alors le binaire. Je sais que le script est appelé car j'ai ajouté des journaux. Le problème est que je reçois cette erreur lorsque le script appelle le binaire.

error: XDG_RUNTIME_DIR not set in the environment.
(binary:3781): Gtk-WARNING **: cannot open display:

Lors de la vérification des journaux également, j'ai découvert que le script était appelé par root.

Dans le journal, j'ai également essayé de faire écho à DISPLAY et à XAUTHORITY et les deux sont vides. J'ai essayé d'utiliser gksudo pour appeler le binaire dans le script, même erreur. Avez-vous une solution de contournement sans danger pour cela?

2
flyingknee

Je pouvais le faire fonctionner, je viens de définir les variables d'environnement suivantes sur le script avant d'appeler le binaire.

export XAUTHORITY=/var/run/lightdm/root/:0
export DISPLAY=:0

S'il vous plaît dites-moi si c'est sécuritaire.

1
flyingknee