Ü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.

verschollen
quelle
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.

Jodka Zitrone
quelle
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