Das Ändern von / etc / environment hatte keine Auswirkungen auf meine Umgebungsvariablen

10

Ich versuche, das Euler-Expertensystem gemäß diesen Anweisungen zu installieren . Um die Umgebungsvariable hinzuzufügen, habe ich meine /etc/environmentwie folgt bearbeitet :

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

Bei Verwendung wird printenv PATHdas neue Verzeichnis jedoch nicht zu meinem Pfad hinzugefügt.

Was mache ich hier falsch?

Moha das allmächtige Kamel
quelle
Dieser Link funktioniert momentan nicht (SourceForge ist ausgefallen), aber können Sie angeben, ob Sie systemweite Umgebungsvariablen möchten? Da es sich um eine Anwendung handelt, ist dies wahrscheinlich der Fall, und daher sind viele der folgenden Antworten falsch.
Michael Scheper

Antworten:

8

Ich weiß nicht, warum PATH nicht geändert wurde (nach dem erneuten Anmelden), aber

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

Diese Leerzeichen verhindern, dass EYE_HOME festgelegt wird.

Es ist zu beachten, dass /etc/environmentes sich nicht um eine Skriptdatei handelt, sondern um eine Art Zuweisungsdatei, die von PAM gelesen wird. OTOH solche Leerzeichen sind in Skriptdateien wie /etc/profileund auch nicht erlaubt ~/.profile.

Wenn Sie eine Skriptdatei verwenden, müssen Sie die Variablen wie in der Antwort von Avinash Raj gezeigt exportieren.

Beachten Sie, dass es zwar ~/.bashrcfunktioniert, wenn Sie Ihr Programm über ein Terminalfenster starten, es jedoch möglicherweise nicht funktioniert, wenn Sie es über die grafische Umgebung starten, da es nicht vom Display-Manager bezogen wird.

Gunnar Hjalmarsson
quelle
@ gunnar-hijalmarsson --- richtig. Die Tatsache, dass der Display-Manager nicht von meiner Shell aus gestartet wird, hat mich oft gebissen. Ich habe einen Trick gepostet, um die Variablen zu sehen, die in der DE eingestellt sind: askubuntu.com/a/356973/16395
Rmano
Schöner Trick, @Rmano! Gibt es eine Chance, dass Sie es zu help.ubuntu.com/community/EnvironmentVariables hinzufügen können ?
Gunnar Hjalmarsson
Danke - ich habe nie eines davon bearbeitet und weiß nicht, ob ich die Berechtigungen hatte. Ich werde es prüfen, wenn ich Zeit habe, aber ansonsten können Sie kopieren / einfügen, was immer Sie wollen - diese Seite muss dringend aktualisiert werden. Eine Frage: Haben alle Display-Manager (lightdm, gdm, kdm) eine Quelle, ~/.profileauch wenn meine Standard-Shell nicht ist, bashaber zum Beispiel zsh?
Rmano
Von mir selbst überprüft. Ich benutze zsh; Die von der DE gestarteten Anwendungen sehen die in ~/.pam_environmentund ~/.profile(NOT ~/.zprofile) gesetzten Variablen . Das ist gut und schlecht, aber der schlechte Teil wird gelöst, indem man ihn .profileso ändert , dass er meine .zprofileund .zshenv. Und ich bestätige, dass die Verwendung .pam_environmentschlecht ist, sie wird irgendwann überschrieben (sollte nicht, aber es ist).
Rmano
@Rmano: Ich weiß, dass ~/.profiledas von lightdm und gdm bezogen wird; Ich bin mir nicht sicher über kdm.
Gunnar Hjalmarsson
5
gedit ~/.bashrc

Danach fügen Sie die folgenden Zeilen hinzu,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

Speichern Sie die Datei und beziehen Sie sie,

source ~/.bashrc
Avinash Raj
quelle
1
Wäre das eine systemweite Variable?
Moha das allmächtige Kamel
1
@AvinashRaj: Diese Variablen sind nicht nur für den Benutzer bestimmt, sondern werden auch nicht angezeigt, wenn die Anwendung nicht über ein Befehlszeilenterminal gestartet wird. Die grafische Umgebung wird von selbst gestartet, ohne die Shell des Benutzers zu verwenden. Siehe askubuntu.com/a/356973/16395
Rmano
0

Sie können diese beiden Dateien auch für die systemweite Konfiguration ausprobieren:

  • /etc/profile
  • /etc/bashrc

Für die benutzerweite Konfiguration:

  • $HOME/.profile
  • $HOME/.bashrc

Hängen Sie einfach die Variablen an, wie Sie es getan haben /etc/environment. Sie müssen sich jedoch anmelden und abmelden (oder das richtige Neuladen ausführen). Vielleicht würde durch An- und Abmelden /etc/environmentfunktionieren, aber ich bin mir nicht sicher.

Tinti
quelle
-1

Sie möchten Ihre .bashrc-Datei in Ihrem Home-Verzeichnis bearbeiten.

Wenn Sie den Pfad bearbeiten, sollten Sie ihn :$PATHam Ende einfügen, damit Sie den aktuellen Pfad nicht ersetzen.

Julian Stirling
quelle