Bash 脚本的桌面文件

Bash 脚本的桌面文件

我有一个用于 bash 脚本的 .desktop 文件,但是当我启动 .desktop 文件时,除了显示半秒钟的终端窗口外,什么也没有发生。

如果我直接运行 bash 脚本(不带 .desktop 文件),脚本可以正常工作(bash 文件名为“minecraft”):

#!/bin/bash
java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame

该文件是可执行的。

这是我的 minecraft.desktop 文件:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Minecraft
Icon=/home/bram/Applications/Minecraft/icon.png
Exec=/home/bram/Applications/Minecraft/minecraft
Terminal=true
Categories=Minecraft;game

minecraft.desktop 位于 ~/.local/share/applications

答案1

显然脚本找不到 .jar 文件。当我使用 .desktop 文件运行 bash 文件时,我假设它在 .desktop 文件目录 (~/.local/share/applications) 中运行 bash 文件。

当我为 jar 提供完整路径名时,它可以正常工作:

#!/bin/bash
java -Xmx1024M -Xms512M -cp /home/bram/Applications/Minecraft/minecraft.jar net.minecraft.LauncherFrame

答案2

您有两个选择:

1.) 将 .desktop 文件中的工作目录设置为 .jar 的位置

2.)在 Bash 脚本中使用完整路径(就像你做的那样)

答案3

您可以将其作为后台任务运行:

#!/bin/bash
nohup java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame

(注意nohup开头的 用于使继续运行)

相关内容