Я не говорю о командах shutdown
и reboot
. Я хочу запустить ту же процедуру из командной строки, которая будет выполнена, если я нажму кнопку выхода / перезагрузки / выключения на рабочем столе KDE.
Для любой версии KDE (возможно, также GNOME и других):
В Центре управления KDE (KDE3.5 / trinity) вы можете установить сочетание клавиш для «остановки без подтверждения» (должно быть сложным). один, чтобы избежать трагедии, например Ctrl kbd> + Shift kbd> + Alt kbd> + Delete kbd>), а затем запустите 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, но это не изящно.)
Для kde4:
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1
Три целочисленных параметра - аргументы confirm
, sdtype
и sdmode
для KWorkSpace :: requestShutDown . Их значения объясняются в верхней части страницы.