Note: The following solution also applies to Aptana Studio.
The almost new Eclipse Kepler IDE has been released with a new exciting bug for those who use Ubuntu 13.10 (Saucy Salamander).
If you're among those lucky developers, when you'll open your IDE you'll find that Eclipse upper menu is pretty useless, since clicking on menu entries nothing will happen: no submenus will show up as you expected.
So, what to do if Eclipse menu doesn't show up in Ubuntu 13.10? The best solution at the moment (until someone decides to fix this bug) is the following.
N.B.: This method takes for granted that you already created your eclipse.desktop file. If you didn't create it and you don't want to do that at the moment, you can simply run eclipse by console with this command:
$ UBUNTU_MENUPROXY= eclipsewhere "eclipse" is the path to your eclipse executable. But this is just the fast way to run eclipse once. If you don't want to remember this command and use it every time you have to run Eclipse, follow the rest of this guide.
- Open your eclipse.desktop file:
sudo gedit /usr/share/applications/eclipse.desktop
orsudo gedit ~/.local/share/applications/eclipse.desktop
(Depending on your configuration.) - Copy these lines in it:
[Desktop Entry] Type=Application Name=Eclipse Icon=eclipse Exec=env UBUNTU_MENUPROXY= eclipse Terminal=false Categories=Development;IDE;Java;
- Save the file.
Yes, that's it. Did you expect something harder? Comment complaining is welcome.
If you found this post useful, please share it!
This has been plaguing me for hours. I'm a new venturer into the world of Linux, so all of this is new to me.
ReplyDeleteI didn't have an eclipse.desktop file in that folder. I tried using sudo find to see if there is one elsewhere on my system. There isn't one. Why is this? Why is there non-persistent behaviour between two setups? I didn't do anything special in my installation in Ubuntu, and I just unzipped Eclipse into a folder. Why are their differences?
So, anyways, I tried creating the file, pasting in the above, and running eclipse. Menus still don't work.
I tried changing
Exec=env UBUNTU_MENUPROXY= eclipse
to
Exec=env UBUNTU_MENUPROXY= /home/samuel/Dev/eclipse
As this is the path to Eclipse, still didn't work
Exec=env UBUNTU_MENUPROXY= /home/samuel/Dev/eclipse/eclipse
So, pointing to the actual file... still nothing.
What else am I doing wrong?
Sorry if I sound arsey, this whole thing has been a real pain. First I was having all-manner of problems with my graphics drivers, then issues with my monitor because it wasn't reporting its resolutions correctly, then I had the dismay of discovering the lack of decent SVN clients, now I'm having problems with Eclipse!
I blame myself and my ignorance, but my patience is wearing a bit thin. Please point me in the right direction. Thank you.
Hi Samuel.
DeleteAfter you create your eclipse.desktop file, you should be able to find Eclipse if you search for it from your Ubuntu launcher. Running it from Ubuntu launcher should bring your menu entries back.
Make sure that your "eclipse" executable file is actually the one at /home/samuel/Dev/eclipse/eclipse path (try running it by console). Note that if you try to run it by console without specifying the "UBUNTU_MENUPROXY=" prefix you won't get your menu entries back, since you're not using the eclipse.desktop file. This file, actually, is used only when you run Eclipse from your ubuntu launcher.
If you want your menu fixed running eclipse by console, you should run this command instead:
UBUNTU_MENUPROXY= /home/samuel/Dev/eclipse/eclipse
Let me know :)
@ Samuel: In regard to eclipse.desktop file, the fact that you don't have it on your system is normal, since you downloaded something like a standalone eclipse version: all you have done, in fact, has been unzipping it into a folder, as you said. This means that you didn't set any particular interaction between Eclipse and your Ubuntu environment.
DeleteOn the other hand, when you install programs using (e. g.) .deb files, or other software installation packages, they automatically manage all the dependencies your system needs to run the program (often including .desktop files).
Thank you for your time
DeleteUnfortunately, it's still not working, even if I run from the launcher (the launcher is the equivalent of the dock/start bar, right?).
Going into console and running /home/samuel/Dev/eclipse/eclipse launches eclipse, so it's definitely the right path
Inside my eclipse.desktop, I have this:
[Desktop Entry]
Type=Application
Name=Eclipse
Icon=eclipse
Exec=env UBUNTU_MENUPROXY= /home/samuel/Dev/eclipse/eclipse
Terminal=false
Categories=Development;IDE;Java;
And it's in this location:
/usr/share/applications/eclipse.desktop
I was going to install the version on the Ubuntu Software Centre, but I noticed it's an outdated version, would I have had the same problems?
Yes, the launcher is the equivalent of the start bar, and you can use it to search for you applications.
DeleteThis is my eclipse.desktop file:
[Desktop Entry]
Name=Eclipse
GenericName=IDE
Exec=env UBUNTU_MENUPROXY= /usr/bin/eclipse
Terminal=false
Type=Application
Categories=IDE;
Icon=/usr/share/app-install/icons/eclipse.xpm
StartupNotify=false
As you can see, the exec path is different, but the result should be the same since i'm just pointing to a symbolic link to the real eclipse file (which is in my eclipse installation folder, as yours).
Try to run from console:
env UBUNTU_MENUPROXY= /home/samuel/Dev/eclipse/eclipse
I think that even the Ubuntu Software Center versions would easily be affected by the same issue, since it seems to be an Ubuntu 13.10 problem, and not an Eclipse problem.
Try to run that console command and tell me what happens :)
If you're wondering about the Icon path: I simply copied my eclipse icon (you can find it in your eclipse installation folder) and pasted it in /usr/share/app-install/icons folder.
DeleteYou can do the same if you want, but I think that the result should be the same even if you simply use the original eclipse icon path. You could give a try adding that icon path to eclipse.desktop.
Woo, running from the console has the expected results (menu bar as part of the window's frame).
DeleteI don't know why, but it seems like that eclipse.desktop file is not being launched when I run Eclipse. Is there a setting somewhere where I can set where Ubuntu/Eclipse looks when this file is launched (I've seen it mentioned that eclipse.desktop is sometimes in a different folder... is it possible that my setup is looking for the .desktop file in a different folder?)
Thanks for your help, btw! Not everyday you see people going this much out of their way for a complete stranger
I'm glad you found a way to get it work :)
DeleteYou can try to locate your system .desktop files, so that you'll find where they actually are. To do this, you can try these commands in console:
sudo updatedb
sudo locate .desktop
The first one updates the "locate" database, while the second one returns all the search results.
You can also try to copy the content of one of those files and paste it in your eclipse.desktop, editing the different paths.
(Thank for your kind words. You'll always be welcome here :) )
@SamuelRSmith, did you managed to find a solution ?? i have the same problem as you from command line its working but the .desktop file is not !!!
DeleteI am not able to get the drop down menu either. The only to get the drop down menu is to launch the application via root access in the terminal, but I don't see as a long term solution.
ReplyDeleteBelow is my desktop file:
[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=eclipse
Exec=env UBUNTU_MENUPROXY= /home/francis/Downloads/eclipse
Terminal=false
Categories=Development;IDE;Java;
Hi boyshawn. Did you try to run eclipse from terminal without root access?
DeleteUBUNTU_MENUPROXY= /home/francis/Downloads/eclipse
What happens when you do so?
I have the same problem, can run UBUNTU_MENUPROXY=/home/nicholas/Downloads/eclipse/eclipse and have it run fine, but no matter the contents of my eclipse.desktop file, I still don't get menus when I launch it from the launcher. Any help?
ReplyDelete.desktop files are located in /usr/share/applications (globally) or in ~/.local/share/applications (locally). You could try to put your eclipse.desktop in the local path and see if it works. You could also try to make the file executable and drag it on the launcher.
DeleteTo make a file executable use this terminal command from inside its folder:
sudo chmod +x eclipse.desktop
I created the file in /usr/share/applications but that didn't get picked up. After running:
ReplyDeletesudo updatedb
sudo locate .desktop | grep eclipse
i found a file in ~/.local/share/applications and edited that one with the changes described in the post, and now it works :-)
I edited the post to add the local path :)
Deleteit worked with me for the local path when i give the complete path also
DeleteVery good
DeleteThanks a lot.
It works fine creating the eclipse.desktop with root privileges (sudo gkedit or so) in
~/.local/share/applications including the line with the
Exec=env UBUNTU_MENUPROXY= /home/masterbd/eclipsek/eclipse
and after, giving permission for execution.
Performing that, you can launch it, and set a link on the desktop or application launcher.
For ones that tried all without successfully, try out this from a command line:
ReplyDeleteexport UBUNTU_MENUPROXY=0
Then, navigate to a eclipse installation folder and launch eclipse normally from the same command line:
./eclipse
This works for me!
___________________
Best Regards. JAngel
Contact: jgarcia@tamps.cinvestav.mx