Appimage 文件大家一般是怎么管理的(不仅仅是执行)?

我知道下载下来,单文机给予可执行权限,然后直接执行就可以使用了。

但是一个程序要长期使用,其实还有很多细节需要设置。

比如说

  • 可执行文件存放路径
  • 配置和数据存放路径
  • 格式关联
  • 右键菜单
  • 程序图标——托盘,菜单,桌面,快捷方式
  • 后续的升级

大家在 Linux 平台 上通常是怎么处理这种纯绿色的软件的?
都是手动处理吗?

存放一个文件夹里,然后可以解包,修改桌面配置文件

./PlagueIncEvolved_amd64.appimage --appimage-extract

开机时会拷贝到固定的临时文件夹里,然后在临时文件夹里执行
图标是链接到桌面的图标
升级的话,是重新下载新版本
其它几条没搞过

去看manual,去看官方维基。能解决几乎以上所有问题。
比如:
仅仅上面的wiki就有

How can I integrate AppImages with the system?
Using the optional appimaged daemon, you can easily integrate AppImages with the system.

Where do I store my AppImages?
If you don’t want to leave them in $HOME/Downloads , then $HOME/.local/bin and $HOME/bin are good choices

关于更新可以研究上面说的系统集成以及这里也有一些方案

这些特别基础的东西,文档都有写的。

2赞

也请考虑阅读文档
Running AppImages — AppImage documentation
上游在桌面集成方面给出了两个建议:

  • appimaged
  • AppImageLauncher

必须注意,上游所指的桌面集成主要指能够从桌面环境的启动器启动桌面应用程序。除此之外,这两个实现均提供更新服务,appimaged 能够在安装 Firejail 的情况下通过上下文菜单提供在沙盒中运行应用程序的选项,AppImageLauncher 能够将 AppLimage 移至 ~/Applications目录管理。除此之外的集成,没有担保。格式关联和右键菜单应该只能由用户手动操作。

如果要经常使用,我会选择正常版本(由系统包管理器来管理)。如果没有现成的包,就自己打一个。

2赞

apt能管理 appimage?

我下载了 appimaged-646-x86_64.AppImage,然后修改权限为可执行,但无法运行;

我测试了buster+kde和buster+gnome,还有ubuntu20.04,都不行,是需要什么特别设置么?

下面是报错的提示截图:

ksnip_20210525-222803

我的意思是,我不用 AppImage 运行需要管理的软件。

我还从来没有自己打包过一个软件,都是找现成的,改天找时间试一试~

请考虑阅读 appimaged 的文档 go-appimage/README.md at master · probonopd/go-appimage · GitHub

From go-appimage/README.md at master · probonopd/go-appimage · GitHub

Assuming you are using a 64-bit Intel machine (arm64, also known as x86_64), you can use our pre-compiled binaries. To try it out, boot a Ubuntu, Debian, Fedora, openSUSE, elementary OS, KDE neon,… Live ISO and run:

报错提示:

Not running on one of the supported Live systems

appimaged 现在应该仅支持运行在 Live Systems 上。

顺便一提,appimaged 是实验性的

This is an experimental implementation of the optional AppImage daemon,

原来如此,那我还是找时间研究下firejail~

firejail 是在沙盒环境中运行应用程序的工具,它在这里有什么作用?

我误以为appimaged可以直接让appimage在沙盒中运行,不需要firejail;如果是这样,那么仅使用appimaged就可以实现沙盒运行功能~

现在知道了,appimaged的沙盒魂需要firejail才能实现~

From go-appimage/README.md at master · probonopd/go-appimage · GitHub

# Optionally, install Firejail (if you want sandboxing functionality)

要研究打包的话,请考虑阅读 Debian 维护者指南

我有一个疑问是,如果我自己打包了一个deb,并把这个deb安装在系统上,并且安装时使用命令apt install来安装,那么这个安装包应该不会影响系统后续的apt upgrade,对么?

我记得以前debian9时用dpkg -i安装deb,apt upgrade会报错~

通常apt install命令解决依赖关系后apt upgrade不会因为依赖关系被破坏而失败。

明白了~

Graphical user interface for managing your Linux applications. Supports AppImage, Arch (repositories/AUR), Flatpak, Snap and native Web applications.

可以尝试一下这个第三方管理,官方给的是Ubuntu 20.04的安装方式,Debian Bullseye可能没问题,Buster我试了下,似乎按官方说的从apt安装python库的话,部分会出现版本不对应,就没再试了,用Buster的话,可以试试直接从pip安装那些库