🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
` `deepin是我国比较优秀的一款linux操作系统的发行版,外观漂亮,软件资源可满足日常使用。 ` `为了方便建立desktop文件,写了一个脚本文件完成。 ``` #!/bin/bash #该脚本用于deepin下安装程序后菜单中没有启动图标时创建desktop文件 #注意请使用root权限运行该脚本 ################################################### echo "该脚本用于deepin下安装程序后菜单中没有启动图标时创建desktop文件" echo "----------------注意事项------------------" echo "1.请使用root权限运行该脚本" echo "2.输入时请按提示输入,否则创建可能出错" echo -e " " echo "(1)输入你希望创建的文件名(英文),注意该文件名格式为xxx.desktop,如输入为 snape.desktop:" read appname file="/usr/share/applications/$appname" if [ ! -f "$file" ];then touch $file echo "make file success" else echo "File already exists" exit fi echo "(2)输入应用名称(英语),方便自己识别,比如的应用为notepad++,那么可以输入为 notepad:" read name_es echo "(3)输入运行程序完整路径,比如应用程序app.sh的路径为/home/soft/app.sh,那么你输入应该为 /home/soft/app.sh:" read exec echo "(4)输入应用程序图标路径,icon支持png格式的图片,不建议图片过大,加入你的icon.png在路径/home/soft/icon.png,那么你应该输入/home/soft/icon.png:" read icon echo -e "[Desktop Entry]">>$file echo -e "Name=$name_es">>$file echo -e "Exec=$exec">>$file echo -e "Icon=$icon">>$file echo -e "Terminal=false">>$file echo -e "Type=Application">>$file echo "创建文件完成" ``` ` `为了是的创建的过程中更方便,以下采用zenity提供交互界面。因此需要运行下面的脚本需要安装zenity,使用`sudo apt-get install zenity`可安装。 ``` #!/bin/bash #文本信息框,提示安装 FILE_lince=`dirname $0`/file_config_temp_cache if [ ! -f "$FILE_lince" ];then touch $file else `rm -f $FILE_lince` touch $file fi touch $FILE_lince echo " 该脚本用于deepin下安装程序后菜单中没有启动图标时创建desktop文件,注意请使用root权限运行该脚本。新建的桌面应用名为.desktop文件,请你新建的时候不要删除默认的这个后缀。如您已经清楚,请勾选下面的选择框,并确定运行该脚本。">>$FILE_lince zenity --text-info \ --title="说明" \ --filename=$FILE_lince \ --checkbox="我清楚并确定开始运行!" case $? in 0) echo "准备处理...............";; 1) `rm -f $FILE_lince` #删除临时文件 exit 0 ;; -1) echo "发生意外错误。" `rm -f $FILE_lince` #删除临时文件 exit 0 ;; esac #文件保存对话框 lu="/usr/share/applications/.desktop" FILE=`zenity --file-selection --title="新建desktop文件并保存" --save --filename=$lu` if [ ! -f "$FILE" ];then touch $FILE echo "make file success" else echo "File already exists" exit 0 fi echo $FILE appname=${FILE##*/} #扫描字符,截取最有一个/符号后面的字符出来 name_es=`echo $appname|cut -d '.' -f1` #截取.符号前的字符 FILE_EXEC=`zenity --file-selection --title="添加可执行文件"` case $? in 0) exec=$FILE_EXEC ;; 1) echo "没有选择文件。" exit 0 ;; -1) echo "发生意外错误。" exit 0 ;; esac FILE_ICON=`zenity --file-selection --title="选择应用桌面图标"` case $? in 0) icon=$FILE_ICON ;; 1) echo "没有选择文件。" exit 0 ;; -1) echo "发生意外错误。" exit 0 ;; esac echo -e "[Desktop Entry]">>$FILE echo -e "Name=$name_es">>$FILE echo -e "Exec=$exec">>$FILE echo -e "Icon=$icon">>$FILE echo -e "Terminal=false">>$FILE echo -e "Type=Application">>$FILE echo "创建文件完成" #信息对话框 zenity --info --text="文件创建已完成!请您查看开始菜单中是否已经正常显示你刚刚添加的应用,若没有显示,请删除文件再来一次。" exit 0 ```