Ich benötige eine Umgebungsvariable, KEY="value"
die einer GUI-Anwendung zur Verfügung gestellt wird, bevor ich sie starte . Die Launcher-Datei (die das Symbol auf dem Desktop und in der Seitenleiste von Ubuntu platziert) hat den Wert Exec=/path/to/executable/file
.
Wo sollte ich diese Variable bei Verwendung von ZSH definieren, damit sie für diese Anwendung verfügbar ist, unabhängig davon, ob ich auf den Anwendungsstarter klicke oder ob ich direkt / path / to / executable / file in meine Shell eingebe?
In meinem Kommandozeile, habe ich versucht , sowohl die Eingabe KEY="value"
und export KEY="value"
bevor das Startprogramm klicken, aber es hat nicht zu funktionieren scheint. Ich habe auch beide Zeilen in meinem ausprobiert ~/.zshrc
, einen source ~/.zshrc
von meiner Shell aus gemacht und dann erneut auf den Launcher geklickt, aber das hat auch nicht funktioniert.
In welche Datei soll es gehen? Ich glaube , eine Wahl von ~/.zshenv
, ~/.zprofile
, ~/.zshrc
, und ~/.zlogin
.
(Soll ich Bonuspunkte verwenden export
oder nicht?)
(Muss ich mich mindestens abmelden und wieder anmelden, bevor die Variable beim Start über den Launcher für die Anwendung verfügbar wird?)
quelle
/etc/passwd
.zshenv
istzsh
spezifisch, gelesen wird so nicht in durchbash
,csh
oder was auch immer. Meine Antwort galt nur fürzsh
gemäß Ihrem Fragetag. In einer inhomogenen Konfiguration (Standard-Shell, die keine Gnome-Terminal-Shell ist) erscheinen die Möglichkeiten in Ihrem Link sinnvoll. Ich würde die Variable einfügen~/.profile
undzsh
in gnome-terminal eine Login-Shell erstellen, indem ichzsh -l
als Startbefehl verwende.Ich glaube nicht, dass @mpy richtig ist, dass Sie die export-Anweisung weglassen können. Das Vorhandensein / Fehlen eines Exports bestimmt, ob von dieser Shell gestartete Prozesse die Umgebungsvariable erben. Wenn Sie nicht exportieren, erbt xserver die Umgebungsvariable nicht
quelle