How to edit gnome/unity menus without using Alacarte?

Alacarte crashes every time I attempt to edit a submenu or move an item from one submenu to another and then I'd have to wipe the application.menu files or my gnomeshell desktop would be useless. Is there a way to organize my main menu and unity dash applications subcategories without using Alacarte? I've got so many items installed in the wrong category and I'd also like to remove a ton of zombie icons.


GUI way

You might want to try Menulibre, a new alternative to Alacarte. You can install it via:

sudo apt-get install menulibre

Manual way

Application launchers are located in these three folders:

~/.local/share/applications

(your user only)

/usr/local/share/applications
/usr/share/applications

(all users)

By modifying the .desktop files found in these folders you can edit menu entries directly. Modifications in user-wide folders will require root access:

gksudo nautilus /usr/local/share/applications

Drag and drop .desktop files into a text editor like gedit to edit their contents. If root access is required, use:

gksudo gedit

Delete the files to remove their corresponding menu/dash entries.

Important Caveat: Changes introduced to default – i.e. user-wide – .desktop files might get reverted on the next system update.


To add to the answer above, the .desktop files may also be located in

/usr/share/applications

Another alternative menu editor is ezame which I have used and works quite well. You can install it by running the following:

sudo add-apt-repository ppa:caldas-lopes/ppa
sudo apt-get update
sudo apt-get install ezame

The source code is available on GitHub.