Wie verhindere ich, dass ssh remote login dbus unterbricht?

10

Ich führe openSUSE 11.3 auf meiner Workstation bei der Arbeit unter KDE aus. Ich habe keinen Root-Zugriff darauf. Die Standard-Shell wurde auf festgelegt tcsh. Wenn ich an meiner Workstation angemeldet bin und mich von meinem MacBook mit OS X 10.6 aus sshwie folgt remote anmelde :

ssh -X -C [email protected]

alles funktioniert gut; Sobald ich fertig bin, erhalte ich DBUS-Fehler in meiner Workstation-Sitzung, wenn ich versuche, etwas mit einer GUI zu starten, einschließlich leider des Abmeldedialogfelds in der Taskleiste. Ich habe es satt zu töten, startkdenur um mich in diesen Situationen abzumelden.

Online Ich habe viele Anweisungen zum Herstellen einer Verbindung zu einer vorhandenen dbus-Sitzung mit ssh gefunden, aber ich möchte das Gegenteil tun und die vorhandene dbus-Sitzung von der ssh-Remote-Anmeldesitzung völlig unberührt lassen.

Wenn ich mache

ssh -X -C [email protected] dbus-launch konsole

das funktioniert, also ist es nur die interaktive Login-Shell, die dbus kaputt macht. Wie soll ich ändern ~/.cshrc? Beachten Sie, dass ich haben keine Berechtigung zu ändern /etc/cshrc, /etc/loginetc.

Bei Bedarf kann ich hier den Inhalt dieser Dateien auflisten.

Aktualisieren:

Hier ist eine große TAR-Datei mit allen Skripten, die ich finden konnte:

http://dl.dropbox.com/u/17203983/cshrc.tgz

user1079118
quelle
Ja, bitte veröffentlichen Sie den Inhalt der Initialisierungsdateien, die den Unterschied ausmachen. Beschreiben Sie außerdem genau, welche Befehle die lokale Sitzung unterbrechen (wird dbus-launch konsoledie lokale Sitzung unterbrochen? Oder lediglich ein interaktives SSH-Login, bei dem Sie exitsofort drücken ?).
Gilles 'SO - hör auf böse zu sein'
@ Gilles Hmm, ich habe versucht, meine Frage mit dem Inhalt der Dateien zu bearbeiten, aber es gibt zu viele Zeichen. Ich werde herausfinden, wie und wo ich sie hochladen kann. In der Zwischenzeit hat dbus-launch konsole nicht die lokale Sitzung brechen, während eine interaktive SSH - Login von der Kommandozeile unmittelbar nach Ausfahrt Willen gefolgt. Selbst wenn nur ein rsync ausgeführt wird, wird dbus unterbrochen (für mich scheint es seltsam, dass rsync die Login-Shell-Skripte standardmäßig ausführt, dies ist jedoch der Fall).
user1079118
Versuchen Sie pastebin.com für große Dateien.
Gilles 'SO - hör auf böse zu sein'

Antworten:

1

Tatsächlich finden die dbus-Sitzungen pro Maschine und pro X-Anzeige statt.

Wenn Sie eine Remote-SSH-Sitzung durchführen, verwenden Sie eine andere X11-Anzeige (normalerweise localhost: 10).

Wenn Sie alle dbus beenden und in der SSH-Sitzung starten, funktioniert es ... für die SSH-Sitzung. Aber offensichtlich werden alle anderen dbus-Sitzungen in der Maschine unterbrochen.

Was benötigt wird, ist zu überprüfen, ob eine Sitzung für die Maschine + Anzeige bereits vorhanden ist, wenn ja, verwenden Sie sie, wenn nicht, starten Sie einen neuen dbus für diese Kombination und informieren Sie die Sitzung darüber.

Unter /unix//a/188877/32769 finden Sie einen Bash-Block, den Sie in Ihre Datei $ HOME / .bash_profile einfügen können, um diese Tests durchzuführen und das Richtige zu tun.

Pablo Saratxaga
quelle