This question relates back to separating the Tor Browser from Firefox in the Unity launcher (I assume it applies to other DE's as well). The original question is here.

As part of my proposed solution I created a .desktop file that uses a different icon and runs the Tor Browser as a separate process from firefox.

It seems that in Unity the only way to create separate entries in the launcher/dash is by using separate .desktop files (which makes sense) and putting them in ~./local/share/applications or /usr/share/applications.

However, the problem is that, according to this, .desktop files can't/are-not-intended to be run from within a shell, but rather the DE (or something) parses and executes the file and ties it to a particular icon, comment, etc. I want to somehow emulate THAT, whatever the DE does to interpret a .desktop. Something like:

$ app-launcher --run-desktop '/path/to/desktop.desktop'

I assume things like Gnome-Do or Synapse use something conceptually similar to my made up command above. So how can I replicate that in a script?

P.D. The best I have been able to come up with is to use xte to literally simulate pressing the Super key, typing "Tor Browser" and pressing Enter, as I sit and watch the dash open on its own, "Tor Browser" sluggishly type itself in and finally open the app, all while I gently sob at the horror I have created... There has got to be a better way. : )

EDIT: Though this question is related to the question: Running a .desktop file in the terminal, it is not a duplicate. The other question establishes (as I described in my 4th paragraph) that there is no way to run .desktop files DIRECTLY from a terminal and keep separate entries in the Unity launcher, either due to a bug in xdg-open or simply because that is not what they were designed for. Acknowledging that fact, this question asks for a different method for executing .desktop files from a terminal, by using the same (or similar) method the Unity Dash, Gnome-Do or Synapse uses.