.desktop文件无法正常运行,创建Shell脚本桌面快捷方式问题求助
.desktop文件无法正常运行,创建Shell脚本桌面快捷方式问题求助
嘿,我来帮你排查这个问题~
你遇到的终端闪一下就关闭、脚本没启动的情况,核心原因是你的.desktop文件没有指定脚本所在的工作目录。默认情况下,桌面快捷方式会在你的桌面目录下执行命令,而你的webui.sh需要在它自己所在的文件夹里运行(很多脚本依赖当前目录下的配置文件或子脚本),所以直接执行sh ~/.../webui.sh会因为工作目录不对导致脚本运行失败。
解决方法:给.desktop文件添加工作目录字段
在你的[Desktop Entry]配置里加上Path字段,指定脚本所在的文件夹路径就行。注意这里最好用绝对路径(避免部分桌面环境不解析~),比如:
[Desktop Entry] Type=Application Terminal=true Name=Stable diffusion Exec=sh webui.sh Path=/home/你的用户名/AI/AUTOMATIC1111/stable-diffusion-webui/
替换上面的
你的用户名为你实际的系统用户名,如果你确定桌面环境支持~路径解析,也可以写成Path=~/AI/AUTOMATIC1111/stable-diffusion-webui/
这样设置后,终端会先切换到Path指定的目录,再执行webui.sh,脚本就能正常运行了。
关于你的附加问题
.desktop快捷方式的官方规范叫做Desktop Entry Specification,是由freedesktop.org制定的通用标准。你可以通过以下方式查看相关文档:
- 在终端里输入
man desktop-entry,查看本地的手册页,里面详细说明了所有可用的字段和规则 - 大部分桌面环境(比如GNOME、KDE)的官方帮助文档里也有针对.desktop文件的使用教程
备注:内容来源于stack exchange,提问作者Syl




