首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将jhbuild作为root运行

如何将jhbuild作为root运行
EN

Unix & Linux用户
提问于 2018-02-22 13:36:09
回答 3查看 615关注 0票数 2

我已经安装了jhbuild并将PATH变量设置为$PATH:~/..local/bin。现在,当我运行jhbuild命令时,我得到了错误:您不应该使用jhbuild作为root用户,当我将用户更改为非根用户时,我再次将路径值更改为上面的路径值,用/root替换~,我得到了错误jhbuild命令not查找。我使用的是kali linux,所以默认用户是root用户。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2018-02-22 16:57:49

因此,我找到了命令的解决方案,我改变了shell正在寻找命令的目录的权限(/root/..local/bin)和jhbuild想要从命令创建的所有文件(例如,/jhbuild,/jhbuild/..cache)。我手动创建它们,并以类似的方式更改它们的权限。

票数 0
EN

Unix & Linux用户

发布于 2018-12-16 14:33:30

您正在经历的行为与权限或二进制文件的位置无关,而是与执行它的用户无关。指定具有任意值的环境变量JHBUILD_RUN_AS_ROOT,例如env JHBUILD_RUN_AS_ROOT= jhbuild ...,以便能够以根用户身份运行jhbuild

这是一个相当没有文档记录的特性,我肯定我建议对应用程序反馈进行一次改进,这一点已经被忽略了;请参阅https://github.com/GNOME/jhbuild/blob/master/jhbuild/main.py#L97来了解为什么应该这样做。

票数 2
EN

Unix & Linux用户

发布于 2021-04-26 14:51:38

正如Karl所说,您需要使用env JHBUILD_RUN_AS_ROOT= jhbuild ...才能以根用户身份运行jhbuild

因为他们放置了根检查https://github.com/GNOME/jhbuild/blob/master/jhbuild/main.py#L59,如果运行它的用户是根用户,则会得到该错误。

当您更新或构建模块时,该解决方案是很好的。

但是,如果您想运行已经构建的gnome版本,您将无法再次获得该错误。

我在日志上看到的。

因此,您需要从jhbuild文件中删除根检查。

在您不需要设置env之后,您可以只使用jhbuild ...

如何构建jhbuild包删除根检查:

  1. Kali是基于Debian的,所以您可以使用apt source jhbuild.
  2. jhbuild-<version>/jhbuild/main-py.行删除根检查以删除(或注释):

如果'JHBUILD_RUN_AS_ROOT‘不在os.environ和hasattr(os,'getuid')和os.getuid() == 0中:uprint(_(’您不应该将jhbuild作为根.\n‘),file=sys.stderr) sys.exit(1)

  1. 安装构建它所需的包:apt build-dep jhbuild.
  2. 将创建的.deb文件安装在父目录:dpkg -i *.deb中。

对于command not found,您可以使用apt安装jhbuild,这样它就可以在系统范围内使用。

或者为每个用户重新构建它,或者像您所说的那样修复权限。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/425891

复制
相关文章

相似问题

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