GNOME Builder 无法安装我的 Autotools 项目,因为它没有添加sudo
到make install
命令前面。我该如何强制 Builder 添加sudo
?
答案1
尝试从命令行运行它
sudo gnome-builder
这应该会产生与应用程序调用sudo
所有内容相同的效果。最重要的是,它是暂时的,因为提升的权限通常应该是暂时的。
编辑:
周日,我决定简短回答这个问题,因为这是一个简单的答案。但是,从反对票来看,有人不这么认为,所以我将添加更多背景和相关信息,以使其更可靠。我不确定你是如何得出这个sudo
问题的结论的(最好用这些信息更新你的问题,因为它对任何回答的人来说都是有用的背景信息),但如果启动应用程序时sudo
返回除 0 以外的任何内容,那么你的结论就是错误的。如果它无法以 root 身份启动,那么可以:
1.) 它不需要 root 权限。sudo
除非您正在运行make install
二进制文件 (/bin)、库 (/lib) 等,否则Make 不需要。(双关语)将进入系统目录(而不是符号链接的用户目录)。GNU 标准无论如何都要在那里安装大多数东西,因为替代方案可能会导致混淆/错误,版本不匹配以及多用户系统上的类似问题。
...要不然:
2.) 您使用 Flatpak 安装了它。如果碰巧是这种情况,您将需要一个完全不同的答案。谈到应用程序安全,Flatpak 不会乱来。当谈到给予 Flatpak 所需的权限时,您不妨尝试授予 Android 应用程序的 root 访问权限。
好吧,这还不算太糟,但也不算好。在 flatpak 上,这是可能的。这就是区别所在。它们使用沙盒,就像 Snap 一样。然而,Snap 为我们提供了一个选项--classic
,必须在首次下载时添加,并完全绕过沙盒功能。Flatpak 没有类似的东西。
在研究--classic
上述信息时,我偶然发现了一篇关于沙盒包管理器的优秀帖子。问题和答案(尤其是第一个)令人印象深刻。后者对使用此架构的三个主要包管理器的沙盒实现做了如下评价:
沙盒/限制
特征 | 应用图像 | 折断 | 扁平包装 |
---|---|---|---|
无需沙盒即可运行 | ✅ 是的(不是必需的。包装商可选择是否这么做。) | ✅ 是的(如果 snap 被建造并且被批准使用‘经典’限制)[1][2] | :x: 否(通过设计限制应用程序访问) |
可与不同的沙箱一起使用 | ✅ 是的(例如火狱[1], AppArmor [2],泡沫包装) | :x: 否(与应用装甲) | :x: 否(与泡沫包装) |
笔记:
表格及其所包含的内容都不是我的作品。我在 @KurtPfeifle 对 @LuisAlvarado 的问题的回答中找到了它。两份回答都内容丰富。感谢你们两位的出色贡献。
答案2
您必须在项目文件夹中打开终端,然后运行
sudo make install
在其中,避免使用 GNOME Builder。