Puede enviar un comando de cierre de sesión a través de dbus a KDE, que debería (si puede) terminar la sesión.
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
dbus es un sistema de mensajería que permite que las aplicaciones se comuniquen entre sí, y el qdbus
comando es una utilidad para enviar mensajes dbus a las aplicaciones.
Las aplicaciones se registran con dbus, y la ksmserver
parte de KDE es el administrador de sesión: se encarga de quién inició sesión.
Entonces enviamos un mensaje ksmserver
a la /KSMServer
interfaz y le pedimos que cierre la sesión. El mensaje que enviamos es exactamente el mismo mensaje que se envía a KSM cuando hace clic en el icono de cerrar sesión en su escritorio.
Los tres ceros son parámetros y pueden alterar el tipo de cierre de sesión que estamos haciendo:
Primer parámetro:
- 0 = No espere confirmación
- 1 = Esperar confirmación (con un tiempo de espera de 30 segundos)
Segundo parámetro:
- -1 = Solicitud de acción, por defecto al apagado (solo tiene sentido cuando se espera confirmación).
- 0 = Cerrar sesión
- 1 = reiniciar
- 2 = apagado
El tercer parámetro es el parámetro "cuándo", pero no está claro cuál es su impacto.