XDG-DESKTOP-ICON(1) xdg-desktop-icon Manual XDG-DESKTOP-ICON(1)

.SH "NAME" xdg-desktop-icon - command line tool for (un)installing icons to the desktop

.SH "SYNOPSIS"

.HP 408u

**xdg-desktop-icon**  
install  
\[**--novendor**]  
*FILE*

.HP 408u

**xdg-desktop-icon**  
uninstall  
*FILE*

.HP 408u

**xdg-desktop-icon**  
{  
| **--help**  
| **--manual**  
| **--version**  
}

.SH "DESCRIPTION"

.PP The xdg-desktop-icon program can be used to install an application launcher or other file on the desktop of the current user.

.PP An application launcher is represented by a \*.desktop file. Desktop files are defined by the freedesktop.org Desktop Entry Specification. The most important aspects of \*.desktop files are summarized below.

.SH "COMMANDS"

.PP install

Installs *FILE* to the desktop of the current user. *FILE* can be a \*.desktop file or any other type of file.

.RE

.PP uninstall

Removes *FILE* from the desktop of the current user.

.RE

.SH "OPTIONS"

.PP **--novendor**

Normally, xdg-desktop-icon checks to ensure that a \*.desktop file to be installed has a vendor prefix. This option can be used to disable that check.

A vendor prefix consists of alpha characters (\[a-zA-Z]) and is terminated with a dash ("-"). Companies and organizations are encouraged to use a word or phrase, preferably the organizations name, for which they hold a trademark as their vendor prefix. The purpose of the vendor prefix is to prevent name conflicts.

.RE

.PP **--help**

Show command synopsis.

.RE

.PP **--manual**

Show this manual page.

.RE

.PP **--version**

Show the xdg-utils version information.

.RE

.SH "DESKTOP FILES"

.PP An application launcher can be added to the desktop by installing a \*.desktop file. A \*.desktop file consists of a *\[Desktop Entry]* header followed by several *Key*=*Value* lines.

.PP A \*.desktop file can provide a name and description for an application in several different languages. This is done by adding a language code as used by LC\_MESSAGES in square brackets behind the *Key*. This way one can specify different values for the same *Key* depending on the currently selected language.

.PP The following keys are often used:

.PP Type=Application

This is a mandatory field that indicates that the \*.desktop file describes an application launcher.

.RE

.PP Name=*Application Name*

The name of the application. For example *Mozilla*

.RE

.PP GenericName=*Generic Name*

A generic description of the application. For example *Web Browser*

.RE

.PP Comment=*Comment*

Optional field to specify a tooltip for the application. For example *Visit websites on the Internet*

.RE

.PP Icon=*Icon File*

The icon to use for the application. This can either be an absolute path to an image file or an icon-name. If an icon-name is provided an image lookup by name is done in the user's current icon theme. The **xdg-icon-resource** command can be used to install image files into icon themes. The advantage of using an icon-name instead of an absolute path is that with an icon-name the application icon can be provided in several different sizes as well as in several differently themed styles.

.RE

.PP Exec=*Command Line*

The command line to start the application. If the application can open files the %f placeholder should be specified. When a file is dropped on the application launcher the %f is replaced with the file path of the dropped file. If multiple files can be specified on the command line the %F placeholder should be used instead of %f. If the application is able to open URLs in addition to local files then %u or %U can be used instead of %f or %F.

.RE

.PP For a complete overview of the \*.desktop file format please visit **http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec**

.SH "ENVIRONMENT VARIABLES"

.PP xdg-desktop-icon honours the following environment variables:

.PP XDG\_UTILS\_DEBUG\_LEVEL

Setting this environment variable to a non-zero numerical value makes xdg-desktop-icon do more verbose reporting on stderr. Setting a higher value increases the verbosity.

.RE

.SH "EXIT CODES"

.PP An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

.PP **1**

Error in command line syntax.

.RE  
.PP **2**

One of the files passed on the command line did not exist.

.RE  
.PP **3**

A required tool could not be found.

.RE  
.PP **4**

The action failed.

.RE  
.PP **5**

No permission to read one of the files passed on the command line.

.RE

.SH "SEE ALSO"

.PP [**xdg-icon-resource**(1)](/man/os/xdg-utils/xdg-icon-resource.1)

.SH "EXAMPLES"

.PP The company ShinyThings Inc. has developed an application named "WebMirror" and would like to add a launcher for for on the desktop. The company will use "shinythings" as its vendor id. In order to add the application to the desktop there needs to be a .desktop file for the application:

```
shinythings-webmirror.desktop:


  [Desktop Entry]


  Encoding=UTF-8


  Type=Application


  Exec=webmirror


  Icon=shinythings-webmirror


  Name=WebMirror


  Name[nl]=WebSpiegel
```

.PP Now the xdg-desktop-icon tool can be used to add the webmirror.desktop file to the desktop:

```
xdg-desktop-icon install ./shinythings-webmirror.desktop
```

.PP To add a README file to the desktop as well, the following command can be used:

```
xdg-desktop-icon install ./shinythings-README
```

# [AUTHORS](#AUTHORS)

**Kevin Krammer**

Author.

**Jeremy White**

Author.

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2006

04/02/2026 xdg-utils 1.0

---

Document: xdg-desktop-icon(1) from xdg-utils 1.2.1-r8 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xdg/xdg-utils
