[[Vorlage(Getestet, bionic, focal, jammy) ]] ##{{{#!vorlage Wissen ##}}} [[Inhaltsverzeichnis()]] Dieser Artikel zeigt praktische Beispiele für Desktop-Dateien und deren Verwendung zu Veranschaulichung der generellen Ausführungen in den Artikeln: * [:.desktop-Dateien:Desktop-Dateien] * [:Autostart:] * [:.directory-Dateien:] {{{#!vorlage Hinweis Die Beispiele wurden individuell für unterschiedliche Ubuntu-Versionen und Desktops getestet, jedoch konnten nicht alle Varianten/Kombinationen Berücksichtigung finden. Fehlfunktionen bitte im Forum ansprechen. }}} = Beispiele für Programmstarter = Dies sind Desktop-Dateien mit einer Zeile `Type=Application`. Zu den Besonderheiten bei der Ablage solcher Dateien als Symbol auf der Desktop-Oberfläche siehe die Artikel: * [:.desktop-Dateien:Desktop-Dateien] * und [:Desktop-Symbole:] == Kommandozeilen-Programm == Den zur Abfrage der verfügbaren Blockgeräte oft benötigten Befehl [[Vorlage(Befehl, "lsblk -lf /dev/disk/*/*" ) ]] kann man über eine Desktop-Datei im Menü verankern: {{{ # ~/.local/share/applications/lsblk.desktop [Desktop Entry] Type = Application Name = Massenspeicher auflisten Comment = Blockgeräte für Massenspeicher anzeigen Icon = drive-multidisk.png Categories = System;UserMenu; StartupNotify = false Terminal = true Exec = bash -c "lsblk -lf /dev/disk/*/* ; read" }}} Man beendet die Anzeige mit der Eingabetaste [[Vorlage(Tasten, return) ]]. == Java-Programm starten == Dies wird hier am Beispiel des in Java geschriebenen Editors [:jEdit:] unter '''openjdk-11-jre''' gezeigt: {{{ [Desktop Entry] Name=Java-Programm jEdit starten Exec=/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /usr/share/jedit/jedit.jar Type=Application Terminal=false Icon=/usr/share/icons/hicolor/48x48/apps/jedit.png }}} Für eine andere Java-Runtime ist natürlich die Zeile `Exec=` anzupassen. == Java-Programm per Dateimanager starten == Für den Start einer selbst nicht ausführbaren Datei, beispielsweise einer Java-Datei ('''.jar'''-Datei) aus dem Fenster eines Dateimanagers wie [:Nautilus:] (Unity, GNOME 3) muss über eine Desktop-Datei ein Beziehung zwischen den MIME-Typen für Java-Programme und der ausführbaren Datei der Java-Runtime hergestellt werden. Diese [topic:unity-startmenue-fuer-java-programm:Diskussion] im Forum bietet Lösungsvorschläge. Ein Beispiel für eine entsprechende Desktop-Datei (hier für [:Java#OpenJDK:OpenJDK] 11 64-Bit): {{{ [Desktop Entry] Name=OpenJDK 11 Runtime Name[de]=OpenJDK 11 Laufzeitumgebung Comment=open with OpenJDK Java Comment[de]=mit OpenJDK Java öffnen Exec=/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar %f Terminal=false Type=Application Icon=openjdk-11 MimeType=application/x-java-archive;application/java-archive;application/x-jar; }}} Hier muss der vollständige Pfad zur Java-Runtime-Datei angegeben werden, weil diese nicht über die [:Umgebungsvariablen:Umgebungsvariable] `PATH` auffindbar ist. Für [:Java/Oracle_Java#Programmstarter-anlegen:Oracle Java] passt man diese Datei entsprechend an. Nach diesem Schema können natürlich auch Textdateien mit Programmen für beliebige andere Programmiersprachen durch Zuweisung einer passenden Runtime-Datei ausgeführt werden. == Shell-Skript: Netzwerk verbinden == Manchmal wünscht man sich einen simplen Knopf zum Aktivieren des Netzwerks, beispielsweise um einen [:Internetverbindungsfreigabe/ICS_mit_NetworkManager/#Freigabe-via-Wifi-WLAN:WLAN Hotspot] zu starten. Man benötigt dazu ein Skript, welches mit Kommandozeilenbefehlen für [:NetworkManager:] das jeweilige Netzwerkprofil aktiviert und eine Desktop-Datei zur Einbindung in die GUI. Ein geeignetes Skript inkl. einer Beschreibung seiner Funktionsweise findet man hier: * Direkter Download: [[Anhang(Netzwerkprofil) ]] {dl} Dieses Skript funktioniert (getestet mit dem [:GNOME:GNOME-Desktop]) ab Ubuntu 20.04 und auch mit 22.04. Bei früheren Versionen muss es gemäß den Erläuterungen in seiner Beschreibung modifiziert werden. * Beschreibung: [:Desktop-Dateien/Beispiele/Netzwerkprofil:] Man macht die heruntergeladene Datei ausführbar und verschiebt sie mit dem Namen '''Netzwerkprofil''' entweder in einen Ordner, der über die Umgebungsvariable `PATH` gefunden wird oder an eine beliebige Stelle in seinem Benutzerverzeichnis; dann muss man allerdings in der Desktop-Datei bei `Exec` den vollständigen Pfad angeben. Zur Einbindung in die GUI dient diese Desktop-Datei: {{{ # ~/.local/share/applications/NM-profile.desktop [Desktop Entry] Type = Application Name = Netzwerk-Verbindung Icon = network-transmit-receive Categories = Network; Terminal = true MimeType = application/octet-stream; # Das zu startende Programm wird als ausführbare Datei über PATH gefunden: Exec = Netzwerkprofil %f # Bei alternativen Aufrufmethoden muss der Pfad angepasst werden: #Exec = /home/USERNAME/Skripte/Netzwerkprofil %f #Exec = sh -c "~/Skripte/Netzwerkprofil %f" Actions = up;down;status;edit;wifi-off;wwan-off;off; [Desktop Action up] Name = Verbindung aktivieren Exec = Netzwerkprofil up [Desktop Action down] Name = Verbindung trennen Exec = Netzwerkprofil down [Desktop Action status] Name = Verbindungsstatus Exec = Netzwerkprofil status [Desktop Action edit] Name = Verbindungseditor starten Exec = nm-connection-editor [Desktop Action wifi-off] Name = WLAN (Wifi) ausschalten Exec = nmcli radio wifi off [Desktop Action wwan-off] Name = Breitband (WWAN) ausschalten Exec = nmcli radio wwan off [Desktop Action off] Name = Netzwerk ausschalten Exec = nmcli networking off }}} Man startet in der GUI die Applikation '''Netzwerk-Verbindung''', z.B. aus dem Menü ''Anwendungen'' oder aus dem Panel. [[Bild(GNOME-Desktop-mit-Symbol-mit-Submenue.png ) ]] Die Applikation zeigt in einem Fenster des Dateimanagers alle gespeicherten Verbindungsprofile an, von denen man eines auswählt und öffnet. Beim ersten Versuch muss man noch den Mimetyp `application/octet-stream` einmalig eben dieser Applikation zuordnen. Das gewählte Verbindungsprofil wird aktiviert; das Ergebnis sieht man in einem Terminal-Fenster. Die Desktop-Datei erlaubt auch die Ausführung diverser weiterer Aktionen aus dem (oft über die rechte Maustaste [[Vorlage(Tasten, rmt) ]] erreichbaren) Kontextmenü, das können dann Aufrufvarianten des Skriptes oder ganz andere Befehle sein. == Weitere Beispiele == * [:Desktop-Dateien/Beispiele/Einschlafen:UbuntuUsers-de-hibernate.desktop] – Komfortabel in Bereitschaftsbetrieb oder [:Ruhezustand:] wechseln * [:Desktop-Dateien/Beispiele/Systemdatei_bearbeiten:UbuntuUsers-de-sudoedit.desktop] – Systemdatei als [:root:] mit [:Root-Rechte/#M4:Root-Rechten bearbeiten (sudoedit)] * [:Desktop-Dateien/Beispiele/Systemdatei_bearbeiten:UbuntuUsers-de-adminedit.desktop] – Systemdatei als [:root:] mit [:Root-Rechte/#M6:Root-Rechten bearbeiten (per admin://)] = Beispiele für Lesezeichen = Dies sind Desktop-Dateien mit einer Zeile `Type=Link`. Man kann bei manchen Desktops solche Dateien auf der Desktop-Oberfläche ablegen und dann bequem mit einem Klick die hinterlegte Stelle im Internet, eigenem Netzwerk oder eigenem Rechner öffnen. Dies funktioniert nicht beim [:GNOME:]-Desktop, aber beispielsweise bei [:Xubuntu:] 20.04. == Webseite == {{{#!code text [Desktop Entry] Name= Forum bei UbuntuUsers.de Type= Link URL= https://forum.ubuntuusers.de/ Icon= }}} == Verzeichnis == {{{#!code text [Desktop Entry] Name= Meine Dokumente Type= Link # Den Wert in der folgenden Zeile für eigene Bedürfnisse anpassen! URL= /home/USERNAME/Dokumente/ Icon= }}} Zweckmäßigerweise ergänzt man diese Desktop-Dateien noch um die Angabe eines Ikons, dessen Datei man im Ordner '''~/.icons/''' ablegt. #tag: Desktop, Budgie, GNOME 3, KDE, LXDE, LXQt, MATE, Xfce