Desktop icons are defined in the *.desktop
files found in ~/Desktop
. Some file manager want to be clever and smart and do not show the filenames but interpret their contents found inside those *.desktop
text files a link to an icon and a name to be shown.
The easiest way to get such files is going to the menu and right click the mouse and select put to desktop. However going to /usr/share/applications
and see what desktop files are already available and then just copy them to ~/Desktop
.
The *.desktop
files is an other option. Since the *.desktop
files are text files they can be edited using a text editor
There are also tools to create *.desktop
files.
Path to the executable, Name on the desktop and finally an icon has to be placed. Icons for that can be found under
/usr/share/icons
or /usr/share/pixmaps
for those directories no path and file extension must be added. For Icons in other directories the path must be present.
gtk-update-icon-cache /usr/share/icons/hicolor will show updates
Desktop files should be validated using the desktop-file-validate tool.
Finally right click on the mouse lets to move menu icons to the desktop.
However also documents and links to documents can be placed can be placed in the Desktop directory and appear as icons on the screen.
If a executable is not found add the path and use " characters
Exec="/opt/serna-free-4.4/bin/serna.sh"
The menu is made from *.desktop
files in ~/.local/share/applications
for user menus and /usr/share/applications
for global menus. The parameter
Categories=Game
inside those files defines the category where they pop up. There is the java application lxmed that is a gui for this.
To have the terminal running:
Terminal=true
Inside the directory /usr/share/applications
also a file mimeinfo.cache
can be found. Having a file of a mime type, then the desktop file handling this type of data can be found. This cache file is created from the *.desktop
files using their mime type declaration:
MimeType=video/dv;video/mpeg;video/x-mpeg;
File managers as pcmanfm make use of desktop files in /usr/share/applications
that, when clicking on a file the mime type is defined (looking at the file extension) and via mimeinfo.cache
the *.desktop
file is found and therefore started including passing the name of the file being clicked.
It takes the desktop files from /usr/share/applications
and not from ~/Desktop
In pcmanfm go to Edit/Preferences/General, Check box for "Don't ask options on launch executable file" to not have questions popping up
Desktop files can also be started automatically when they are put in /etc/xdg/autostart
Inside the *.desktop
files there is the command including an variable as %f that represents a single file name.
AdobeReader.desktop
has %U inside indication that is an URL but pcmanfm passes a file and then acroread does not open the file. Changing %U to %f fixes this issue.
Some applications do not have icons and take icons form a icon theme. So install theme as:
adwaita-icon-theme
faenza-icon-theme
lxde-icon-theme
tango-icon-theme
oxygen-icons
mate-icon-theme
elementary-xfce-icon-theme
xdg-open <filename>
opens a file with the default application
xdg-settings get default-web-browser returns the desktop file of the default browser
gtk-launch <name of desktop file without .desktop>
start such files