Übergeben eines Arguments in einer .desktop-Datei


9

Beim Starten einer Anwendung über die Befehlszeile verwende ich erfolgreich:

gourmet --gourmet-directory $HOME/my/custom/path/

Es funktioniert jedoch nicht, wenn versucht wird, dieses Verhalten in einer .desktop-Datei zu replizieren mit:

Exec=gourmet --gourmet-directory $HOME/my/custom/path/ %F 

Ich vermisse hier wahrscheinlich etwas sehr Grundlegendes, aber ich kann mich nicht darum kümmern. Jede Hilfe wäre sehr dankbar.


Können Sie erklären, warum Sie verwenden %F? Sollte die Anwendung eine Liste von Dateien öffnen oder es sich nur um einen Anwendungsstarter handelt, können Sie die Dateien über die GUI öffnen
siehe

1
Sie können eine separate Skriptdatei mit vollem Befehl erstellen, gourmet --gourmet-directory $HOME/my/custom/path/als sie in den .desktopvollständigen Pfad zum Skript einfügt.
Costas

@lese, guter Punkt, ich erkannte tatsächlich, dass% F nicht erforderlich war. Die Lösung von Jodka Lemon funktionierte sowohl mit als auch ohne.
Castaway

Antworten:


8

Im Feld Exec sind nur Befehlszeilenoptionen mit einem Bindestrich möglich.

Exec=sh -c "gourmet --gourmet-directory $HOME/my/custom/path/ %F"

sollte arbeiten.


1
Was? Dies ist die einzige Möglichkeit? Sieht aus wie ein Hack.
Erik

Habe es gerade heute versucht -g=4536+76und --geometry=4536+76beide haben in Ubuntu 16.04.6 LTS Unity Desktop gleich gut funktioniert wie Argumente in .desktopExec Line mit oder ohne sh -c Wrapper.
WinEunuuchs2Unix
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.