2、添加flatpak的软件仓库flathub
flatpak remote-add –if-not-exists –user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
解释:–user指定为当前用户,flathub为仓库名称,这样我们就给当前用户新增了一个叫做flathub的仓库。flatpak支持配置多个仓库,一般配置一个“flathub”即可
3、更换为国内镜像
根据情况选择一个镜像对应的命令执行即可:
中科大镜像: flatpak remote-modify flathub –url=https://mirrors.ustc.edu.cn/flathub
上海交大镜像:flatpak remote-modify flathub –url=https://mirror.sjtu.edu.cn/flathub(镜像源目前出现不稳定情况,酌情使用)
解释:修改名称为“flathub”的仓库,将url修改为指定的镜像地址
如果想恢复官方源:
flatpak remote-modify flathub –url=https://dl.flathub.org/repo
如果想查看flatpak仓库的详细信息
flatpak remotes –show-details
另一种方式:你可以直接编辑flatpak仓库配置文件:
使用文本编辑器打开~/.local/share/flatpak/repo/config(当前用户配置)
或者/var/lib/flatpak/repo/config (系统全局配置)
修改里面的软件仓库地址即可。
4、flatpak命令基本用法:
根据名字搜索应用程序:
flatpak search 应用名
例如:flatpak search spotify
你可能会看到多条记录,注意应用程序的ID:
安装应用程序的基本语法是:
flatpak install applicationID
想安装 Spotify命令就是:flatpak install com.spotify.Client
当然你可以尝试用应用ID中的一部分,直接用flatpak install spotify,之后会让你确认软件的准确应用ID
列出已安装应用:
所有
flatpak list
仅应用,不含运行时
flatpak list –app
仅运行时
flatpak list –runtime
更新所有应用:
flatpak update
卸载应用程序:
卸载时保留用户数据
flatpak uninstall com.spotify.Client
卸载的删除用户数据
flatpak uninstall com.spotify.Client –delete-data
清理Flatpak缓存可以释放磁盘空间同时不影响Flatpak应用程序正常运行:
flatpak uninstall –unused
这将卸载您系统中未使用的Flatpak应用程序。
flatpak uninstall –unused –runtime
这将卸载您系统中未使用的Flatpak运行时。
下面的命令会卸载你所有!所有!所有! 的Flatpak应用程序和运行时,请在确定必要的时候使用。
flatpak uninstall –all
flatpak uninstall –unused –all
这两命令都会清掉所有应用和依赖,网上有说这条可以清掉未使用的,但其实还是全清。
完成后,您可以检查磁盘空间是否已释放:df -h
这将显示您系统中所有分区的磁盘空间使用情况。
删除多余的仓库
flatpak remote-delete flathub-1
此命令会删除名为flathub-1的仓库,通过此仓库安装的软件也会一起卸载!
5、简单的安装方式
从flathub应用商店网站,你可以随意浏览下载应用:
https://flathub.org/zh-Hans
点击“安装”旁边的小按钮,复制命令到终端执行:
flatpak install flathub org.gnome.gitlab.somas.Apostrophe
注意这个命令中“flathub”含义是使用你名为“flathub”的仓库,所以我们默认仓库最好命名为“flathub”,这样拷贝过来的命令直接执行即可安装
当然你也可以一次安装多个应用,应用ID要准确:
flatpak install \
camp.nook.nookdesktop \
com.github.phase1geo.minder \
com.github.tchx84.Flatseal \
io.github.giantpinkrobots.flatsweep \
it.mijorus.gearlever \
net.cozic.joplin_desktop \
org.gnome.gitlab.somas.Apostrophe \
org.mozilla.Thunderbird \
dev.zed.Zed \
-y
6、个人不推荐的安装方式
如果你点击“安装”按钮,会下载一个flatpakref的文件,这个文件是一个安装引导文件,包含软件的仓库地址、应用ID等信息。
你可以在终端找到这个flatpakref文件,用命令安装软件:
flatpak install com.github.phase1geo.minder.flatpakref
dalong@imini:~/download$ flatpak install com.github.phase1geo.minder.flatpakref
应用程序 com.github.phase1geo.minder 依赖的运行时来自于:
https://dl.flathub.org/repo/
将其配置为新的远程仓库“flathub-1” [Y/n]: n
它会引导你安装仓库“flathub-1”地址是flathub官方仓库地址。其实我们已经配置了国内镜像,不需要再配置官方仓库了。
如果你回n,那么它还是会安装一个关联软件的仓库:minder-origin
dalong@imini:~/download$ flatpak remotes –show-details
名称 标题 网址 集合标识 子集 筛选器 优先级 选项 … … 主页 图标
flathub Flathub https://mirror.sjtu.edu.cn/flathub – – – 1 system … … https://flathub.org/ https://dl.flathub.org/repo/logo.svg
minder-origin – https://dl.flathub.org/repo/ – – – 0 system,no-enumerate … … – –
所以我不推荐这样安装软件,时间长了你会有一堆软件分布在不同的仓库。
好在flatpak的仓库和软件是绑定的,你从a仓库下载a软件,删除a仓库a软件也会一起卸载,卸载a软件,a软件关联的origin仓库也会消失。
7、图形商店
如果你使用GNOME桌面环境,安装flatpak支持插件:
sudo apt install gnome-software-plugin-flatpak
之后在GNOME软件商店中会直接展示包括flathub仓库的软件:
如果你使用KDE桌面环境,安装flatpak支持插件:
sudo apt install plasma-discover-backend-flatpak
8、推荐几个应用
微信
flatpak install flathub com.tencent.WeChat
开源笔记软件:Joplin
flatpak install flathub net.cozic.joplin_desktop
思维导图软件:Minder 支持导出xmind格式
flatpak install flathub com.github.phase1geo.minder
Markdown编辑器:Apostrophe
flatpak install flathub org.gnome.gitlab.somas.Apostrophe
AppImage管理工具:GearLever
flatpak install flathub it.mijorus.gearlever
Flatpak权限管理工具:Flatseal
flatpak install flathub com.github.tchx84.Flatseal
Flatpak残留清理器:Flatsweep
flatpak install flathub io.github.giantpinkrobots.flatsweep
9、更多命令
安装和运行
flatpak install dev.zed.Zed
flatpak run dev.zed.Zed
列出已安装的 Flatpak 应用程序
flatpak list
flatpak –user list
flatpak –columns=app,name,size,installation list
flatpak –columns=name,size –user list
找出应用 ID 和命令历史
flatpak info dev.zed.Zed
flatpak history
更新 Flatpak 应用程序
flatpak update
flatpak update –app dev.zed.Zed
删除未被使用的依赖
flatpak uninstall –unused
删除应用程序
flatpak uninstall dev.zed.Zed
删除应用程序,同时清除数据
flatpak uninstall -y –delete-data dev.zed.Zed
删除所有应用并清除数据(小心使用)
flatpak uninstall –all
flatpak uninstall –all –delete-data
10、问题排查:
1)安装软件时提示
请注意
‘/var/lib/flatpak/exports/share’
‘/home/dalong/.local/share/flatpak/exports/share’
目录不在由 XDG_DATA_DIRS 环境变量设置的搜索路径中,因此通过 Flatpak
安装的应用在会话重启前可能不会出现在您的桌面。
解决方案:
修改你的 shell 配置文件(如 .bashrc 或 .zshrc),将 Flatpak 的共享目录添加到 XDG_DATA_DIRS 环境变量中:
直接修改 ~/.bashrc,在最后添加一行:
export XDG_DATA_DIRS=”$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/dalong/.local/share/flatpak/exports/share”
注意:把我的目录“/home/dalong”替换成你的用户目录
警告:这个变量如果配置在/etc/bash.bashrc会出现ssh工具无法使用flatpak search命令的情况
添加这行代码后,你需要重新加载配置文件或重新启动终端。
2)依赖变动和用户权限导致的更新问题
安装了一个叫nook的软件,原来依赖于freedesktop 22.08,后来freedesktop 22.08不再维护了,nook软件新版本不再依赖22.08,我执行flatpak update想更新nook时会尝试卸载22.08,此时报错:
Failed to get revokefs-fuse socket from system-helper: Flatpak system operation GetRevokefsFd not allowed for user
原因:更新需要卸载依赖22.08,我的仓库配置没有指定–user(没指定则为system级别仓库),操作需要系统权限。
解决方案:su切换root用户再更新即可
3) ssh工具(如tabby)执行flatpak search命令报错
flatpak search xxxapp出现报错
: Could not parse XML data: Entity: line 1: parser error : Start tag expected, ‘<‘ not found
�
^
找不到匹配项
原因:参考上文“问题1”,变量问题,修改 ~/.bashrc,在最后添加一行:
export XDG_DATA_DIRS=”$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/dalong/.local/share/flatpak/exports/share”