J'utilise openSUSE 11.3 sur mon poste de travail au travail sous KDE, je n'y ai pas accès root. Le shell par défaut a été défini sur tcsh
. Lorsque je suis connecté à mon poste de travail et que je me connecte à distance à partir de mon MacBook exécutant OS X 10.6 en utilisant ssh
, comme ceci:
ssh -X -C [email protected]
tout fonctionne bien; cependant, une fois que j'ai terminé, j'obtiens des erreurs DBUS sur ma session de poste de travail chaque fois que j'essaie de lancer quoi que ce soit avec une interface graphique, y compris, malheureusement, la boîte de dialogue de déconnexion à partir du panneau de la barre des tâches. Je me lasse de tuer startkde
juste pour me déconnecter dans ces situations.
En ligne, j'ai trouvé beaucoup d'instructions pour se connecter à une session dbus existante à l'aide de ssh, mais j'aimerais faire le contraire, laisser la session dbus existante complètement intacte par la session de connexion à distance ssh.
Si je fais
ssh -X -C [email protected] dbus-launch konsole
cela fonctionne, donc ce n'est que le shell de connexion interactif qui brise dbus. Comment dois-je modifier ~/.cshrc
? Gardez à l' esprit que je n'ai pas la permission de modifier /etc/cshrc
, /etc/login
etc.
Je peux lister le contenu de ces fichiers ici, si nécessaire.
Mise à jour:
Voici un gros fichier tar avec tous les scripts que j'ai pu trouver:
dbus-launch konsole
qui interrompt la session locale? Ou simplement une connexion ssh interactive sur laquelle vous appuyezexit
immédiatement?).Réponses:
En fait, les sessions dbus sont par machine et par écran X.
Lorsque vous effectuez une session SSH distante, vous utilisez un affichage X11 différent (généralement localhost: 10)
Si vous tuez tous les dbus et les lancez sur la session SSH, cela fonctionne ... pour la session SSH. Mais de toute évidence, cela interrompt les autres sessions dbus de la machine.
Ce qui est nécessaire est de vérifier si une session pour la machine + écran existe déjà, si oui, utilisez-la, sinon lancez un nouveau dbus pour cette combinaison et informez-en la session.
Regardez https://unix.stackexchange.com/a/188877/32769 pour un bloc bash que vous pouvez mettre dans votre fichier $ HOME / .bash_profile pour faire ces tests et faire correctement la bonne chose.
la source