Я не говорю о том shutdown
и reboot
команде. Я хочу запустить ту же процедуру из командной строки, которая будет выполняться, если я нажму кнопку выхода / перезагрузки / выключения на рабочем столе KDE.
Я не говорю о том shutdown
и reboot
команде. Я хочу запустить ту же процедуру из командной строки, которая будет выполняться, если я нажму кнопку выхода / перезагрузки / выключения на рабочем столе KDE.
Ответы:
Для kde4:
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
Три целочисленных параметров являются confirm
, sdtype
и sdmode
аргументы KWorkSpace :: requestShutDown . Их значения объясняются в верхней части страницы.
Cannot find 'org.kde.KSMServerInterface.logout' in object /KSMServer at org.kde.ksmserver
. Однако работает очень хорошо при запуске с обычным пользователем ^ _ ^
Для любой версии KDE (возможно, также GNOME и других):
В Центре управления KDE (KDE3.5 / троица) вы можете установить сочетание клавиш для «остановки без подтверждения» (должен быть сложным один , чтобы избежать трагедии, как Ctrl+ Shift+ Alt+ Delete) , а затем запустить xvkbd
(виртуальная клавиатура):
xvkbd -text '\C\S\A\d'
Вы можете создать псевдоним для этого (например kdehalt
);
Мой любимый: sleep 1h 20m && kdehalt
или wget "http://something" ; kdehalt
.
Поэтому я попробовал ответ, представленный Жилем, но это работает только для KDE4.
После обновления системы с моей графикой я больше не мог выходить из системы, перезагружаться или выключаться. В конце концов обнаружил, что эта команда работает:
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
Мой источник отсюда, где они обсуждают это немного больше. Я не уверен насчет других оптоинов. Обсуждение темы форума Опции выключения KDE5. Кажется, что приведенная выше команда корректно отключила мою систему. Все мои программы вернулись, как и ожидалось, в правильном порядке верстки, и я, похоже, ничего не упустил. Если это не сработает, пожалуйста, прокомментируйте, и я исправлю свой ответ, но пока это все, что сработало для корректного выключения KDE5, когда мой заблокирован. (Я, очевидно, мог бы использовать команду выключения или вызвать init, но это не изящно.)