2016-04-19 2 views
0

J'essaye de courir une construction locale de gvfs. J'ai suivi le document Newcomers pour mettre en place un environnement de construction fonctionnel, ai construit des sources gvfs et essaye maintenant de comprendre comment l'exécuter.Exécution de gvfs après la construction

Les docs ont des instructions sur l'exécution applications ou le shell GNOME, qui disent que je dois tuer l'instance en cours, puis lancer la nouvelle construction binaire avec jhbuild run, comme dans:

$ killall gnome-weather 
$ jhbuild run gnome-weather 

ou, dans le cas de la coquille,

$ jhbuild run gnome-shell --replace 

Pour gvfs, je vois qu'il engendre un tas de processus (tous les enfants de P1 fonctionnant sous mon compte), le premier d'entre eux (le plus bas PID) étant gvfsd. J'ai donc essayé les éléments suivants:

$ killall gvfsd 
$ jhbuild run gvfs 

Ce qui me donne le message d'erreur:

jhbuild run: Unable to execute the command 'gvfs': [Errno 2] No such file or directory 

Si au contraire j'essaie

$ jhbuild run gvfsd 

Je reçois le même message. Pareil quand j'essaie l'un des deux ci-dessus avec --replace.

Depuis gvfs est un démon plutôt qu'une application, je cherchais un peu et suis tombé sur this post, qui suggère de lancer avec daemons

jhbuild run dbus-launch --exit-with-session name-of-daemon 

Pas de joie non plus ... peu importe si j'utilise gvfs ou gvfsd le nom, je reçois le message d'erreur

Couldn't exec gvfs: No such file or directory 

(déclaration du nom que j'ai spécifié dans la commande).

Est-ce la bonne façon de lancer gvfs? Si non, qu'est-ce que c'est? Si c'est le cas, comment puis-je savoir ce qui ne va pas?

EDIT: Apparemment, le code que j'ai l'intention de modifier fait partie du binaire gvfs-mtp-volume-monitor - mais c'est essentiellement la même chose ici. Comment lancer ma propre version du binaire plutôt que celle fournie avec ma distribution OS?

Répondre

0

jhbuild run peut être utilisé pour gvfs de la même manière.

Pour gvfsd procédez comme suit:

jhbuild run ~/jhbuild/install/libexec/gvfsd -r 

Le commutateur -r dit gvfsd pour remplacer une version en cours d'exécution. gvfsd démarre également gvfsd-fuse s'il a été créé et que vous ne l'avez pas désactivé via un commutateur de ligne de commande.

Vous devrez également remplacer les moniteurs de volume (et d'autres processus dont vous avez besoin), tels que:

killall gvfs-mtp-volume-monitor 
jhbuild run ~/jhbuild/install/libexec/gvfs-mtp-volume-monitor 

Il faut prendre soin de tout ce qui est invoqué sur dbus:

  • Namespaces peut changer entre les versions. Si cela se produit entre la version livrée avec votre système d'exploitation et celle en cours, cette dernière ne fonctionnera pas à moins que vous ne modifiez votre configuration dbus pour refléter cela.
  • Si dbus est utilisé pour générer des processus, il reviendra aux fichiers binaires livrés avec votre système d'exploitation. Encore une fois, vous devrez modifier votre configuration dbus (en particulier .service entrées) pour pointer vers vos fichiers binaires.