我正在尝试使用文件运行 shell 脚本.desktop
,但似乎不起作用,There was an error launching the application
每次尝试都会产生错误。我已将 sh 和 .desktop 文件设置为可执行文件。
.桌面文件:
[Desktop Entry]
Name=Craftbukkit Server
Comment=run server
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Icon=/home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.png
Terminal=true
Type=Application
剧本:
#!/bin/bash
/usr/bin/java -Xmx1024M -Xms1024M -jar /home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.jar -o false
所有路径均正确。
我尝试过的方法:
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Exec='/home/ubuntu-gnome/Documents/Craftbukkit/run.sh'
Exec=/home/ubuntu-gnome/Documents/Craftbukkit/run
Exec="/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Exec=gnome-terminal -e "/home/ubuntu-gnome/Documents/Craftbukkit/run.sh"
Exec=bash -c 'cd /home/ubuntu-gnome/Documents/Craftbukkit/ && ./run.sh'
显然,我尝试了很多方法。有人能帮助我解决这个问题吗?
答案1
一些潜在问题:
你的脚本在第一行需要一个shebang...它应该看起来像:
#!/bin/bash /usr/bin/java ...
您的脚本需要标记为可执行:
chmod +x /path/to/script.sh
您的
.desktop
文件还需要可执行(显然是安全政策方面的东西):chmod +x /path/to/desktop-file.desktop
答案2
这是我用来创建“.desktop”文件的内容:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Name=MY APPLICATION NAME
Comment=THINGS I HAVE TO SAY ABOUT THE APPLICATION
Exec=sh -c "cd /PATH_TO_SH_FILE_FOLDER; FILENAME.sh"
Categories=ENGINERRING;GRAPHICS;ETC
Icon=/PATH_TO_ICON_IMAGE_FILE
对于上述内容,请更改代码的全大写部分以适合您的上下文(不必全大写)。Terminal = true
如果您想查看终端窗口,可以添加。
根据我在这里对相关问题的回答进行修改:链接到 .exe 无法启动 Wine
答案3
尝试在这些脚本中始终使用绝对路径。使用以下命令找出 java 可执行文件的路径:
which java
然后使用它作为脚本中的路径:
/path/to/java -Xmx1024M -Xms1024M -jar /path/to/craftbukkit.jar -o false
请注意,您还应该提供完整路径craftbukkit.jar
。
答案4
感谢大家的帮助。我意识到我的.desktop
文件出了问题。我注意到 .desktop 文件的属性与 中的其他 .desktop 文件的属性不同/usr/share/applications
,其中没有描述、命令或注释文本区域。
我将 Color Picker 的 .desktop 文件保存到桌面,并替换了我的信息,这样它就可以工作了。
这就是 .desktop 文件的属性->基本内容。
剧本
[Desktop Entry]
Name=Minecraft-Server Comment=Run the Minecraft
Craftbukkit Server
Icon=/home/ubuntu-gnome/Documents/Craftbukkit/craftbukkit.png
Exec='/home/ubuntu-gnome/Documents/Craftbukkit/run.sh'
Terminal=true
Type=Application
Categories=Minecraft;Server;CraftBukkit;