图标文件 不论用ico格式还是png格式,最重要的是文件的大小。
用png格式的好处是,可以不用gimp制作,用gnome画图工具就行。
相应的,build-deb.sh文件也进行了修改。(努力让大家不用怎么改,直接使用!!)
#!/bin/bash
# 定义包名
PACKAGE_NAME="zuotishenqi" #软件名称直接替换全文!!
# 创建目录结构
mkdir -p $PACKAGE_NAME/DEBIAN
mkdir -p $PACKAGE_NAME/usr/local/bin
mkdir -p $PACKAGE_NAME/usr/local/share/icons/zuotishenqi
mkdir -p $PACKAGE_NAME/usr/share/applications
# 复制脚本到目录
cp zuotishenqi.py $PACKAGE_NAME/usr/local/bin/
chmod +x $PACKAGE_NAME/usr/local/bin/zuotishenqi.py
# 复制图标文件(修改为ico格式,使用gimp, 大小32)
cp app_icon.png $PACKAGE_NAME/usr/local/share/icons/zuotishenqi/
cat << EOF > zuotishenqi.desktop
[Desktop Entry]
Name=做题神器
Exec=/usr/bin/env python3 /usr/local/bin/zuotishenqi.py
Icon=/usr/local/share/icons/zuotishenqi/app_icon.png
Terminal=false
Type=Application
Categories=Utility;
EOF
# 检查zuotishenqi.desktop文件是否存在
if [ -f "zuotishenqi.desktop" ]; then
# 复制桌面入口文件,并更新图标路径为ico
cp zuotishenqi.desktop $PACKAGE_NAME/usr/share/applications/
sed -i 's|Icon=/usr/local/share/icons/zuotishenqi/app_icon.ico|Icon=/usr/local/share/icons/zuotishenqi/app_icon.png|' $PACKAGE_NAME/usr/share/applications/zuotishenqi.desktop
chmod +x $PACKAGE_NAME/usr/share/applications/zuotishenqi.desktop
else
echo "错误: zuotishenqi.desktop文件不存在,请先创建该文件。"
exit 1
fi
# 创建控制文件
cat << EOF > $PACKAGE_NAME/DEBIAN/control
Package: $PACKAGE_NAME
Version: 1.3
Section: utils
Priority: optional
Architecture: all
Depends: python3
Maintainer: YU Taiyuan <382614949@qq.com> #签名和邮箱需要改!!!
Description: 做题神器 #软件名称、描述需要改!!
This is a tool for doing exercises.
EOF
# 检查控制文件是否存在
if [ ! -f "$PACKAGE_NAME/DEBIAN/control" ]; then
echo "错误: 控制文件 $PACKAGE_NAME/DEBIAN/control 未创建成功。"
exit 1
fi
# 构建DEB包
fakeroot dpkg-deb --build $PACKAGE_NAME
# 检查DEB包是否生成
DEB_FILE="$PACKAGE_NAME.deb"
if [ ! -f "$DEB_FILE" ]; then
echo "错误: DEB包 $DEB_FILE 未生成成功。"
exit 1
fi
echo "DEB包已生成: $DEB_FILE"
# 修改DEB包和桌面入口文件的权限
chmod 777 "$DEB_FILE"
chmod 777 "zuotishenqi.desktop"