Flatpak
基于 OSTree 的应用包管理
软件包包名:flatpak
发行商: openSUSE
开发者: Flatpak Community
许可证: LGPL-2.1
网站: https://flatpak.org/
目录
简介
Flatpak 是一款用于 Linux 软件部署和软件包管理的工具。它为软件提供了一个沙箱环境,在这个环境中,用户可以在与系统其他部分隔离的情况下运行应用软件。
openSUSE 已经预置了 Flatpak 。
部署 Flatpak
- 如果你在使用
flatpak
的时候遇到网络问题(下载缓慢、无法刷新等问题),你可以阅读SDB:配置代理获得更多的帮助; - 有关 Flathub 国内镜像,详见 上海交通大学镜像站服务 - flathub;
- Flatpak 支持
http_proxy
之类的标准环境变量;
安装 Flatpak :
sudo zypper in flatpak
添加 FlatHub 仓库:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
加入新用户组:
sudo usermod -aG flatpak $USER
然后注销并重新登陆系统。
关于 FlatHub
FlatHub 是一个得到广泛使用(也可能是最大的)的 flatpak 软件源。此地聚集了许多的上游开发者和社区打包人员,让用户可以直接获取开发者分发的软件包。
当你浏览 FlatHub 时,请注意软件包的认证情况。经过身份验证的 flatpak 应用会带有一个蓝色的 ☑️ 勋章。你可以访问 verified apps 查看更多已验证的应用。
需要注意的是,未经验证的 flatpak 应用应当被认为是 第三方打包者自行维护的第三方软件源,或发布的 Appimage/rpm/二进制文件,存疑的软件包,谨慎使用。
一些开发者确实会把应用发布到 Flathub 上,但他可能没有进行身份验证。开发者一般会在 GitHub 项目的自述文件(README 文件)中注明 flathub 链接。对于这种情况,你需要谨慎地确认此软件包确实由开发者打包发布或是开发者认可的 Flathub 软件包。
基本操作
查询目前可用的命令:
flatpak --help
检索软件:
flatpak search [应用名] #如: flatpak search Flatseal
安装软件:
flatpak install [应用名/应用 ID] #如: flatpak install Flatseal 或 flatpak install com.github.tchx84.Flatseal
你可以到 FlatHub 直接在线检索软件,并点击 Install 按钮旁的倒角按钮,获取安装与运行的命令。
运行软件:
flatpak run [应用 ID] #如: flatpak run com.github.tchx84.Flatseal
查看已安装的软件:
flatpak list
卸载软件:
flatpak uninstall [应用名/应用 ID]
卸载全部软件:
flatpak uninstall --all
卸载不再使用的库:
flatpak uninstall --unused
卸载应用并清理应用数据
flatpak uninstall [应用 ID] --delete-data
per-user & per-system
Flatpak 命令可以在系统范围内运行,也可以在每个用户上运行。系统范围内安装的应用程序和运行时可供系统上的所有用户使用。每个用户安装的应用程序和运行时仅可供安装它们的用户使用。
同样的原则也适用于存储库——在系统范围内添加的存储库可供所有用户使用,而每用户存储库只能由特定用户使用。Flatpak 命令默认在系统范围内运行。如果您安装的应用程序用于日常使用,建议您坚持使用此默认行为。
你可以使用 --user
控制 flatpak 将软件安装至用户目录,这样安装或删除应用时就无需 root 权限。例如:
flatpak --user install flathub io.github.xiaoyifang.goldendict_ng
此时,flatpak 的应用程序和库文件会被放置到 ~/.local/share/flatpak
中。如果你没有添加 --user
标志,那么 flatpak 会将应用保存至 /var/lib/flatpak
中。
不论如何,你的 flatpak 应用数据和配置文件都会保存在 ~/.var/app 中。
设置标志和别名
你可以参考 SJTU Flatpak 镜像帮助为 flatpak 配置镜像站(flathub 经常遭到干扰,在国内时常无法正常使用)。
或者,你可以将以下文本写入 ~/.bashrc
中,这样可以缩短所需输入的命令长度:
alias flatpakx="proxychains4 flatpak --user" #对 flatpak 使用代理,并增加 --user 标签
请不要直接给 flatpak 别名加上 --user
,这可能会导致某些子命令出错。
或者:
alias flatpakx="proxychains4 flatpak" #对 flatpak 使用代理
然后运行:
source ~/.bashrc
相关内容另见:
故障排除
Fcitx5 皮肤无法显示
新安装的 openSUSE 会默认以 X11 会话登录系统,此时如果用户切换回 Wayland 会话再次登录系统,会因为 $QT_IM_MODULE=fcitx
和 $GTK_IM_MODULE=fcitx
这两个变量的存在,而导致 flatpak 应用无法正常读取 fcitx5 的皮肤。
首先,关闭所有的 flatpak 应用,然后设置空变量:
flatpak override --env=QT_IM_MODULE= --user flatpak override --env=GTK_IM_MODULE= --user
如果你要应用到整个系统,请去掉末尾的 --user
标志,然后使用 sudo
权限运行上述命令。
一些 Flatpak 应用
值得尝试的内容
- Flatseal - Flatpak 权限管理器
- 更多流行应用 - FlatHub
其他软件源
GNOME nightly:
flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
国产软件
- WPS: com.wps.Office
- Linux QQ: com.qq.QQ
- 网易云音乐: com.netease.CloudMusic
- QQ Music: com.qq.QQmusic
- Icalingua++: io.github.Icalingua.Icalingua
- 腾讯会议: com.tencent.wemeet
- 微信: com.tencent.WeChat