首先描述下我的环境, 喜欢折腾着玩,所以我的电脑上装了3个系统,分别是ubuntu22.04, opensuse 15.5, manjora 三个操作系统,平时基本上换着用。这3个系统分别使用独立的根分区/ 和 /root分区, 但挂载同一个数据分区 /u01(存放数据文件和软件等)
这3个操作系统上都装上了我平时经常使用的软件,像libreoffice,typora等。
之前, 需要分别在ubuntu上安装软件的deb版本, 在opensuse上安装软件的rpm版本, 在manjaro上安装软件的二进制版本。
后来发现很多linux软件有appimage版本,不需安装就能运行。 例如 navicat , 也有的软件只要解压就可以运行,例如 idea。
所以, 我就开始摒弃rpm/deb 版本 ,转而*载下**appimage和二进制压缩包了, 这样只要在 /usr/share/applications 中按照格式创建 .desktop文件,开始菜单中就有对应的图标了,打开就是执行,非常方便。
这样就不用分别为3个系统安装deb/rpm/binary包了。 只需要写好脚本,安装完操作系统,运行下脚本,分别为软件创建.desktop就行了。
大部分.desktop文件是大同小异,主要的就2项,一个是程序的路径, 一个是程序的图标。为了和rpm/deb安装效果一样, 我参考了rpm/deb安装生成的 .desktop文件内容, 并从appimage中提取了原版的图标。写下了下面的创建脚本, 供大家参考。
分三部分,分别是libreoffice, appimage软件, 二进制压缩包软件。
linux上如何创建软件快捷方式图标
linux上如何创建appimage软件快捷方式
linux上如何创建二进制包软件快捷方式图标
其他常用appimage版本软件
上一篇 讲述 libreoffice appimage的快捷方式创建相对复杂,接下来这些软件的appimage创建快捷方式就简单多了
软件需要先*载下**到脚本中的路径哦, 图标可以使用7zip打开appimage,从中找到图标文件放到脚本中的路径, 也可以自己网上找,然后使用图像编辑软件编辑成512x512 或 256x256 或 128x128 都可以。
ubuntu22.04/opensuse 15.5 /manjaro均测试通过
#QQ
cat > /usr/share/applications/qq.desktop <<EOF
[Desktop Entry]
Name=QQ
Exec=/u01/3.software/3.crossplatfrom/linuxqq_3.1.1-11223_x86_64.AppImage
Terminal=false
Type=Application
Icon=/u01/baiduyun/Temporary/ico/qq.png
StartupWMClass=QQ
Categories=Network;
Comment=QQ
EOF
#百度网盘
cat > /usr/share/applications/baidunetdisk.desktop <<EOF
[Desktop Entry]
Name=baidunetdisk
Name[zh_CN]=百度网盘
Exec=/u01/3.software/3.crossplatfrom/baidunetdisk/baidunetdisk-4.14.5.x86_64.AppImage --no-sandbox %U
Terminal=false
Type=Application
Icon=/u01/baiduyun/Temporary/ico/baidunetdisk.png
StartupWMClass=baidunetdisk
Comment=百度网盘
Comment[zh_CN]=百度网盘
Comment[zh_TW]=百度网盘
MimeType=x-scheme-handler/baiduyunguanjia;
Categories=Network;
EOF
#navicat16
cat > /usr/share/applications/navicat.desktop <<EOF
[Desktop Entry]
Type=Application
Name=Navicat Premium 16
GenericName=Database Development Tool
Icon=/u01/baiduyun/Temporary/ico/navicat16.png
Exec=/u01/3.software/2.dbtools/navicat/navicat16-premium-en.AppImage
Categories=Development;
Keywords=database;sql;
EOF
#Another-Redis-Desktop-Manager
cat > /usr/share/applications/ardm.desktop <<EOF
[Desktop Entry]
Terminal=false
Type=Application
Name=Redis
Comment=Another Redis Desktop Manager
Exec=/u01/3.software/2.dbtools/Another-Redis-Desktop-Manager/Another-Redis-Desktop-Manager.1.5.9.AppImage
Icon=/u01/baiduyun/Temporary/ico/another-redis-desktop-manager.png
EOF
#marktext
cat > /usr/share/applications/marktext.desktop <<EOF
[Desktop Entry]
Name=MarkText
Exec=/u01/3.software/3.crossplatfrom/note/marktext-x86_64.AppImage --no-sandbox %U
Terminal=false
Type=Application
Icon=/u01/baiduyun/Temporary/ico/marktext.png
StartupWMClass=marktext
X-AppImage-Version=0.17.1
Keywords=marktext;
Comment=A simple and elegant open-source markdown editor that focused on speed and usability.
MimeType=text/markdown;
Categories=Office;TextEditor;Utility;
EOF