J'essaie d'exécuter diverses applications Gnome via X11 Forwarding et SSH. Certaines applications provoqueront le lancement de l'application «dbus-launch» en premier. Le problème est que dbus-launch ne se ferme pas lorsque l'application X est fermée, et doit donc être tué avant que la session SSH puisse être fermée correctement.
Je suppose que le problème est que les applications X / Gnome ne peuvent pas se connecter avec le démon de bus de messages principal et doivent donc lancer leur propre copie? Comment puis-je réparer cela? Ou qu'est-ce qui me manque?
Voici un exemple. J'ai activé le transfert X11, tout semble bien fonctionner.
[me@host ~]$ gnome-calculator &
[1] 4803
(ici le programme gcalctool se lance et s'affiche sur mon serveur X remove (Xming))
[me@host ~]$ ps
PID TTY TIME CMD
4706 pts/0 00:00:00 bash
4803 pts/0 00:00:00 gnome-calculator
4807 pts/0 00:00:00 dbus-launch
4870 pts/0 00:00:00 ps
(maintenant, après avoir fermé l'application gcalctool dans la session distante)
[me@host ~]$ ps
PID TTY TIME CMD
4706 pts/0 00:00:00 bash
4807 pts/0 00:00:00 dbus-launch
4898 pts/0 00:00:00 ps
Notez que le lancement de dbus est toujours actif. Et le pire, cela empêche la connexion SSH de se fermer correctement jusqu'à ce qu'elle soit tuée.
Notez que le démon de message à l'échelle du système est en cours d'exécution, comme on peut le voir ici:
[me@host ~]$ ps ax
4696 ? Ssl 0:00 dbus-daemon --system
Qu'est-ce que j'oublie ici? Je n'ai jamais vu ce comportement auparavant. Vraisemblablement, je n'ai vu que des applications qui peuvent se connecter au démon de bus de messages sans entrave? J'ai cherché dans / etc / dbus-1 des réponses, mais je ne sais pas quoi chercher.
Merci d'avance pour l'aide.
[ÉDITER]
OK, je me rends compte que je rencontre un problème commun. Il semble que ce soit un comportement assez courant, mais sans une bonne solution. Je rencontre le blocage SSH parce que le lancement de dbus est toujours actif dans le terminal. Mais il n'y a apparemment aucun bon moyen pour que le lancement du dbus se déroule tranquillement.
Regarder /etc/X11/xinit/xinitrc.d/00-start-message-bus.sh donne un indice sur ce qui est censé se passer avec une session X "normale". Bien sûr, cela ne fonctionne pas lorsque vous appelez simplement une application X à un serveur X distant.
Comme solution temporaire, j'ai ajouté ceci à mon .bash_logout:
# ~/.bash_logout
pkill -u $USER -t `tty | cut -d '/' -f 3,4` dbus-launch
Cela permettra à la session SSH de se terminer, mais cela semble délirant. Existe-t-il de meilleures solutions? Quelle est la bonne façon d'exécuter des applications X11 à distance sans que dbus ne gêne?