[Internal testing communication] Deepin 25与Ubuntu系统下AppImage软件的简单使用
Tofloor
poster avatar
Feelup
deepin
2025-06-27 12:51
Author

作为 Linux 用户,我们在网络上下载相关软件的 Linux 版本时,经常会看到下面这种 AppImage 的软件格式。

image.png

这种 AppImage 格式的软件有一个好处就是可以在任意的 Linux 桌面发行版本中运行,使用也非常简单:下载应用程序,给予运行权限,双击运行,无需安装,也不需要改变依赖或系统配置。

说明:现在 Deepin 的玲珑,Ubuntu 的 Snap,以及其它的如 Flatpak 都是这样的跨发行版软件包管理工具哦。

为了方便各位使用 AppImage 软件,我分享一下在 Ubuntu 和 Deepin 系统下使用 AppImage 软件的一些方法吧。

说明:由于 Deepin 实在是做了很多前置的工作,导致 AppImage 软件使用起来很方便,要写的内容不是很多,本文会以 Ubuntu 为例进行示范(使用的系统版本为 Ubuntu 25.10),但其中的内容在 Deepin 上也是通用的,各位要是遇到了类似问题也是可以进行参考的哦。

AppImage 软件运行

在Deepin系统下,由于开发人员做了很棒的支持,只要给 AppImage 软件赋予执行权限后就可以直接双击运行了。

赋予执行权限:chmod a+x <软件名称>.AppImage

在Ubuntu系统下运行 AppImage 软件时,需要提前安装下面 libfuse2 软件才能运行

命令: sudo apt install libfuse2

命令行直接运行:./<软件名称>.AppImage

如果遇到画面(或运行)异常,比如在Ubuntu下运行 ”Cherry-Studio“ 或 ”Chatbox“ 时,可尝试添加如下的额外参数进行启动尝试
./Cherry-Studio.AppImage --no-sandbox

./Chatbox.AppImage --no-sandbox --disable-gpu

AppImage桌面图标-普通篇

AppImage 软件虽然可以点击文件直接运行,但为了方便,我们有时还是希望能像普通程序一样为其添加快捷方式,也方便 AppImage 软件本体的管理

说明:此处以 wechat 软件为例进行说明

创建桌面图标配置文件

进入桌面图标配置文件存放目录:cd /home/<用户名>/.local/share/applications/

创建配置文件:vim WeChat.desktop

操作:在文件中添加如下内容; 各位可根据自己要使用的软件实际情况进行相应的调整

[Desktop Entry]
Categories=Utility;
Comment=Wechat Desktop
Comment[zh_CN]=微信桌面版
Exec=/mnt/Date/Linux软件/Appimage/WeChatLinux_x86_64.AppImage %U
Icon=/mnt/Date/Linux软件/Appimage/软件图标/WeChat/wechat.png
Name=wechat
Name[zh_CN]=微信
StartupNotify=true
Terminal=false
Type=Application
X-AppImage-Version=4.0.1

说明:

  • Exec:指向 AppImage 文件的绝对路径。注意,如果该 AppImage 软件在本系统上直接运行时需要添加额外的参数,那在该行也是需要将参数写入的哦
    • 带参数时的示例:Exec=/mnt/Date/Linux软件/Appimage/Cherry-Studio.AppImage --no-sandbox %U
  • Icon:指向软件图标的文件路径。
  • X-AppImage-Version:软件版本;可选项,但能方便你自己进行版本管理

软件的 .desktop 文件创建完毕后,默认情况下,软件图标就会自动出现在系统的启动器菜单中;

如果图标没有自动出现的话,可以使用下面的命令刷新应用菜单(或者重启一次系统)

命令:update-desktop-database

AppImage桌面图标-升级篇

虽然我们有了 AppImage 软件的文件,但我们编写 .desktop 文件时,软件图标的文件怎么获取呢?

逻辑上我们可以使用任意的图片作为软件图标,比如下面这样的

image.png

但当安装的软件过多之后,会降低软件的辨识度,不利于我们的快速操作。

那我们应该怎么获取软件的图标呢?一个显而易见的目标就是 AppImage 文件本身。

下面对 AppImage 文件进行解包操作,解压后的效果如下图所示

命令:./WeChatLinux --appimage-extract

《小贴士》

如果遇到沙盒权限报错,则需要添加“--no-sandbox”参数

命令:./WeChatLinux --appimage-extract --no-sandbox

image.png

进入该文件夹后,就可以看见该软件的图标文件

说明:在 AppImage 文件解压后的文件夹中一般都会存放有该软件的 .desktop 配置文件,你可以考虑直接修改该文件后进行使用。

image.png

但对于部分软件(应该说是大部分软件,微信很多情况下只是特例),在软件根目录下存放的只是图标文件的快捷方式(或称为软链接文件),真正的软件图标存放在 “<软件根目录>/usr/share/icons/hicolor/”目录下,该目录下一般会存放有各种规格的图标文件,选择自己想要使用的图标文件后,拷贝出来使用即可。

说明:微信是没有该目录的哦。

image.png

使用获取到的软件图标,并更新 .desktop 配置文件后的效果如下

image.png

任务栏软件图标的显示问题

AppImage 软件运行后,在任务栏(或者是 Dock 栏)上显示的图标通常为通用的可执行文件图标(只有少部分软件会正常显示图标),而不是软件自己的图标(即使是已经按照前面的流程为软件配置了图标文件)。

