我正在制作一些通常通过终端运行的游戏的快捷方式。例如,
UT2004:
cd "$HOME/Unreal Tournament 2004/System/"
./ut2004-bin-linux-amd64
到目前为止我的工作:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=true
Path=/home/nick/Unreal Tournament 2004/System/
Exec="/home/nick/Unreal Tournament 2004/System/ut2004-bin-linux-amd64"
Name=UT2004
Icon=/home/nick/Unreal Tournament 2004/Help/UT2004Logo.png
与 Unreal 不同,EDuke32 实际上会运行,但我可以看出它是在 $HOME 中运行的,并开始乱扔日志文件。 UT2004 根本不以 .desktop 文件启动。我认为,如果有一种方法可以指定每个应用程序的起始路径,那么这两个问题都可以得到解决。不幸的是,我不能cd ... && ./...
在 .desktop 文件中。
如何为每个快捷方式指定“工作目录”?
答案1
我解决这个问题的方法是使用一个启动脚本来更改到正确的目录,然后启动游戏。启动.sh:
#!/bin/bash
cd /path/to/game
game
cd "OLDPWD"
然后在 .desktop 文件中使用:
Exec=/bin/bash /path/to/startup.sh