Where Are Linux App Launcher Entries Stored?
Linux launchers read app entries from .desktop files in your local applications folder, plus system ones.
Last updated
Every app icon in a Linux menu is a text file. Desktop entries name the program, its icon, categories, and launch command in INI style format with a .desktop suffix.
User entries override system ones by filename, so customization never touches package files. Broken entries fail silently in most launchers, which makes validation tooling worth knowing. Steam, Flatpak, and native apps all converge on this one mechanism.
Where Linux stores this, by platform
~/.local/share/applications/
One .desktop file per launcher entry. User files override /usr/share/applications by name. Validate customs before trusting them.
Frequently asked questions
How do I customize a launcher entry?
Copy its file from /usr/share/applications into ~/.local/share/applications and edit the copy. User files override system ones by name, surviving package updates that would overwrite shared files.
My custom launcher does nothing. Why?
Validate the file with desktop-file-validate and check the Exec path exists. Missing icons, unescaped percent codes, and OnlyShowIn limits cause most silent failures. Logs rarely mention launchers.
Notice an outdated path? Let us know.