Flatpak

如何允許 flatpak 中的 GUI 應用程序執行 CLI 工具?

  • April 7, 2019

/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 都可能)執行shellcheckgpg……

引用自:https://unix.stackexchange.com/questions/412869