首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建后运行gvfs

构建后运行gvfs
EN

Stack Overflow用户
提问于 2016-04-19 11:26:46
回答 1查看 239关注 0票数 0

我正在尝试运行本地构建的gvfs。我遵循新来者文档建立了一个工作的构建环境,从源代码构建了gvfs,现在我正在努力研究如何运行它。

文档中有关于运行应用程序或GNOME shell的说明,说明我需要杀死当前实例,然后用jhbuild run启动新构建的二进制文件,如下所示:

代码语言:javascript
复制
$ killall gnome-weather
$ jhbuild run gnome-weather

或者,如果是壳,

代码语言:javascript
复制
$ jhbuild run gnome-shell --replace

对于gvfs,我看到它产生了一堆进程(在我的帐户下运行的P1的所有子进程),第一个进程(最低PID)是gvfsd。因此,我尝试了以下几点:

代码语言:javascript
复制
$ killall gvfsd
$ jhbuild run gvfs

这给了我错误信息:

代码语言:javascript
复制
jhbuild run: Unable to execute the command 'gvfs': [Errno 2] No such file or directory

如果我试着

代码语言:javascript
复制
$ jhbuild run gvfsd

我也收到同样的信息。当我使用--replace尝试上述两种方法中的任何一种时,情况也是一样的。

由于gvfs是一个守护进程,而不是一个应用程序,所以我搜索了一下这个职位,这建议使用

代码语言:javascript
复制
jhbuild run dbus-launch --exit-with-session name-of-daemon

也不是joy ..。无论我是使用gvfs还是gvfsd作为名称,我都会得到错误消息

代码语言:javascript
复制
Couldn't exec gvfs: No such file or directory

(报告命令中指定的名称)。

这是启动gvfs的正确方式吗?如果不是,什么是?如果是的话,我怎么知道出了什么问题?

编辑:显然,我打算修改的代码是gvfs-mtp-volume-monitor二进制文件的一部分,但本质上也是如此。如何发布我自己的二进制版本,而不是我的操作系统发行版呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-21 13:44:26

jhbuild run可以以同样的方式用于gvfs。

对于gvfsd,请执行以下操作:

代码语言:javascript
复制
jhbuild run ~/jhbuild/install/libexec/gvfsd -r

-r开关告诉gvfsd替换任何正在运行的版本。如果构建了gvfsd,并且没有通过命令行开关禁用它,那么它也将启动gvfsd-fuse

您还需要替换任何卷监视器(以及所需的其他进程),例如:

代码语言:javascript
复制
killall gvfs-mtp-volume-monitor
jhbuild run ~/jhbuild/install/libexec/gvfs-mtp-volume-monitor

必须注意在dbus上调用的任何内容:

  • 不同版本之间的命名空间可能会发生变化。如果这种情况发生在操作系统附带的版本和当前版本之间,除非您调整dbus配置以反映这一点,否则当前版本将无法工作。
  • 如果dbus用于生成进程,它将返回到操作系统附带的二进制文件。同样,您需要修改dbus配置(特别是.service条目)以指向二进制文件。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36717024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档