DBus .service fichier manquant
Je suis bâtiment personnalisé dbus
service pour mes propres besoins et vous voulez qu'il démarre automatiquement lorsque quelqu'un a besoin d'elle. Pour cela j'ai créé .service
fichier comme ceci
[D-Bus Service]
Name=com.mycompany.servicename
Exec=/home/myuser/Workspace/service-start
User=myuser
Ici, j'ai juste changé le nom réel du service et de l'exécutable, mais ce n'est pas le point. J'ai vérifié les vrais noms - elle correspond exactement.
J'ai placé ce fichier sous le nom de com.mycompany.servicename.service à /usr/share/dbus-1/les services de dossier (j'utilise Ubuntu 11.10)
Fichier exécutable a x
autorisations pour tout le monde.
Et ici, c'est le problème quand j'essaie de lancer le client qui effectue
bus = dbus.SessionBus()
bus.get_object('com.mycompany.servicename','/path/to/object')
- Je obtenir dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name com.mycompany.servicename was not provided by any .service files
Objet avec chemin d'accès '/path/to/object'
est inscrit à droite après le début du service.
Je ne vois pas pourquoi dbus
ne pouvez pas trouver mon .service
fichier. Peut-être que je manque quelque chose? Des idées?
Modifier
J'ai réussi à obtenir D-BUS démarrer automatiquement mon script. La section de .service
fichier doit être nommé [D-BUS Service]
au lieu de [D-Bus service]
Malheureusement, il n'existe pas de preuves d'autres
.service
fichiers qui fournissent session buses
mais en même temps, il ya beaucoup d'entre eux dans le dossier je l'ai mentionné plus tôt (/usr/share/dbus-1/services). Le nom du dossier que j'ai obtenu icivous devez créer une réponse et accepter par vous-même!
OriginalL'auteur pss | 2012-02-08
Vous devez vous connecter pour publier un commentaire.
Voici un court résumé des commentaires...
Créer le sous-répertoire
dbus-1/services/
dans l'un des répertoires nommés dans le XDG Répertoire de Base de Spécification. Généralement,~/.local/share/dbus-1/services/
fonctionne très bien. Entrez le nouveau sous-répertoire, créez un fichier appelécom.mycompany.servicename.service
et ajoutez les lignes:Veuillez noter que D-BUS dans
[D-BUS Service]
doit être capitalisé.Que c'est!
ServiceUnknown
exception).OriginalL'auteur mzuther