Как безопасно отключить / перезагрузить / выйти из KDE из командной строки?

22

Я не говорю о том shutdownи rebootкоманде. Я хочу запустить ту же процедуру из командной строки, которая будет выполняться, если я нажму кнопку выхода / перезагрузки / выключения на рабочем столе KDE.

txwikinger
источник
Я не знаю, могли бы вы сделать это. одна из команд в конечном итоге закроет терминал, который вы используете для взаимодействия с ним. Может быть, больше идей о том, почему вам нужно это сделать? :)
myusuf3
Мне нужно сделать это, потому что плазменный рабочий стол иногда работает, и я все еще хочу сохранить информацию о сеансе, сохраненную во время выхода из системы
txwikinger

Ответы:

24

Для kde4:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1

Три целочисленных параметров являются confirm, sdtypeи sdmodeаргументы KWorkSpace :: requestShutDown . Их значения объясняются в верхней части страницы.

Жиль "ТАК - перестань быть злым"
источник
Ответ Жиля мне тоже помог. Просто небольшая заметка: она не работает с su. В моем случае это было частью команды, созданной с использованием sudo. В этом случае это не работает. Жалуется Cannot find 'org.kde.KSMServerInterface.logout' in object /KSMServer at org.kde.ksmserver. Однако работает очень хорошо при запуске с обычным пользователем ^ _ ^
user3099609
3

Для любой версии 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.

Зденек Валек
источник
2

Поэтому я попробовал ответ, представленный Жилем, но это работает только для KDE4.

После обновления системы с моей графикой я больше не мог выходить из системы, перезагружаться или выключаться. В конце концов обнаружил, что эта команда работает:

qdbus org.kde.ksmserver /KSMServer logout 0 0 0

Мой источник отсюда, где они обсуждают это немного больше. Я не уверен насчет других оптоинов. Обсуждение темы форума Опции выключения KDE5. Кажется, что приведенная выше команда корректно отключила мою систему. Все мои программы вернулись, как и ожидалось, в правильном порядке верстки, и я, похоже, ничего не упустил. Если это не сработает, пожалуйста, прокомментируйте, и я исправлю свой ответ, но пока это все, что сработало для корректного выключения KDE5, когда мой заблокирован. (Я, очевидно, мог бы использовать команду выключения или вызвать init, но это не изящно.)

CD
источник