I'm running openSUSE 11.3 on my workstation at work under KDE, I don't have root access to it. The default shell has been set to tcsh. When I am logged in at my workstation and log in remotely from my MacBook running OS X 10.6 using ssh, like so:

ssh -X -C user@workstation.edu

everything works fine; however, once I'm done, I get DBUS errors on my workstation session whenever I try to launch anything with a GUI, including, unfortunately, the logout dialog box from the task bar panel. I'm getting tired of killing startkde just to logout in these situations.

Online I've found a lot of instructions for connecting to an existing dbus session using ssh, but I'd like to do the opposite, leave the existing dbus session completely untouched by the ssh remote login session.

If I do

ssh -X -C user@workstation.edu dbus-launch konsole

that works, so it's only the interactive login shell that's breaking dbus. How should I modify ~/.cshrc? Keep in mind that I don't have permission to modify /etc/cshrc, /etc/login, etc.

I can list the contents of those files here, if necessary.


Here is a big tar file with all the scripts I could find:


  • Yes, please post the contents of the initialization files that make the difference. Also, please describe precisely what commands break the local session (is it running dbus-launch konsole that breaks the local session? Or merely an interactive ssh login where you press exit immediately?). – Gilles 'SO- stop being evil' Dec 3 '11 at 23:39
  • @Gilles Hmm, I tried to edit my question with the contents of the files, but there are too many characters. I will find out how and where I can upload them. In the meantime, dbus-launch konsole does not break the local session, while an interactive ssh login from the command line followed immediately by exit will. In fact, even just doing an rsync also breaks dbus (to me it seems strange that rsync runs the login shell scripts by default, but it does). – user1079118 Dec 5 '11 at 17:27
  • Try pastebin.com for large files. – Gilles 'SO- stop being evil' Dec 5 '11 at 18:24

Actually dbus session are per machine and per X display.

When you do a remote SSH session, you use a different X11 display (typically localhost:10)

If you kill all dbus and launch it on the SSH session it works... for the SSH session. But obviously it breaksall other dbus sessions in the machine.

What is needed is to check if a session for the machine+display already exists, if yes use it, if not launch a new dbus for that combination and let the session know about it.

Look at https://unix.stackexchange.com/a/188877/32769 for a bash block you can put in your $HOME/.bash_profile file to do those tests and properly do the right thing.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.