Ich bin neu bei dbus (verwende Ubuntu 14.04, Unity). Ich bin also als Benutzer A angemeldet, erstelle einen Prozess als Benutzer B und dieser Prozess erstellt eine Sitzung für Benutzer B. Jetzt möchte ich dbus-Nachrichten verwenden, um die Sitzung dieses Prozesses für Benutzer B zu beenden. Mein Prozess soll in jeder Desktopumgebung funktionieren. Ich habe also ein Tool namens heruntergeladen d-feet
und angefangen, damit herumzuspielen. Mir ist aufgefallen, dass jedes Mal, wenn eine Sitzung im System erstellt wird, /org/freedesktop/User/1002
(1002 ist die UID für Benutzer B) hinzugefügt wird org.freedesktop.login1
.
Ich habe also versucht, Folgendes zu starten:
sudo dbus-send --type=method_call --print-reply --system --dest=org.freedesktop.login1 /org/freedesktop/login1/user/1000 org.freedesktop.login1.User.Terminate
Aber es gibt eine Fehlermeldung, die besagt Error org.freedesktop.DBus.Error.UnknownObject: Unknown user
, dass ich ctr+alt+f1
mich als Benutzer B angemeldet, gestartet startx
und vom Benutzer als Desktop aus denselben Befehl verwendet habe. Es gibt eine Fehlermeldung, die besagt, 'GDBus.Error:org.freedesktop.DBus.Error.UnknownObject: Permission Denied'
aber diesmal funktioniert es (beendet die Sitzung). Ich bin ein wenig ratlos. Hoffe, Sie können helfen. Danke.