运行 构建后的 gvfs
Running gvfs after building
我正在尝试 运行 gvfs
的本地构建。我已经按照 Newcomers 文档设置了一个工作构建环境,从源代码构建了 gvfs,现在正试图弄清楚如何 运行 它。
文档有关于 运行ning applications 或 GNOME shell 的说明,其中说我需要终止当前实例,然后启动新实例-使用 jhbuild run
构建二进制文件,如:
$ killall gnome-weather
$ jhbuild run gnome-weather
或者,在 shell 的情况下,
$ jhbuild run gnome-shell --replace
对于 gvfs
,我看到它生成了一堆进程(我帐户下 P1 运行ning 的所有子进程),其中第一个(最低 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
二进制文件的一部分——但这里基本上是一样的。如何启动我自己的二进制版本而不是 OS 发行版附带的版本?
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 调用的任何内容:
- 名称空间可能会因版本而异。如果这种情况发生在 OS 附带的版本和当前版本之间,则后者将无法工作,除非您调整 dbus 配置以反映这一点。
- 如果使用 dbus 生成进程,它将回退到 OS 附带的二进制文件。同样,您需要修改您的 dbus 配置(特别是
.service
条目)以指向您的二进制文件。
我正在尝试 运行 gvfs
的本地构建。我已经按照 Newcomers 文档设置了一个工作构建环境,从源代码构建了 gvfs,现在正试图弄清楚如何 运行 它。
文档有关于 运行ning applications 或 GNOME shell 的说明,其中说我需要终止当前实例,然后启动新实例-使用 jhbuild run
构建二进制文件,如:
$ killall gnome-weather
$ jhbuild run gnome-weather
或者,在 shell 的情况下,
$ jhbuild run gnome-shell --replace
对于 gvfs
,我看到它生成了一堆进程(我帐户下 P1 运行ning 的所有子进程),其中第一个(最低 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
二进制文件的一部分——但这里基本上是一样的。如何启动我自己的二进制版本而不是 OS 发行版附带的版本?
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 调用的任何内容:
- 名称空间可能会因版本而异。如果这种情况发生在 OS 附带的版本和当前版本之间,则后者将无法工作,除非您调整 dbus 配置以反映这一点。
- 如果使用 dbus 生成进程,它将回退到 OS 附带的二进制文件。同样,您需要修改您的 dbus 配置(特别是
.service
条目)以指向您的二进制文件。