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 [email protected]
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 [email protected] 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/login
itp
W razie potrzeby mogę wymienić zawartość tych plików tutaj.
Aktualizacja:
Oto duży plik tar ze wszystkimi skryptami, które mogłem znaleźć:
dbus-launch konsole
która przerywa sesję lokalną? Czy tylko interaktywny login ssh, w którym naciskaszexit
natychmiast?).Odpowiedzi:
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.
źródło