您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

如何在 Linux 上使用 AppImage

时间:2022-09-22 10:54:53  来源:网易号  作者:资讯早知刊


 

AppImages 让 linux 开发人员可以将他们的应用程序打包到一个文件中,该文件可以安装在任何 Linux 发行版上。这极大地简化了事情。以下是如何使用它们,并将它们集成到您的桌面中。

在 Linux 上安装软件

安装软件应该简单方便。最终结果是多么简单和多么方便很大程度上取决于您的发行版的包管理器。包管理器是允许您下载其他 Linux 程序并安装它们的软件应用程序。

衍生 Linux 发行版倾向于使用其父发行版的包管理器。例如,许多 Debian 变体和衍生产品使用 .RedHat 和 Fedora 发行版 ,以及 Arch 系列发行版使用. 所以,值得庆幸的是,没有多少包管理器有发行版。

apt

dnf

pacman

即便如此,从开发人员的角度来看,支持所有不同的包格式意味着将您的应用程序包装到Debian 系列的 DEB 文件中,以及 RedHat 系列的 RPM 中,等等。这是很多额外的开销。

这也意味着,如果开发人员和其他任何人都没有为您的发行版创建安装包,则您无法安装该软件。至少,不是本地的。

您也许可以将来自不同发行版的软件包硬塞到您的计算机上,但这不是一种没有风险的方法,也不能保证有效。如果您知道自己在做什么,您可以下载源代码并在您的计算机上构建应用程序,但这远非简单方便。

Snap 和 Flatpak等项目 旨在克服为每个发行版打包应用程序的问题。如果您可以将一个包包装到一个文件中,以便它与适当的库和它所具有的任何其他依赖项捆绑在一起,那么它(实际上)对主机操作系统没有要求,它应该能够在任何操作系统上运行分配。

AppImage 项目就是这样一个倡议。AppImage 是项目的名称,AppImages 是包装应用程序的名称。

AppImage 的工作原理

AppImage 文件不是传统意义上的安装。构成应用程序包的组件文件都包含在一个文件中。它们不会被解包并存储在文件系统的不同目录中。

包管理器安装的应用程序会将其可执行文件复制到适当的“/bin”目录中,其页面将存储在“/usr/share/man”目录中,依此类推。AppImages 不会发生解包和复制步骤。

man

AppImage 中有一个文件系统,通常是squashFS 文件系统。运行应用程序所需的文件存储在此文件系统中,而不是在 Linux 安装的主文件系统中。执行 AppImage 时,它
会启动其内部帮助程序之一,该程序将 squashFS 文件系统安装在“/tmp/mount”中,以便可以从您的主文件系统访问它。然后它会启动应用程序本身。

这就是为什么从 Snaps、Flatpaks 和 AppImages 启动应用程序比运行常规应用程序稍慢的原因。为了使用所有这些工作,主机文件系统必须安装名为“用户空间中的文件系统”的东西。这是 AppImages 放在主机上的唯一依赖项。FUSE 通常预装在现代 Linux 发行版上。

使用 AppImage 文件

您需要做的第一件事是为您想要的应用程序下载 AppImage。这些不会在您的发行版的存储库中。通常,您可以在应用程序本身的网站上找到它们。

我们将下载并使用开源 3D 计算机辅助设计包 FreeCAD。浏览到 FreeCAD 下载页面 并单击“64 位 AppImage”按钮。


 

下载后,在终端窗口中找到该文件。除非您更改了 Web 浏览器的默认设置,否则它可能位于您的“下载”目录中。我们需要使用 AppImage 可执行。我们将使用该 命令来添加(可执行)权限。

chmod

chmod +x FreeCAD-0.20.0-Linux-x86_64.AppImage


 

我们已经下载了我们的文件并使其可执行。要执行它,我们可以按名称调用它。

./FreeCAD-0.20.0-Linux-x86_64.AppImage

这就是我们在 Fedora 和 Manjaro 上要做的所有事情。在Ubuntu 22.04上,我们必须安装一个库文件。FUSE 已经安装在 Ubuntu 22.04 上,但它比大多数 AppImages 使用的版本更新。安装库文件不会影响已安装的 FUSE 版本。

sudo apt install libfuse2


 

这立即解决了问题,我们可以在 Ubuntu Jammy Jellyfish 22.04 上毫无问题地启动 AppImages。


 

这一切都很棒。但是如果你想吃蛋糕怎么办?想象一下,如果有一种不需要您从终端窗口启动它们的方式来使用 AppImages 。能够像常规的原生应用程序一样启动 AppImage 应用程序会更方便。

