Nie mówię shutdown
i nie reboot
rozkazuję. Chcę zainicjować tę samą procedurę z wiersza poleceń, która byłaby wykonana, gdybym nacisnął przycisk wylogowania / ponownego uruchomienia / zamknięcia na pulpicie KDE.
Nie mówię shutdown
i nie reboot
rozkazuję. Chcę zainicjować tę samą procedurę z wiersza poleceń, która byłaby wykonana, gdybym nacisnął przycisk wylogowania / ponownego uruchomienia / zamknięcia na pulpicie KDE.
Odpowiedzi:
Dla kde4:
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
Te trzy parametry są liczbami całkowitymi confirm
, sdtype
a sdmode
argumenty KWorkSpace :: requestShutDown . Ich wartości są wyjaśnione na górze strony.
Cannot find 'org.kde.KSMServerInterface.logout' in object /KSMServer at org.kde.ksmserver
. Jednak działa bardzo dobrze, gdy jest uruchamiany ze zwykłym użytkownikiem ^ _ ^
Dla dowolnej wersji KDE (być może także GNOME i innych):
W Centrum sterowania KDE (KDE3.5 / trinity) możesz ustawić skrót klawiaturowy dla „zatrzymaj bez potwierdzenia” (powinien być skomplikowany, aby uniknąć tragedii, np. Ctrl+ Shift+ Alt+ Delete), A następnie uruchomić xvkbd
(wirtualna klawiatura):
xvkbd -text '\C\S\A\d'
Możesz utworzyć dla tego alias (np. kdehalt
);
Mój ulubiony: sleep 1h 20m && kdehalt
lub wget "http://something" ; kdehalt
.
Wypróbowałem więc odpowiedź przedstawioną przez Gillesa, ale to działa tylko na KDE4.
Po aktualizacji systemu z moją grafiką nie mogłem się już wylogować, zrestartować ani zamknąć. W końcu okazało się, że to polecenie działało:
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
Moje źródło pochodzi stąd, gdzie dyskutują o tym trochę więcej. Nie jestem pewien co do innych optoinów. Dyskusja na forum Opcje zamykania KDE5. Wydaje się, że powyższe polecenie z wdziękiem zamknęło mój system. Wszystkie moje programy wróciły zgodnie z oczekiwaniami, we właściwej kolejności, i chyba niczego mi nie brakowało. Jeśli to nie zadziała, proszę o komentarz, a ja dostosuję swoją odpowiedź, ale jak dotąd wszystko to działało dla płynnego zamykania KDE5, gdy moje jest zablokowane. (Oczywiście mogłem użyć polecenia zamknięcia lub wywołać init, ale nie są one taktowne).