为 ubuntu 下 .AppImage 运行文件快速生成桌面和任务栏图标 .sh 文件

I had a friend make an install sh file: It seems to work well and I get an icon added to my ubuntu left app shortcut bar. Here it is below. I will deliver a zip with the app logo and sh file.
It could be modified to help others. I don’t want to recommend or use for myself the appImage installer app. I’m more comfortable with a bash script for myself and logically what I would give others too. This does not require any root privs ans will be accepted better just like appImages over deb.
Nevertheless, this is dependent on the desktop file rather than the appImage produced in contrast to kdenLive appImage that works fine.

#!/bin/bash

basename=tipitaka_pali_reader
appimages=${basename}.AppImage
icons=${basename}.png
desktopfile=${basename}.desktop

# System
# desktopdir=/usr/share/applications/
# appdir=/usr/local/bin/
# iconsdir=/usr/share/icons/

cat > $desktopfile <<EOF
[Desktop Entry]
Name=Tipitaki Pali Reader
# Name[my]=.
# Name[th]=.
# Name[zh]=.
# Name[vi]=.
Comment=A Modern Application for Reading Pali
# Comment[my]=.
# Comment[th]=.
# Comment[zh]=.
# Comment[vi]=.
Exec=${HOME}/.local/bin/tipitaka_pali_reader.AppImage
Terminal=false
Type=Application
Icon=${HOME}/.local/share/icons/tipitaka_pali_reader.png
StartupWMClass=Tipitaki Pali Reader
Categories=Utility;Education;
Keywords=Pali;Reader;Dictionary;Dhamma;Tipitaka
EOF

# User
desktopdir=~/.local/share/applications/
appdir=~/.local/bin/
iconsdir=~/.local/share/icons/

for sysdir in $desktopdir $appdir $iconsdir 
do
	echo "$sysdir"
	if [ ! -d "$sysdir" ]; then
  	mkdir -p "${sysdir}";
	fi
done


chmod +x $appimages $desktopfile
cp -v $appimages $appdir
cp -v $icons $iconsdir
cp -v $desktopfile $desktopdir

# application-desktop file with commands
# desktop-file-install tipitaka_pali_reader.desktop  --dir=$HOME/.local/share/applications  
# update-desktop-database -q

# application to menu fav bar
application="'${basename}.desktop'"
favourites="/org/gnome/shell/favorite-apps"
dconf write ${favourites} \
    "$(dconf read ${favourites} \
    | sed "s/, ${application}//g" \
    | sed "s/${application}//g" \
    | sed -e "s/]$/, ${application}]/")"

效果图

来源

转载自 : bksubhuti的回答

posted @   夏目贵志ㅤ  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示