KDEInit can't find command "cd"

openSUSE 13.1 64bit - KDE Version 4.11.5

When I launch my Skype.desktop file, I am told…

“KDEinit could not launch ‘cd’. Could not find ‘cd’ executable.” which is of course a bunch of nonsense. The problem occurs because I mistakenly have a colon instead of a semi-colon in the *.desktop file in the line…

Exec=cd /home/ion/skype_static-2.2.0.35:./skype

Shouldn’t the error be something like “directory not found” or “bad filename”? Should I report this as a bug or am I being too critical?

Maybe you re a bit to critical. It is not allways easy to generate a good, correct and to the point error message when som strange construct is offered to software.

I am not that fluent with what might/must go into an Exec= line of a *.desktop file. When you want to file a bug, you must be very sure what the definitions there says. “Thinking” that it should be a bash command is probably not enough. You must be sure that the definition says so. Maybe it is some other shell that will interprete it. Or maybe even no shell at all. And litteraly token the message is correct. There is no cd executable.

You have a very good point. Especially as to which shell is in use. Some deeper thought is called for. Thank you.

Sorry for replying late, but I just found this thread when looking for something else.

You SHOULD NOT call cd in the “Exec” line to change the working directory.
Use the “Path” option instead.

Path=/home/ion/skype_static-2.2.0.35

See also http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html

Path | If entry is of type Application, the working directory to run the program in.

Btw, you can also use KDE’s “Properties” context menu action to edit the desktop file.
You don’t have to remember/look up those keywords then…:wink: