Wie kann ich meine .desktop-App global machen?

Wie kann ich meine .desktop-App global machen?

Ich habe eine .desktopApp, die ein Shell-Skript ausführt. Dieses Shell-Skript führt einen Python-Code aus, wenn auf die App doppelgeklickt wird, und ich möchte sie aus allen Verzeichnissen auf meinem Laptop starten können und das Symbol stabil halten, selbst wenn die Verzeichnisse des Bildes, Symbols oder der App geändert wurden!

Wie kann ich meine App global machen?

Antwort1

Wie aus der Antwort von Zany_Zachary hervorgeht, sind Launcher in /usr/share/applicationsfür alle Benutzer verfügbar. Launcher unter sind ~/.local/share/applicationsnur für den aktuellen Benutzer verfügbar. Wenn sich der Launcher an diesen Orten befindet, wird er von Ihrem Desktopmenü oder Launcher aufgenommen. Der Speicherort /usr/share/applicationsist ein Verzeichnis, das vom Softwareverwaltungssystem APT des Betriebssystems verwendet wird. Obwohl es funktionieren würde, sollten Sie Ihre benutzerdefinierten .desktopDateien nicht dort ablegen. Verwenden Sie stattdessen den Ordner/usr/local/share/applications. Dieser Ordner existiert unter Ubuntu nicht standardmäßig, Sie müssen ihn daher möglicherweise zuerst erstellen.

So lässt sich „global“ aus Ihrem Titel am ehesten verstehen. In Ihrer Frage legen Sie jedoch nahe, dass Sie unter „global“ auch etwas wie „portabel“ verstehen, d. h. es sollte weiterhin funktionieren, auch wenn das Symbol oder die App ihren Standort geändert hat. Sie müssen jedoch die Konventionen des Betriebssystems einhalten, wo Ihr Symbol oder Ihre ausführbare Datei platziert werden soll. Es gibt also keinen „globalen“ .desktopLauncher, der weiterhin funktioniert, unabhängig davon, wo Sie das Symbol oder die ausführbare Datei platzieren.

Diese „Portabilität“ hat jedoch ihre Grenzen. Zum einen kann sich der Name des Symbols oder der ausführbaren Datei nicht ändern, da der Name in der .desktopDatei fest codiert ist. Sie können den Pfad in der .desktopDatei jedoch weglassen, müssen dann jedoch Symbol und ausführbare Datei an bestimmten Stellen platzieren, die vom Betriebssystem gesucht werden.

Das Symbol

Das Icon wird in der .desktopDatei in der Icon=Zeile definiert.

Wenn Sie nur den Namen des Icons angeben (ohne die Erweiterung),Das Betriebssystem sucht ~/.iconsund ~/.local/share/iconszuerst, und durchsuchen Sie dann die systemweiten Symbolverzeichnisse, meist unter /usr/share/iconsund /usr/local/share/icons. Eine Grafikdatei mit der Erweiterung .pngoder .svgin einem dieser Ordner wird vom Menüsystem erkannt. Wenn keine entsprechende Grafikdatei gefunden wird, greift das System auf ein standardmäßiges Ersatzsymbol zurück.

Die Anwendung

Die ausführbare Datei wird in der .desktopDatei in der Exec=Zeile definiert.

Auch hier sucht das System in vordefinierten Pfaden nach einer ausführbaren Datei mit passendem Namen, wenn kein vollständiger Dateipfad angegeben ist. Sie können die Ordner und ihre Reihenfolge sehen, in der sie mit dem echo $PATHBefehl durchsucht werden.

Antwort2

Grüße!

Um Ihre .desktop-Datei global zu machen, gehen Sie einfach wie folgt vor:

Legen Sie es in/usr/share/applications

Für nur ein Konto, legen Sie es in/home/$USER/.local/share/applications


Leider können Sie das Symbol nicht beibehalten, wenn die Bilddatei verschoben wird. Ich empfehle, einen Ordner mit Ihrem Anwendungssymbol zu erstellen. Platzieren Sie diesen Ordner in /usr/share.

verwandte Informationen