我应该将 .Appimage 文件放在哪里?

怎样才是最佳做法来处理这种文件呢?我不想把它放在/Downloads文件夹里。
5个回答

你可以将AppImages放在任何地方,并从那里运行它们,甚至可以是USB闪存驱动器或网络共享。
然而,AppImage开发者的官方建议是创建一个额外的目录,${HOME}/Applications/(或${HOME}/.local/bin/${HOME}/bin/),并将所有的AppImages存储在那里。

有没有AppImage格式的官方网站? - PHP Learner
2@PHPLearner:这是官方文档网站:https://docs.appimage.org/ - Kurt Pfeifle
6这是一个关于存储AppImages的文档的(确切)链接:https://docs.appimage.org/user-guide/faq.html#question-where-do-i-store-my-appimages - Barun
1是的,但是这些位置都不允许你从应用程序启动器/搜索器中运行它。 - CpILL

尝试使用AppImageLauncher
你可以设置一个目录来存储所有的AppImages,并且它还会创建桌面文件。

1这到底为什么不是标准并且包含在系统中呢?我喜欢Linux,但为什么我不能只需双击来安装AppImage... - Paul Spiesberger
1@PaulSpiesberger 可能仍在进行实验... 但是如果大小可以忽略不计(小于3 MB),将其包含在发行版中将会很棒。这解决了AppImage的一个巨大问题 - 文件关联此外,“install”可能是个误称,更好的术语应该是“integrate”。这对于尝试应用程序来说特别方便,因为单个文件不会留下任何文件(在Linux中这种情况本来就很少见)。 - Shriraj Hegde
@PaulSpiesberger,appimage不是一个安装程序。它是一款无需在计算机上安装文件即可运行的应用程序。类似的可执行文件也存在于Windows和其他操作系统中。例如,Audacity有可以在驱动器上运行的版本。事实上,你可以在一台机器上运行Ubuntu而无需将其安装到其中。 - Mark Lee
@MarkLee 我知道,但我的观点是普通用户并不真的在意。我不想考虑应该把我的AppImages放在哪里。我希望双击AppImage后它能被“安装” => 复制到我电脑上的一个管理位置,并且在操作系统菜单中添加一个启动图标。这应该像在MacOS上一样简单:我下载.app文件,双击后会提示我将应用移动到“程序文件夹”,操作系统会自动在菜单中添加一个启动图标。我的祖母需要能够安装AppImages,而AppImageLauncher已经非常接近实现这一点了。 - Paul Spiesberger
@PaulSpiesberger,那么它将成为一个完整的安装应用程序,还需要一个卸载程序。奶奶可以在她的桌面上放置这个图标。 - Mark Lee
@MarkLee 是的,一个卸载程序会很好,简单来说:我希望在Linux桌面上能够完全集成AppImages——因为问题在于,当奶奶第二次想要启动程序时,她将无法在菜单中找到它,也不会记得她从哪里下载了这个程序... - Paul Spiesberger
@MarkLee这不是“安装”,只是集成而已。将桌面文件添加到./local/share/applications并不等同于安装。此外,AppImage启动器还提供了一个“取消集成”的选项,可以将appimage从系统中移除。 - Shriraj Hegde

Appimage文件是一种无需安装即可使用的应用程序。
您只需点击它们来运行/启动应用程序,完成后关闭即可。因此,您可以将它们保存在任何您想要的目录中。
我个人将它们保存在桌面上一个名为“Apps”的目录中,这样当我需要快速使用它们时就很方便。

...或者{some_mountpoint}/Applications


虽然回答“你想放在哪里都可以”从技术上来说是正确的,但我能理解希望知道最合理的位置的愿望。 仅供一个用户使用 将它们放在你的主目录中的任意位置。由于只有你自己使用,而且你的主目录完全由你决定如何组织最好,选择权在你手中,但一个常见的建议是:
~/.local/bin

或者,有些人直接在他们的主目录中设置一个层次结构,例如:
~/bin

后者的缺点是它会在你的主目录中留下更多可见的垃圾。

为什么不使用一个特定于AppImage的简单的“bin”目录呢?嗯,其实你完全可以将它们放在一个名为“appimages”或其他名称的目录中。但是,“bin”的已有含义与任何直接可执行的文件相关联,而AppImage就是这样的文件。因此,如果你愿意,它可以与其他非AppImage的二进制可执行文件共享位置。

供任何用户使用

基本上,你需要一个位于你的主目录之外的地方。

但是,重要的是你不要使用操作系统用于自己软件安装的某个目录(如/bin/usr等)。

一个建议:

/usr/local/bin

/usr的其余部分不同,/usr/local目录的约定是它是由管理员手动安装的软件目录树,而不是由操作系统安装的。所以它有点合适。
另一种选择是完全自己创建一个目录。你甚至可以将它放在根目录下,比如:
/appimages

或者用任何你能想到的合理术语替换这个词。"应用程序"也可以。

注意事项

不要更改文件权限。一个Linux新手可能会认为,为了使应用程序对所有用户可用,需要更改其所有权或给予所有用户写入/"777"权限。实际上并不需要。它只需要对运行它的人来说是可读和可执行的,可以由任何人拥有 - 也就是说,使用"755"权限是适当的。

AppImage的配置和由其创建的文件并不存储在AppImage中。它们通常存储在运行它的用户的主目录中。它基本上可以像以执行它的用户身份运行的二进制可执行文件一样对待。

另外,从技术上讲,你不需要将可执行文件移出你的主目录,其他人就能够执行它,只不过我喜欢现代约定默认情况下将主目录对其他用户隐藏。


关于“不要更改文件权限”的问题,我下载的大部分或全部AppImages都是非可执行文件,因此需要额外的权限才能运行,所以我认为这是误导性的。 - drkvogel
1是的,我确实澄清了需要可执行文件,但我会看看能否让这更清晰明了。 - thomasrutter