Jak mogę zapobiec zdalnemu logowaniu ssh przed zerwaniem dbus?


10

Korzystam z openSUSE 11.3 na mojej stacji roboczej w pracy pod KDE, nie mam do niego uprawnień roota. Domyślna powłoka została ustawiona na tcsh. Kiedy jestem zalogowany na stacji roboczej i loguję się zdalnie z mojego MacBooka z systemem OS X 10.6, używając ssh:

ssh -X -C user@workstation.edu

wszystko dziala; jednak po zakończeniu otrzymuję błędy DBUS w sesji stacji roboczej za każdym razem, gdy próbuję uruchomić cokolwiek za pomocą GUI, w tym niestety okno dialogowe wylogowania z panelu paska zadań. Mam już dość zabijania, startkdeżeby się wylogować w takich sytuacjach.

W Internecie znalazłem wiele instrukcji dotyczących łączenia się z istniejącą sesją dbus za pomocą ssh, ale chciałbym zrobić odwrotnie, pozostawiając istniejącą sesję dbus całkowicie nietkniętą przez sesję zdalnego logowania ssh.

Jeśli zrobię

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

to działa, więc tylko interaktywna powłoka logowania łamie dbus. Jak powinienem zmodyfikować ~/.cshrc? Należy pamiętać, że nie mam uprawnień do modyfikowania /etc/cshrc, /etc/loginitp

W razie potrzeby mogę wymienić zawartość tych plików tutaj.

Aktualizacja:

Oto duży plik tar ze wszystkimi skryptami, które mogłem znaleźć:

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


Tak, proszę opublikować zawartość plików inicjujących, które mają znaczenie. Ponadto, proszę dokładnie opisać, jakie polecenia przerywają sesję lokalną (czy to działa, dbus-launch konsolektóra przerywa sesję lokalną? Czy tylko interaktywny login ssh, w którym naciskasz exitnatychmiast?).
Gilles „SO- przestań być zły”

@Gilles Hmm, próbowałem edytować moje pytanie z zawartością plików, ale jest za dużo znaków. Dowiem się, jak i gdzie mogę je przesłać. W międzyczasie konsola dbus-launch nie przerywa sesji lokalnej, podczas gdy interaktywne logowanie ssh z wiersza poleceń, a następnie natychmiast wyjście. W rzeczywistości nawet samo rsync powoduje również uszkodzenie dbus (wydaje mi się dziwne, że rsync domyślnie uruchamia skrypty powłoki logowania, ale tak się dzieje).
user1079118

Wypróbuj pastebin.com dla dużych plików.
Gilles „SO- przestań być zły”,

Odpowiedzi:


1

W rzeczywistości sesje dbus są na maszynę i na X wyświetlacz.

Wykonując zdalną sesję SSH, używasz innego ekranu X11 (zazwyczaj localhost: 10)

Jeśli zabijesz cały dbus i uruchomisz go podczas sesji SSH, to zadziała ... dla sesji SSH. Ale oczywiście psuje wszystkie inne sesje dbus w maszynie.

Konieczne jest sprawdzenie, czy sesja dla komputera + wyświetlacza już istnieje, jeśli tak, skorzystaj z niej, jeśli nie, uruchom nowy dbus dla tej kombinacji i poinformuj o tym sesję.

Spójrz na https://unix.stackexchange.com/a/188877/32769, aby znaleźć blok bashowy, który możesz umieścić w pliku $ HOME / .bash_profile, aby wykonać te testy i właściwie zrobić właściwą rzecz.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.