Ви можете надіслати команду виходу через dbus до KDE, яка повинна (якщо вона може) припинити сеанс.
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
dbus - це система обміну повідомленнями, яка дозволяє програмам спілкуватися один з одним, а qdbus
команда - це утиліта для надсилання dbus-повідомлень у додатки.
Програми реєструються за допомогою dbus, а ksmserver
частина KDE - це менеджер сеансів - він доглядає за тим, хто ввійшов у систему.
Тож ми надсилаємо повідомлення ksmserver
в /KSMServer
інтерфейс і повідомляємо його вийти. Повідомлення, яке ми надсилаємо, - це саме те саме повідомлення, яке надсилається до KSM, коли ви клацаєте на піктограмі виходу на робочий стіл.
Три нулі є параметрами і можуть змінювати тип виходу, який ми робимо:
Перший параметр:
- 0 = Не чекайте підтвердження
- 1 = Зачекайте на підтвердження (із затримкою 30 секунд)
Другий параметр:
- -1 = Запрошення до дії, дефолт до вимкнення (Має сенс лише під час очікування підтвердження.)
- 0 = Вихід
- 1 = Перезапуск
- 2 = Вимкнення
Третій параметр - це параметр "коли", але не ясно, який його вплив.