En fait, les autorisations d'accès au serveur X sont gérées par des "cookies" stockés dans un fichier (le fichier lui-même dépend de ta version de X et, certainement, de ta distribution : il s'agit de ~/.Xauthority ou du fichier indiqué par la variable XAUTHORITY).
Pour que Alice puisse afficher sur le serveur X :0, il faut donc :
- que la variable DISPLAY soit positionnée à :0
- que Alice possède l'autorisation dans son fichier XAUTHORITY.
Ce dernier point peut être réglé ainsi :
- Bob exporte ses données avec xauth extract /tmp/bob.xauth :0
- Alice importe l'autorisation avec xauth merge /tmp/bob.xauth
Il faut que le fichier XAUTHORITY de Alice existe et qu'elle puisse écrire dedans (et pour des raison de sécurité, il faut éviter que d'autres utilisateurs puissent lire le fichier exporté par Bob).
Mais il y a des façon plus simples de gérer tout ça de façon automatique. Comment est-ce que Alice ouvre sa session ? Est-ce dans une émulation de terminal du type xterm/rxvt/konsole/gnome-terminal/eterm/xfce4-terminal/... (désolé pour ceux que j'ai oubliés : je ne voudrais pas déclencher une guerre de clochers) avec une commande de type "su" ? Si c'est cela, regarde du côte de gksu/kdesu qui permettent de lancer une application graphique (donc, au besoin, une émulation de terminal avec un shell) sous un autre utilisateur.
Il est aussi possible d'ouvrir une session en exportant le display en faisant une connexion ssh locale ! Il suffit que bob exécute (si un serveur SSH est actif) ssh -X alice@localhost
C'est un peu la grosse artillerie mais ça a l'avantage d'être simple.
# Transférer les autorisations X
Posté par JJD . En réponse au message rediriger la console vers :0. Évalué à 2.
Salut,
En fait, les autorisations d'accès au serveur X sont gérées par des "cookies" stockés dans un fichier (le fichier lui-même dépend de ta version de X et, certainement, de ta distribution : il s'agit de ~/.Xauthority ou du fichier indiqué par la variable XAUTHORITY).
Pour que Alice puisse afficher sur le serveur X :0, il faut donc :
- que la variable DISPLAY soit positionnée à :0
- que Alice possède l'autorisation dans son fichier XAUTHORITY.
Ce dernier point peut être réglé ainsi :
- Bob exporte ses données avec
xauth extract /tmp/bob.xauth :0- Alice importe l'autorisation avec
xauth merge /tmp/bob.xauthIl faut que le fichier XAUTHORITY de Alice existe et qu'elle puisse écrire dedans (et pour des raison de sécurité, il faut éviter que d'autres utilisateurs puissent lire le fichier exporté par Bob).
Mais il y a des façon plus simples de gérer tout ça de façon automatique. Comment est-ce que Alice ouvre sa session ? Est-ce dans une émulation de terminal du type xterm/rxvt/konsole/gnome-terminal/eterm/xfce4-terminal/... (désolé pour ceux que j'ai oubliés : je ne voudrais pas déclencher une guerre de clochers) avec une commande de type "su" ? Si c'est cela, regarde du côte de gksu/kdesu qui permettent de lancer une application graphique (donc, au besoin, une émulation de terminal avec un shell) sous un autre utilisateur.
Il est aussi possible d'ouvrir une session en exportant le display en faisant une connexion ssh locale ! Il suffit que bob exécute (si un serveur SSH est actif)
ssh -X alice@localhostC'est un peu la grosse artillerie mais ça a l'avantage d'être simple.
A+