Inhaltsverzeichnis

Desktop-dateien

Quelle: https://wiki.ubuntuusers.de/.desktop-Dateien/
Dateien mit der Endung „.desktop“ werden Verwendet um Programstarter zu erstellen.
Sie müssen ausführbar sein und können an folgenden Orten abgelegt werden:

Der Dateiname muss ein valider Name zur Verwendung in D-Bus-Nachrichten sein, d.h. er darf nur Ziffern (aber nicht an erster Stelle), kleine und große ASCII-Buchstaben und die Sonderzeichen Unterstrich _ und Bindestrich - enthalten. Mehrere solche nicht-leeren Zeichenfolgen können durch verbindende Punkte zum Gesamtnamen kombiniert werden, der auf .desktop enden soll.

Appimages

In sog. Appimages sind oft fertige .desktop Dateien vorhanden.
Um an sie zu gelangen, einfach das Image entpacken.

<PFAD_ZU_DATEI> --appimage-extract

Es wird nun ein Ordner namens „squashfs-root“ erstellt.
Daraus kann man die .desktop Datei kopieren.
Natürlich muss die Datei auch angepasst werden.
Die Exec oder Icon Zeile kann hier, wie in diesem Beispiel, angepasst werden:

--- Exec=AppRun --no-sandbox %U
+++ Exec=/home/adi/AppImage/arduino-ide_2.3.4_Linux_64bit.AppImage --no-sandbox %U
--- Icon=Icon=arduino-ide
+++ Icon=/usr/share/icons/hicolor/48x48/mimetypes/text-x-arduino.png

.Desktop-Beispiel

Eine Programstarterdatei kann wie folgt aussehen:

[Desktop Entry]
Name=<PROGRAMNAME>
GenericName=<SHORT_DESCRIPTION>
GenericName[de]=<DESCRIPTION>
Comment=<COMMENT>
Exec=<COMMAND_TO_EXECUTE>
Icon=<PATH_TO_ICON_FILE>
Terminal=false
Type=Application
StartupNotify=false
Categories=<APPLICATION_CATEGORIE> # Example: Editor;AudioVideo;Player;
OnlyShowIn=GNOME;XFCE;
MimeType=<MIMETYPES> # Example: txt;video/mpeg;audio/mpeg;
X-GNOME-Autostart-enabled=false

Elemente im Programmstarter

Programmstarter
Element Beschreibung Erforderlich
Type= Beim Erstellen eines Programmstarters wählt man als Typ Application. ja
Name=NAME Der Name der Verknüpfung innerhalb des Menüs. ja
Exec=BEFEHL Ausführungsbefehl für das Programm (mit dem es in einem Terminalfenster gestartet werden kann, z.B. firefox). ja
Icon=SYMBOLDATEI Symbol (Piktogramm), welches im Menü angezeigt werden soll (Icon Themes). optional
Comment=KOMMENTAR Ein kurzer beschreibender Satz, welcher mit dem Feld Name und GenericName nicht identisch sein darf. optional
Categories=KATEGORIEN Die Angaben hier entscheiden, in welchem Untermenü die Anwendung angezeigt werden soll. Alle verfügbaren Kategorien kann man hier einsehen. Mehrere Angaben sind möglich.
OpenOffice.org und LibreOffice: Application;Office;WordProcessor;
ScummVM: Game;AdventureGame;
Pidgin: Network;InstantMessaging;
Gxine: GTK;Player;TV;
Xfburn: X-XFCE;TK;DiscBurning;Archiving;Utility; Dies sind nur einige Beispiele
optional
Path=PFAD/ZUR/ANWENDUNG Für Typ Application kann hier ein Arbeitsverzeichnis angegeben werden. optional
Keywords=SCHLAGWÖRTER Liste von Stichwörtern, die z.B. von Suchfunktionen benutzt werden können. optional
TryExec=BEFEHL Anhand dieser Zeile wird überprüft, ob das Programm, für das ein Menüeintrag angezeigt werden soll, installiert ist. Entweder der komplette Pfad zur ausführbaren Datei oder nur ihr Name (dann wird versucht, ihn über die $PATH-Variable aufzulösen). optional
Terminal=FALSE Wahrheitswert. Auswahl, ob das Programm in einem Terminalfenster läuft. true für ja, false für nein. optional
GenericName=… Allgemeine Beschreibung des Programms, z.B. Web Browser. optional
NoDisplay=WAHRHEITSWERT Dieser Eintrag bedeutet, dass die Anwendung zwar existiert, aber nicht im Menü angezeigt werden soll. Dies kann hilfreich sein, wenn man zum Beispiel einen Starter erstellt, um bestimmte Dateien vom Dateimanager oder einer anderen Anwendung heraus zu starten, diese Anwendung aber nie alleine startet. optional
OnlyShowIn=DESKTOP_ENVIRONMENT Eintrag wird nur im Menü der festgelegten Desktop-Umgebung (siehe Registered Environments) angezeigt (Groß-/Kleinschreibung beachten!). Kombinationen sind möglich. optional
NotShowIn=DESKTOP_ENVIRONMENT Eintrag wird nicht im Menü der festgelegten Desktop-Umgebung angezeigt (Groß-/Kleinschreibung beachten!). Bei Verwendung im Zusammenhang mit Autostart wird der automatische Start deaktiviert. optional
MimeType=… Um den korrekten MIME-Typ anzugeben, muss man zuerst in Erfahrung bringen, welche Dateitypen vom Programm unterstützt werden. Diese Informationen sind im Wiki oder auf der Internetseite des Programms / Projekts zu finden. Hat man diese Informationen, so öffnet man mit einem Editor die Datei /etc/mime.types. Anhand der Dateiendungen z.B. mp3 und mpg erhält man die benötigten Informationen für das Programm LinDVD: audio/mpeg; video/mpeg;. Diese werden dann in der Datei eingetragen. (shared-mime-info-spec) optional
StartupNotify=WAHRHEITSWERT Soll der Programmstart über ein spezielles Mauszeigersymbol angezeigt werden? In der Regel wird die Option false für Einträge von Programmen ins Menü genutzt, da dieser Mechanismus nicht von jeder Desktop-Umgebung unterstützt wird. Weitere Informationen. optional
StartupWMClass=… Verwendung einer speziellen „WMClass“. Wichtig z.B. für Java-Apps in Kombination mit Unity oder Docky. optional
X-GNOME-Autostart-enabled=… Soll ein Benutzerspezifischer Starter im Autostart (unter ~/.config/autostart ein- oder ausgeschaltet werden. optional

Datei validieren und ausrollen

Die erstellte .desktop Datei muss noch validiert werden.
Dazu einfach folgendes ausführen:

desktop-file-validate <PFAD_ZU_DATEI> 

Wenn hier keine Fehler ausgegeben werden, kann man die Datei im Unity Dash bekannt machen.

sudo update-desktop-database

Starter mit root Rechten

Damit man auch das jew. Programm über einen Starter mit root-Rechten starten kann, benötigt man das Tool „gksudo“

apt-get install gksu

Nach der Installation ändert man dann im Starter einfach die „EXEC“ Zeile:
aus:

EXEC=<PROGRAM>

wird:

EXEC=gksu <PROGRAM>

Grafische Oberflächen

Gnome

Mit dem Befehl gnome-session-properties öffnet sich ein Gnome eigenes Tool zum Bearbeiten von Autostartprogrammen.

Arronax

Mit dem Programm „Arronax“ kann man Starter über das Kontextmenü im Nautilus Dateimanager erstellen.

sudo add-apt-repository ppa:diesch/testing
sudo apt-get update
sudo apt-get install arronax