Alfred Ostermeier <[EMAIL PROTECTED]> wrote:
> Andreas Metzler wrote:
>> Setze ihn in /etc/environment statt in /etc/profile. Vorsicht,
>> /etc/environment wird von PAM und nicht von der Shell ausgewertet,
>> daher ist die Syntax geringfuegig anders, naemlich variable=wert statt
>> export variable=wert.

> Aha. Ich habe es ausprobiert und /etc/environment ist tatsächlich der 
> richtige Ort. Danke!

> Ich habe nun auch im Internet nachgeforscht. Es scheint wohl viele 
> verschiedene Dateien zu geben, in denen man PATH-Variablen setzen kann, 
> wobei diese Konfigurationsdateien in einer bestimmten Reihenfolge 
> abgearbeitet werden und eine später eingelesene Datei die Einträge einer 
> früher eingelesenen überschreiben kann. Muss ehrlich sagen, nach einem 
> 3/4 Jahr Linux bin ich in Sachen Umgebungsvariablen immer noch nicht 
> ganz durchgestiegen. Gibt es vielleicht eine gute Doku zum diesem 
> anscheinend sehr komplexen Thema?

So kompliziert ist das nicht (aber unzufiedenstellend) ;-)

Login via Konsole oder ssh
1. Sofern in /etc/pam.d/login bzw. /etc/pam.d/ssh konfiguriert wird
   pam_env gestartet und wertet /etc/environment aus.
2. Eine Login-shell wird gestartet, d.h. es wird zuerst /etc/profile
   und ~/.bash_profile, ~/.bash_login oder ~/.profile gelesen, von den
   3 Dateien in ~/ wird die erste existente ausgewertet, dh. wenn du
   ~/.bash_profile anlegst wird ~/.profile ignoriert.
3. Tochterprozesse dieser Shell (z.B. startx und dein Windowmanager
   erben die Umgebungsvariablen.

Login via (x|k|g)dm
1. Wie oben nur mit /etc/pam.d/xdm, ...
2. Es wird mehr oder weniger direkt /etc/X11/Xsession gestartet, das
   Windowmanager, etc. startet, es ist keine Login-Shell im Spiel,
   daher wird /etc/profile _nicht_ ausgewertet.
3. Oeffnest du dann unter X11 einen xterm oder Konsole wird darin je
   nach Konfiguration eine Loginshell oder eine interaktive normale
   Shell, aufgerufen. Letztere wertet ~/.bashrc aber keine der 4
   profile-Dateien aus.

Das hoert sich recht harmlos an, hat aber laestige Auswirkungen, wenn
du z.B. in ~/.profile LANG=de_DE setzt. Ein Program unter X wird sich
dann unterschiedlich verhalten ob du es aus einem Terminal mit
login-shell (LANG=de_DE) oder ueber das Menue des Windowmanagers
aufrufst (LANG nicht gesetzt).

Etwas komplizierter wird es noch, da man diverse der erwaehnten
Dateien ueber Kreuz einliest, z.B. habe ich in

# ~/.bash_profile
if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

Damit ich die in .bashrc definierten Aliase auch in Login-Shells habe.

Lesetipps: bash(1), Xsession(5).
             cu andreas
-- 
Hey, da ist ein Ballonautomat auf der Toilette!
Unofficial _Debian-packages_ of latest unstable _tin_
http://www.logic.univie.ac.at/~ametzler/debian/tin-snapshot/


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an