Ich schreibe eine Anwendung für den Showdown der Ubuntu-App und versuche, das Profilbild des Benutzers damit zu lesen / schreiben
>>> from gi.repository import AccountsService, GLib
>>> current_user = GLib.get_user_name()
>>> user = AccountsService.UserManager.get_default().get_user(current_user)
>>> print user.get_icon_file()
None
>>> print user.get_user_name()
None
Funktioniert aber anscheinend nicht. Gibt es eine andere Möglichkeit, AccountsService mit Python zu verwenden? Ich konnte keine weitere Dokumentation zu AccountsService und Python finden.
PS: Um dieses Beispiel zu testen, müssen Sie es gir1.2-accountsservice-1.0
unter Ubuntu 12.04 installieren .
$ sudo apt-get install gir1.2-accountsservice-1.0
python
application-development
pabluk
quelle
quelle
AccountsService
. Keine Manpage, keine Dokumente aus der .deb. Nichts. Hoffe, dass jemand, der intime Kenntnisse darüber hat, wiegt.Antworten:
Nachdem Sie sich die Quelle für libaccountsservice angesehen haben, müssen Sie tatsächlich warten, bis der Benutzer geladen ist, bevor Sie auf das Benutzerobjekt zugreifen. Dies führt zum Ergebnis:
Alternativ können Sie den Kontodienst direkt und synchron über D-Bus kontaktieren:
Wenn Sie die Symboldatei festlegen möchten, müssen Sie die entsprechende Methode aufrufen:
Wenn Sie andere Methoden verwenden müssen, durchsuchen Sie die D-Bus-Schnittstelle mit D-Feet (im Software-Center).
quelle