Après avoir exécuté des programmes X sur SSH, SSH ne se termine pas après la sortie du shell (à utiliser par exemple CtrlCpour le tuer).
Je suppose que même si le programme X quitte déjà, il reste encore une certaine "connexion" (non libérée). Les exceptions que j'ai trouvées maintenant sont gtk-demo
et acroread
.
Est-ce que quelqu'un connaît la raison? Est-ce un problème avec la configuration de ssh {, d}?
ssh
x11
xforwarding
yuyichao
la source
la source
C-c
été pressées).Réponses:
Le démarrage du programme X démarre probablement un processus d'arrière-plan qui ne se termine pas lorsque vous fermez le programme (ou le programme lui-même ne se termine pas correctement). Voir ici pour une explication de ce qui se passe.
Pour résoudre ce problème, vous pouvez essayer de savoir quels processus sont toujours en cours d'exécution et empêcher leur démarrage lorsque vous vous connectez via SSH ou simplement les tuer avant de vous déconnecter. Vous pouvez certainement tuer la connexion SSH une fois que vous vous êtes également déconnecté.
la source
systemd-cgls
~~) (J'ai essayékillall -KILL
le programme lui-même en pensant qu'il pourrait déboucher sur un processus d'arrière-plan auparavant, mais cela ne semble pas être le cas.). Alors, y a-t-il un moyen de bien faire les choses? (par exemple, tuer automatiquement dbus (gconf)) THXkillall dbus
ou quelque chose comme ça dans votre.logout
, mais cela gâcherait probablement d'autres choses (c'est-à-dire lorsque vous êtes connecté localement).kill-session=1
et j'espère que systemd peut me dire quel est le bon processus à tuer (c'est-à-dire ne pas tuer les processus dans d'autres sessions.) ~~~ THX