Я не говорю про 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 / trinity) ви можете встановити комбінацію клавіш на "зупинитись без підтвердження" (має бути складним, щоб уникнути трагедії, як 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, але це не витончено.)