====== 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: * Benutzerspezifisch: ''~/.local/share/applications'' * Autostart eines Benutzers: ''~/.config/autostart'' * systemweit: ''/usr/share/applications'' * soll der Programstarter auch auf dem Desktop angezeigt werden, muss diese Datei zusätzlich auf den Desktop kopiert 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. --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= GenericName= GenericName[de]= Comment= Exec= Icon= Terminal=false Type=Application StartupNotify=false Categories= # Example: Editor;AudioVideo;Player; OnlyShowIn=GNOME;XFCE; MimeType= # 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 ([[http://freedesktop.org/wiki/Specifications/icon-theme-spec?action=show&redirect=Standards%2Ficon-theme-spec|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 [[http://standards.freedesktop.org/menu-spec/latest/apa.html|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 [[http://standards.freedesktop.org/menu-spec/latest/apb.html|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 [[https://wiki.ubuntuusers.de/MIME-Typ/|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. ([[http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec?action=show&redirect=Standards%2Fshared-mime-info-spec|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 [[http://standards.freedesktop.org/startup-notification-spec/startup-notification-0.1.txt|Informationen]]. | optional | | ''StartupWMClass=...'' | Verwendung einer speziellen "WMClass". Wichtig z.B. für Java-Apps in Kombination mit Unity oder [[https://wiki.ubuntuusers.de/Docky/|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 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= wird:EXEC=gksu ===== 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