超级方便的AppImage 和管理器AppImageLauncher(安装)
背景一些小的工具性的软件在ubuntu中安装,让我很麻烦,比如有的软件虽然不常用,偶尔用一次,但安装却十分复杂,各种依赖,各种配置,甚至不支持ubuntu,例如QQ,新一些的qq需要安装wine才能,一顿配置,编译之后才能用,再比如上网的某个插件,文件不大,安装起来一堆麻烦事情,本来只是想打开之后放在后台,但是没想到需要一顿编译,还报了很多错。费时费心费力。AppImage一直在想,就...
背景
一些小的工具性的软件在ubuntu中安装,让我很麻烦,比如有的软件虽然不常用,偶尔用一次,但安装却十分复杂,各种依赖,各种配置,甚至不支持ubuntu,例如QQ,新一些的qq需要安装wine才能,一顿配置,编译之后才能用,再比如上网的某个插件,文件不大,安装起来一堆麻烦事情,本来只是想打开之后放在后台,但是没想到需要一顿编译,还报了很多错。费时费心费力。
AppImage
一直在想,就真的只能这么麻烦么?直到发现了AppImage 格式文件 [1],只需要把软件的appImage格式文件下载下来,赋予可执行权限之后,双击就可以运行。
#只需要在你的AppImage文件所在路径中,执行 chmod a+x 赋予可执行权限,之后双击即可运行,舒服的一批
sudo chmod a+x yourfile.AppImage
关于它的好处,再引用一段别人写的[2]:
多年以来,我们一直使用 DEB packages 来管理 Debian/Ubuntu的软件包,使用 RPM 管理 Fedora/SUSE 的软件包.
用户使用这些包管理工具可以很方便的安装软件, 但是这些仍然满足不了开发人员的需求. 开发人员不得不开发更多的工具. 这时AppImage来到了我们面前.
AppImage 使用通用的软件格式,通过将整个软件打包成AppImage,一个包包含了所有的功能. 并且几乎可以在所有的linux发行版本中使用。
AppImage 不需要像传统的那样安装。
通常我们安装linux软件将会在不同的目录生成多个文件,并且需要root权限来对系统进行修改。
AppImage 不需要这么做。事实上,AppImage 并不需要安装。AppImage 是一个压缩的镜像文件,它包含所有运行所需要的依赖和库文件。
你可以直接执行AppImage 文件不需要安装。当你把AppImage 文件删除,整个软件也被删除了。你可以把它当成windows系统中的那些免安装的exe文件。
下面会列出一些AppImage的特性或者优点
可以运行在各种平台
不需要安装,直接执行
不需要root权限,不需要修改系统文件
便携性:可以在位置执行
App 只读
卸载便利,只需要删除AppImage文件即可
————————————————
版权声明:本文为CSDN博主「aboutmn」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aboutmn/article/details/87254930
和deb的区别(摘录另一个[3])
Applmage某种程度上你可以理解为windows某些软件的“便携版”。它的做法有点类似于docker镜像,把软件运行的所有依赖环境都打包在一起,包装成一个Applmage,运行的时候会将打包到一起的内容释放到/tmp/下运行,运行完毕之后通常会自动清理。
deb是debian系列传统的打包方式,取自debian的前三个字母。deb包你可以认为就是一个压缩包,同时还包含了一个元数据部分,声明了这个包的依赖。所以通过包管理系统就可以很方便的安装deb以及相关的依赖项了。这也是debian系列简化Linux软件安装方案做的巨大的贡献。RHEL的yum+rpm的管理方式实际就是借鉴了apt+deb的方式。debian是第一个将包管理系统引入Linux系列的发行版。deb包通常需要结合包管理器一起使用,安装的时候会自动解决依赖。所以会出现不符合目标操作系统的安装包混入搞坏依赖,甚至因为卸载了底层依赖导致删掉上层应用的现象。这也就是依赖地狱的问题。windows的安装包通常都会将自己的运行环境一并打包进入安装包,以规避依赖问题。缺点是安装包通常很大,好处就是规避了依赖地狱。所以你可以认为snap和flatpak借鉴了windows的安装程序的设计,并且进行了加强,比如使用了内核提供的沙箱环境运行,这一点在windows上是原生不自带的。
AppImageLauncher
作用:AppImage文件虽然可以直接运行,但是不像其他的deb apt 等获得的软件一样,在系统菜单中显示图标,因为它就像windows中免安装所谓绿色版的exe一样,有的不添加到注册表之类的(个人理解),所以,只在运行的时候才会和操作系统有关系,这就很麻烦;而且,我把 AppImage放到 /usr/local 文件夹下面,那么每次都要打开这个文件夹,双击它才可运行,这样很不好使,我希望能够像普通的软件一样,有系统图标,可以固定在收藏夹栏中。
1.想要让AppImage有图标
2.想固定在收藏栏上
这就需要 AppImageLauncher了,我也直接引用别人的[4]:
使用 AppImageLauncher,这些就都是过去的问题。该程序可让你轻松运行 AppImage 文件,而无需使其可执行。但它最有趣的特点是可以轻松地将 AppImage 与你的系统进行整合:AppImageLauncher 可以自动将 AppImage 程序快捷方式添加到桌面环境的程序启动器/菜单(包括程序图标和合适的说明)中。
这 里有个例子,我想在 Ubuntu 上使用 Kdenlive,但我不想从仓库中安装它,因为它有大量的 KDE 依赖,我不想把它们弄到我的 Gnome 系统中。因为没有它的 Flatpak 或 Snap 镜像,我只能去下载了 Kdenlive 的 AppImage。
在没有把下载的 Kdenline AppImage 变成可执行的情况下,我第一次双击它时(安装好了 AppImageLauncher),AppImageLauncher 提供了两个选项:
“Run once”或者“Integrate and run”。
点击 “Integrate and run”,这个 AppImage 就被复制到
~/.bin/
(家目录中的隐藏文件夹)并添加到菜单中,然后启动该程序。要删除它也很简单,只要您使用的桌面环境支持桌面动作就行。例如,在 Gnome Shell 中,只需右键单击“活动概览”中的应用程序图标,然后选择“Remove from system”:
这样就很可以很方便的使用一些,工具性的东西了,由上文,这种方式AppImage还是无法完全替代deb apt等方式的,不过也各有各的优势。
安装[4]
AppImageLauncher 支持 Ubuntu、 Debian、Netrunner 和 openSUSE。如果你使用 Ubuntu 18.04,请确保你下载的 deb 包的名字中有“bionic”,而其它的 deb 是用于旧一些的 Ubuntu 版本的。
引用与参考
[1] https://appimage.org/ 什么是AppImage
[2] https://blog.csdn.net/aboutmn/article/details/87254930 什么是AppImage
[3] https://bbs.deepin.org/forum.php?mod=viewthread&tid=178823 AppImage与deb区别(还有其他的对比,很详细)
[4] https://www.imooc.com/article/30050 AppImageLauncher的使用方法(很好)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)