我通过他们网站上的命令行安装了 flatpak,然后按照说明继续添加远程存储库,但是当我尝试安装某些东西时,它说要指定一个远程存储库。我试图从 flathub 安装inkscape。
以下是我使用的命令行:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Run Code Online (Sandbox Code Playgroud)
我也试过没有 sudo
下载 ref 文件:
wget https://www.flathub.org/apps/details/org.videolan.VLC
Run Code Online (Sandbox Code Playgroud)
安装:
flatpak install org.videolan.VLC
Run Code Online (Sandbox Code Playgroud)
错误信息:
error: REMOTE and REF must be specified
Run Code Online (Sandbox Code Playgroud) 当我运行时flatpak update,它说软件包org.freedesktop.Platform.VAAPI.Intel和org.freedesktop.Platform.GL.default已达到使用寿命并删除它们。但是,在下次运行时,它会再次安装它们,然后在下次运行时再次删除它们,依此类推。
这是我最近两次运行的输出。
\nagamagarwal@glados:~$ flatpak update\nLooking for updates\xe2\x80\xa6\nInfo: org.freedesktop.Platform.VAAPI.Intel//19.08 is end-of-life, with reason:\n The Freedesktop SDK 19.08 runtime is no longer supported as of September 1, 2021. Please ask your application developer to migrate to a supported version\nInfo: org.freedesktop.Platform.GL.default//19.08 is end-of-life, with reason:\n The Freedesktop SDK 19.08 runtime is no longer supported as of September 1, 2021. Please ask your application developer to migrate to a supported version\n\n\n ID Branch Op\n 1. …Run Code Online (Sandbox Code Playgroud) 我创建了一个应用程序并将其打包/发布为 Flatpak(以及其他)。该应用程序具有用户可以启用的设置,因此当用户登录其系统时该应用程序将自动启动。
此设置作为常规 Linux 应用程序运行良好,但是 Flatpak 打包应用程序似乎需要使用 dbus 方法来设置此设置,而这似乎对我不起作用。
根据 Flatpak 文档,我尝试使用RequestBackground dbus 方法在登录时自动启动应用程序,但它不起作用 - 即使响应成功,返回报告两者background&autostart现在都是true.
如果我传递一个普通应用程序作为commandline参数,gedit它会按预期工作,并在我注销/登录时自动启动。然而,向它传递命令来运行 Flatpak 之类的命令flatpak run <id>,或者甚至/usr/bin/flatpak run <id>似乎不起作用。我的 flatpak 应用程序如何设置为在用户登录系统时自动运行?
使用dbus-monitorI 可以捕获交互。
method call time=1690393997.911834 sender=:1.74 -> destination=:1.115 serial=2703 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.impl.portal.Background; member=EnableAutostart
string ""
boolean true
array [
string "/usr/bin/flatpak"
string "run"
string "codes.merritt.Nyrna"
]
uint32 0
method return time=1690393997.912268 sender=:1.115 -> destination=:1.74 serial=1674 reply_serial=2703
boolean …Run Code Online (Sandbox Code Playgroud) 在尝试构建gitg flatpak 后,我注意到我的/var/lib/flatpak/repo文件夹变得非常大。
我假设这些是构建文件?有什么好方法可以清理这些吗?
我正在使用 Flatpak 1.4.0。
将 Meld 安装为常规 Linux 软件包,将 Meld 设置为 git 合并工具相当简单,这是我的 .gitconfig 的摘录。
[merge]
tool = meld
[mergetool "meld"]
trustExitCode = true
cmd = meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"
Run Code Online (Sandbox Code Playgroud)
但是 Meld 的 flatpak 版本又如何呢?你不能简单地使用命令来执行它meld?我想 cmd 部分应该是这样的
cmd = flatpak run org.gnome.meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"
Run Code Online (Sandbox Code Playgroud)
但这个确切的命令不起作用。应该如何修改呢?
Flatpak 运行时到底是什么?是像JVM(Java)、CPython那样的虚拟机吗?或者它更像是 virtualenv 之类的东西?我已经阅读了 flatpak 文档,但我不清楚。
有些 Flatpak 应用程序具有未与应用程序捆绑的可选依赖项。例如,绘图包 Veusz 可作为 Flatpak 使用,并且可以选择使用 Python 包h5py来打开 HDF5 文件。但h5py不与 Flatpak 版本捆绑在一起。flatpak enter我看到文档说有一个 flatpak 命令允许我们
进入 flatpak 沙箱。
所以我启动了 Veusz flatpak 应用程序并用来flatpak ps获取它的 PID。然后我尝试了sudo flatpak enter PID pip3 install h5py,但它安装h5py在我的主机操作系统中!
太长了;是否可以在 Flatpak 应用程序的沙箱中安装自定义包(不仅仅是 Python 包)?如果是的话我该怎么办?