Flatpak
如何允許 flatpak 中的 GUI 應用程序執行 CLI 工具?
/bin
我可以以某種方式允許在 flatpak 中執行的 GUI 應用程序允許分別訪問和執行二進製文件/var/bin
嗎?即使我允許完全系統訪問(
--filesystem=host
),它甚至無法在那裡看到/找到文件。我的案例是執行
shellcheck
.
有不同的方法:
- 如果你的 flatpak 可以
host
訪問,你可以例如執行/usr/local/bin/example
./var/run/host/usr/local/bin/example
即/usr/local
安裝到/var/run/host/usr/local
.- 但是,由於庫不在正確的位置等原因,這仍然可能會失敗。因此,您要麼需要調整 env 變數以便它在那里工作,要麼按照下面描述的方式進行操作。
在 flatpak 之外生成命令
您可以使用
flatpak-spawn
在不同的環境中執行命令。但是,通常您希望在主機系統上執行命令,從而突破沙箱。為此,您顯然需要削弱 flatpak 的沙盒。只需添加此權限:
flatpak override com.packagename.App --talk-name=org.freedesktop.Flatpak
之後,您可以
flatpak-spawn --host
從主機執行以在 flatpak 之外執行命令。現在,要真正在 GUI 中使用它,您希望有一些方法可以更改要在其中執行的二進製文件的路徑。這可能會變得複雜,因為您需要傳遞額外的參數,最終您可能不得不編寫小型包裝腳本。
就我而言,我確實做到了,你可以在這裡找到它們。它們允許(在我的情況下)Atom(但任何 IDE 都可能)執行
shellcheck
或gpg
……