I wanted to add a little more useful information/exposition-Not because I think Derek didn't cover it since he did, and beautifully--but rather because having been new to linux before, I know a lot of the concepts involved are counterintuitive when you're used to Windows.
In Windows, we get used to running applications from wherever they are (via shortcuts or double-clicking the exe files or any other number of methods) and never worrying about if it's placed right. This is because Windows assumes when you run an application, you mean for the application to do its work from wherever the exe is located. When you run game.exe, Windows knows you want game.exe to get to work starting from game.exe's folder.
Linux does not make this assumption. It assumes that wherever you call a program from, that's where you want to program to do its work. Therefore, if you call a program from your desktop, unless you do the sorts of steps Derek describes, it runs the program as if it is located in your desktop's folder. It assumes that you know it's doing this and that there is some reason why you want that to be the case. This isn't a huge issue except in cases like this when the program's external resources are located somewhere specific, and it can't find them because it isn't from running where it's expecting to.
Hope that longwinded exposition saves you some future linux and DoT grief:)
"I could really get around to hating you if I didn't procrastinate so much."
The Third Turning Mud -- Wheel of Time Reimagined
Shaitan, Owner/Head Implementor