我正在按照以下教程https://github.com/dex4er/fakechroot。
我正在尝试安装和运行一些应用程序,并将它们隔离在非特权用户中,无需 root 权限。它们是以 .deb 形式分发的专有软件,因此通常我需要 root 权限才能安装它们,但我不想在通用系统上安装它们。
最简单的解决方案是将它们安装在虚拟机上,但我首先尝试使用 fakechroot 来节省 RAM。
CLI 应用程序运行良好,如教程中所述。但 GUI 应用程序失败,并出现
$ echo $DISPLAY
:1
$ fakechroot fakeroot chroot /home/restricted/chroot firefox
Authorization required, but no authorization protocol specified
Error: cannot open display: :1
我正在使用 Ubuntu 22.04。我该如何授权它使用显示器?
答案1
您可以添加参数--display=:0.0
答案2
我解决了。问题不是出在 fakechroot debootstrap 上,而是出在受限账户上。甚至连普通应用程序都无法运行。
我必须xhost + local:
在运行 GUI 的主帐户上运行,然后它才能工作。
我们只是必须确保知道从另一个帐户运行 GUI 应用程序时存在一些安全风险。