我正在關注以下教程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 應用程式時存在一些安全風險。