I want to create a .desktop file that runs a specific command in the directory where the file is. This is what I have:
[Desktop Entry]
Type=Application
Name=MyApp
Exec=bash -c 'cd $0 && node index.js; read' $PWD
Icon=obconf
Terminal=true
Categories=Utility
Basically, I want to execute node index.js in the directory where the .desktop file is. As it is now, the pwd is always the home of the user (even if I'm deeper in the hierarchy). How can I make it so the command is launched in the directory where the .desktop file is ?
This is on a Raspberry Pi 5, Debian (bookworm).
Thank you.
As Barmar mentionned in the comments, the GUI does not change the current working directory. However, I just found in this nice guide that you can retrieve the path to the
.desktopfiles by using%k. Hence, this works:This basically tells Node.js to launch the
index.jsfile in the directory where the.desktopfile is located.Thanks Barmar for your help.
Cheers!