Uzyskuję dostęp do komputera (OpenSuse 11 z KDE) przez NX.
Nie mogę używać skrótów Alt-Ctrl-Del, ponieważ są one przechwytywane przez mój system. Zwykły przycisk wylogowania kończy sesję NX bez kończenia sesji KDE. Nie mogę dzwonić, kdm restart
ponieważ nie mam uprawnień roota.
Inne dzikie domysły lubią logout
i exit
nie działają, pierwszy narzeka, że nie jest w powłoce logowania, a drugi tylko zamyka konsolę.
Mój shell-fu jest słaby, więc doceniam każdą pomoc.
Odpowiedzi:
Możesz wysłać polecenie wylogowania przez dbus do KDE, które powinno (jeśli to możliwe) zakończyć sesję.
dbus to system przesyłania wiadomości, który umożliwia aplikacjom komunikację między sobą, a
qdbus
polecenie to narzędzie do wysyłania komunikatów dbus do aplikacji.Aplikacje rejestrują się w dbus, a
ksmserver
częścią KDE jest menedżer sesji - dba o to, kto jest zalogowany.Więc wysyłasz wiadomość
ksmserver
do/KSMServer
interfejsu i informując go, aby się wylogować. Wiadomość, którą wysyłamy, to dokładnie ta sama wiadomość, która jest wysyłana do KSM po kliknięciu ikony wylogowania na pulpicie.Trzy zera są parametrami i mogą zmieniać typ wylogowywania, który wykonujemy:
Pierwszy parametr:
Drugi parametr:
Trzeci parametr to parametr „kiedy”, ale nie jest jasne, jaki jest jego wpływ.
źródło
DISPLAY
zmienną środowiskową (najprawdopodobniej:0
) przed uruchomieniem tego polecenia, w przeciwnym razie będzie narzekać.Przyjęta odpowiedź jest rozwiązaniem specyficznym dla KDE5, bardziej ogólne podejście
lub
Źródło
Istnieje więcej możliwych poleceń:
źródło