image.png

这是因为应用程序运行后没有正确设置窗口的 WM_CLASS 或未指定图标资源导致的; 在本例中就是没有正确设置窗口的 WM_CLASS 导致的。

WM_CLASS 就是窗口类,下面先来获取该 AppImage 的窗口类名

命令:xprop | grep WM

说明:命令执行后,需要点击一下软件窗口才会出现窗口的类名哦

image.png

再次编辑软件的 .desktop 文件,在文件中添加如下内容

StartupWMClass=<查询到的窗口类名>

修改后的配置文件完整内容如下

[Desktop Entry]
Categories=Utility;
Comment=Wechat Desktop
Comment[zh_CN]=微信桌面版
Exec=/mnt/Date/Linux软件/Appimage/WeChatLinux_x86_64.AppImage %U
Icon=/mnt/Date/Linux软件/Appimage/软件图标/WeChat/wechat.png
Name=wechat
Name[zh_CN]=微信
StartupNotify=true
Terminal=false
Type=Application
X-AppImage-Version=4.0.1
StartupWMClass=wechat

此时再次运行该程序,可以发现任务栏(或 Dock 栏)上的图标显示正常了。

image.png

推荐各位下载软件时,也多考虑一下 AppImage 格式,该格式的文件对于 Linux 系统来说真的方便,还容易备份管理,升级的时候也只需要直接替换掉源文件就可以了(注意文件名哦)。

说明:现在现在备份的Linux软件包(如DEB包和RPM包),虽然当下能安装运行,但如果以后换了发行版本,或者正在使用的发行版进行了调整,之前备份的Linux软件包可能就无法运行了。

image.png

现在 Deepin 的玲珑软件包也在逐步推广中,也出现了很多采用玲珑格式软件,希望 Deepin 未来能考虑一下提供在线下载玲珑软件包的选项,方便我们本地备份喜欢的软件,以及拷贝给朋友们使用。

玲珑应用商店网址:https://store.linyaps.org.cn/

image.png

Reply Favorite View the author
All Replies
pzm9012
deepin
Solutions Team Moderator
2025-06-27 12:58
#1

玲珑有网页版商店 https://store.linyaps.org.cn/

Reply View the author
Feelup
deepin
2025-06-27 13:04
#2
pzm9012

玲珑有网页版商店 https://store.linyaps.org.cn/

哈哈哈,我修订一下joy

Reply View the author
zhazhojie
deepin
2025-06-27 15:48
#3

升级的时候也只需要直接替换掉源文件就可以了(注意文件名哦)。 怎么替换源文件,双击新的安装包进行安装吗,还是软件自己的升级程序?

Reply View the author
Feelup
deepin
2025-06-27 16:39
#4
zhazhojie

升级的时候也只需要直接替换掉源文件就可以了(注意文件名哦)。 怎么替换源文件,双击新的安装包进行安装吗,还是软件自己的升级程序?

比如你的 AppImage 软件的文件是像我一样放在这个目录下保存的,那就只需要下载对应的新版本文件后,删除此时的文件“siyuan.AppImage”, 然后将下载的文件名修改一下放到该目录下,再添加执行权限就可以了。

简要步骤:

  • 下载新文件,新文件名比如为 “siyuan-3.1.32-linux.AppImage”
  • 删除原文件 “siyuan.AppImage”
  • 将新文件复杂到旧文件所在的目录下(也就是下图所示的目录下)
  • 将新文件重命名为 “siyuan.AppImage”
  • 添加执行权限就结束了

image.png

或者你可以直接下载新文件放到该目录下,添加执行权限后,去修改对应软件的 .desktop 文件中中 AppImage 名称也行。

image.png

Reply View the author
zhazhojie
deepin
2025-06-27 16:51
#5
Feelup

比如你的 AppImage 软件的文件是像我一样放在这个目录下保存的,那就只需要下载对应的新版本文件后,删除此时的文件“siyuan.AppImage”, 然后将下载的文件名修改一下放到该目录下,再添加执行权限就可以了。

简要步骤:

  • 下载新文件,新文件名比如为 “siyuan-3.1.32-linux.AppImage”
  • 删除原文件 “siyuan.AppImage”
  • 将新文件复杂到旧文件所在的目录下(也就是下图所示的目录下)
  • 将新文件重命名为 “siyuan.AppImage”
  • 添加执行权限就结束了

image.png

或者你可以直接下载新文件放到该目录下,添加执行权限后,去修改对应软件的 .desktop 文件中中 AppImage 名称也行。

image.png

ok 学到了,这个文件就是软件的全部了吧,不会在其他文件夹复制任何东西了吧,除了添加图标

Reply View the author
Feelup
deepin
2025-06-27 17:01
#6
zhazhojie

ok 学到了,这个文件就是软件的全部了吧,不会在其他文件夹复制任何东西了吧,除了添加图标

这个软件是直接运行的,不会安装到系统中。

你使用时产生的配置文件一般都是存放到 /home/<用户名>/.config/ 目录下。

说明:AppImage 软件运行后,文件本身是不会变化的(没有新文件的写入)。

Reply View the author
remyxo
deepin
2025-06-28 09:09
#7

运行appimage后,在/tmp下有一个临时解压的目录,一般是.mount-…开头,里面有desktop文件,有PNG图标,拷出来改一下就行了。

Reply View the author