这里有一个明显的矛盾——AppImages 的全部意义在于它们不安装传统意义上的自身,包括它们不集成到您的桌面中。但是 AppImageLauncher 仍然可以。

AppImageLauncher

AppImageLauncher 监视指定目录。它扫描目录,寻找 AppImage 文件。对于它找到的每一个,它都会提取应用程序图标(如果有的话)并将 AppImage 集成到桌面中,就像一个常规应用程序一样。

对于添加到目录的每个新 AppImage,都会重复此操作。当它检测到 AppImage 已被删除时,它会删除集成。因此,只需将下载的 AppImage 文件拖放到受监控的目录中,它们就会集成到您的桌面环境中。

如果您使用的是 Ubuntu 或 Fedora,请转到 AppImageLauncher 下载页面 并单击“发布构建(最新)”部分中的“资产”链接。

对于 Fedora,点击“appimagelauncher-XXX.x86_64.rpm”链接,对于 Ubuntu,点击“appimagelauncher_XXX.bionic_arm64.deb”文件。“XXX”代表软件的版本号。


 

请注意,有 AppImageLauncherLite和 AppImageLauncher 的链接。使用 AppImageLauncher 链接。

导航到您下载的文件,然后双击它开始安装。在GNOME上,这将启动“软件”应用程序。


 

在 Manjaro 上,您可以使用以下命令安装 AppImageLauncher:

sudo pacman -S appimagelauncher


 

您可以通过按“Super”键启动 AppImageLauncher。在大多数键盘上,它位于左侧的“Ctrl”和“Alt”键之间。在搜索栏中输入“appim”。


 

AppImageLauncher 图标将出现。单击它以启动应用程序。

有一点点配置要做。我们需要告诉 AppImageLauncher 我们希望它监控哪个目录。单击“文件夹”图标并浏览到您通常存储 AppImage 的目录。我们选择了“下载”目录。如果你愿意,你可以选择一个子目录,也许是“/Downloads/apps”。


 

如果您希望 AppImageLauncher 将它在其他目录中找到的 AppImage 移动到您的监视目录中,请确保选中“询问是否将 AppImage 文件移动到应用程序目录”复选框。但是如果 AppImageLauncher 只监控一个目录,它如何在其他任何地方找到 AppImages 呢?

答案在于“appimagelauncherd”选项卡。单击“appimagelauncherd”选项卡,您会看到 AppImage 可以监控多个目录。


 

单击绿色的“加号”图标以添加更多目录。确保选中“自动启动自动集成守护程序”复选框。做出选择后,单击“确定”按钮。

等待几分钟,然后按“Super”键并键入监控目录中的 AppImage 名称的第一部分。在我们的例子中,我们只有一个。


 

只要您输入“free”,您应该会看到 FreeCAD 的图标。单击它会启动应用程序。如果 AppImage 文件不包含图标,则使用通用齿轮图标,FreeCAD 就是这种情况。

为了进一步测试,我们下载了 Subsurface 应用程序的 AppImage文件。我们等了大约 30 秒以确保它已被发现并集成,然后按下“Super”键,输入“sub”,应用程序图标出现。这一次,已经找到并使用了该应用程序的正版图标。


 

单击图标启动应用程序。我们甚至不需要使用来使 AppImage 可执行。

chmod


 

另一个不错的方法是右键单击图标可以让您从上下文菜单中删除 AppImage。


 

还有一个选项可以将图标固定到您的启动器,使 AppImages 的使用与本机应用程序一样方便。

AppImage 正在兴起

在我们的测试机器上,从 AppImages 启动的应用程序加载速度略快于 Flatpak 应用程序,并且比 Snap 应用程序快很多。使用 AppImages 不需要安装任何底层框架,因此除了应用程序本身所需的空间外,使用 AppImages 的硬盘占用空间为零。

可选的 AppImageLauncher 应用程序增加了一些技巧,但没有它您也可以愉快地使用 AppImages。

越来越多的应用程序提供 AppImages。如果您发现自己尝试安装的东西似乎不在您的发行版存储库中,请查看该应用程序的网站。他们很可能有一个 AppImage。



Tags:AppImage   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
如何在 Linux 上使用 AppImage
AppImages 让 Linux 开发人员可以将他们的应用程序打包到一个文件中,该文件可以安装在任何 Linux 发行版上。这极大地简化了事情。以下是如何使用它们,并将它们集成到您的桌...【详细内容】
2022-09-22  Search: AppImage  点击:(779)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(6)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(16)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(10)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(12)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(54)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(50)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(53)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(77)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(69)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(85)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条