How can I find *.desktop files?
Solution 1:
It's probably sitting in /usr/share/applications/
but if you want to find every .desktop
file on the system run this:
find / -name '*.desktop'
or
sudo updatedb
locate *.desktop
To find files with "skrooge" in their path or name, add a grep to the command:
locate *.desktop | grep -iR "skrooge"
Solution 2:
The system stores the .desktop files in /usr/share/applications/
. Unfortunately, if you open that folder in nautilus the .desktop files appears with the icon specified in the file and with the file name called out within the file. You also won't be allowed to edit these files by clicking on them and selecting edit.
To edit these files, you need to open that folder within a terminal window. Doing an ls
command will show all the .desktop files with their actual names. When you locate the .desktop you wish to change, run gksudo gedit {file-name}.desktop
.
It's normal practice to keep any .desktop files you create or edit in your home folder ~/.local/share/applications
.
Solution 3:
Some additional details to supplement the other answers:
Typically, .desktop
files for packages will be located in /usr/share/applications
.
If you want, you could copy one to ~/.local/share/applications
and edit it there without needing sudo. Items in ~/.local/share/applications
will override matching items in /usr/share/applications
and /usr/local/share/applications
, but are only visible to your user.
Alternatively, you could place an edited copy in /usr/local/share/applications
where it will override any in /usr/share/applications
while also being visible to the entire system.
Note that you should not edit the .desktop
files in /usr/share/applications
directly; any changes you make will be automatically overwritten when the application is updated by the package manager.
Extracted from here
Solution 4:
Desktop files of snap packages can be found in /var/lib/snapd/desktop/applications/
and below /snap/
.
Solution 5:
I know I'm late to the party, but I have a faster solution than the one accepted as the answer:
find / -iname "*desktop" -type f -not -path "/media*" -exec grep -il skrooge '{}' ';' 2> /dev/null
It's faster because it doesn't search the data mounted file systems and most probably the desktop file is located in the system partition.
Moreover, it's more likely to find what the command from the accepted answer would miss. That's because the desktop files doesn't have to hold the application name. This command actually searches the text in every desktop file.