我正在尝试运行gvfs
的本地版本。我已经按照Newcomers文档建立了一个工作的构建环境,从源代码构建了gvfs,现在我正试图弄清楚如何运行它。
文档有关于运行应用程序或GNOME shell的说明,它们说我需要终止当前实例,然后使用jhbuild run
启动新构建的二进制文件,如:< / p>
$ killall gnome-weather
$ jhbuild run gnome-weather
或者,在shell的情况下,
$ jhbuild run gnome-shell --replace
对于gvfs
,我发现它会产生一系列进程(P1的所有子进程都在我的帐户下运行),其中第一个进程(最低PID)为gvfsd
。所以我尝试了以下内容:
$ killall gvfsd
$ jhbuild run gvfs
这给了我错误信息:
jhbuild run: Unable to execute the command 'gvfs': [Errno 2] No such file or directory
如果我试试
$ jhbuild run gvfsd
我收到同样的消息。当我使用--replace
尝试上述任何一个时,也是如此。
由于gvfs
是一个守护进程而不是一个应用程序,我搜索了一下并遇到了this post,这表示启动守护进程
jhbuild run dbus-launch --exit-with-session name-of-daemon
没有快乐......无论我使用gvfs
还是gvfsd
作为名称,我都会收到错误消息
Couldn't exec gvfs: No such file or directory
(报告我在命令中指定的名称)。
这是启动gvfs
的正确方法吗?如果不是,那是什么?如果是的话,我怎么能找出出了什么问题?
编辑:显然,我打算修改的代码是gvfs-mtp-volume-monitor
二进制文件的一部分 - 但这里基本相同。如何启动我自己的二进制版本而不是我的操作系统发行版附带的版本?
答案 0 :(得分:0)
jhbuild run
可以以相同的方式用于gvfs。
对于gvfsd
,请执行以下操作:
jhbuild run ~/jhbuild/install/libexec/gvfsd -r
-r
开关告诉gvfsd
替换任何正在运行的版本。 gvfsd
如果已构建gvfsd-fuse
也会启动,并且您没有通过命令行开关禁用它。
您还需要更换任何音量监视器(以及您需要的其他进程),例如:
killall gvfs-mtp-volume-monitor
jhbuild run ~/jhbuild/install/libexec/gvfs-mtp-volume-monitor
必须注意通过dbus调用的任何内容:
.service
条目)以指向您的二进制文件。