You actually don't have to log in to the Classical Desktop. The logic is to drag the .desktop file to the Unity bar. It is just easy to get hold of the desktop file by dragging it from the panel launcher in the Classic Desktop.
Originally Posted by gogogo111
You can also do it in Unity as follows:
The .desktop file is probably in /usr/share/applications (or /usr/local/share/applications) but you can't drag and drop it because of permission issue.
so you need to create a local version and make it executable by non root user.
Then you can open ~/.local/share/applications and drag the xxx.desktop file to the Unity bar and see if it works.
sudo cp /usr/share/applications/xxx.desktop ~/.local/share/applications/xxx.desktop
sudo chown username ~/.local/share/applications/xxx.desktop
~/.local is a hidden file, you access it go to /home/username and in View click "Show Hidden Files"
I agree, this is buggy and launchers don't behave consistently.