Martin Steigerwald: > Am Sonntag, 6. Januar 2013 schrieb Sascha Reißner: > > Am Sonntag, den 06.01.2013, 17:07 +0100 schrieb Matthias Taube: > > > Wo kann ich in Debian global $PATH setzen? > > > > > > > > > Ich möchte /media/data/scripte in den für alle shell in den Path > > > aufnehmen. > > > > > > Wenn ich dieses in /etc/profile an den Path anfüge, steht diese > > > Umgebung bei einem Login auf der Kommandozeile zur Verfügung. In > > > einem Terminalfenster unter xfce ist dies jedoch nicht dem Pfad > > > angefügt. > > > > Weil das Terminal keine Login-Shell ist. > > Geh im Terminal mal auf 'Bearbeiten' -> 'Profileinstellungen' und dort > > auf den Reiter 'Titel und Befehl'. > > Dort setzt du den Haken bei 'Befehl als Login-Shell starten'. > > Öffne ein neues Terminal und kontrolliere mit 'echo $PATH'. > > Dein Pfad sollte nun dabei sein. > > Alternativ halt dann doch Shell-Spezifisch in: > > /etc/bash.bashrc > > /etc/zshrc oder besser /etc/zshenv Das hat halt den Nachteil, dass man es an x Stellen pflegen muss. > Inwieweit allerdings /etc/profile shell-übergreifend funktioniert, ist > mir nicht ganz klar. Denn man zshall erwähnt nur Z-Shell-spezifische > Konfigurationsdateien. Könnte also sein, dass es so oder so > shell-spezifisch ist, und dann würde ich die rc/env-Dateien bevorzugen, > damit es auch für Nicht-Login-Shells passt. > > > Ich dachte eigentlich sei /etc/environment für sowas auch gedacht, aber > binden die anderen Dateien gar nicht ein: > > martin@merkaba:/etc#1> grep environment bash.bashrc > martin@merkaba:/etc#1> grep environment profile > martin@merkaba:/etc#1> grep environment zsh/zshrc > martin@merkaba:/etc#1> grep environment zsh/zshenv > # search path, plus other important environment variables. > martin@merkaba:/etc> /etc/environment wird via pam ausgewertet, und funktioniert wie erwartet. Ob's für Shells so geht wage ich zu bezweifeln, spätestens wenn /etc/profile ausgeführt wird ist der PATH weg (da in /e/p explitit gesetzt) Hier funktioniert auch ein Eintrag in /etc/profile, das liegt vermutlich dran, dass ich kde verwende, startkde /bin/sh shebang't und /bin/sh ein symlink auf dash ist. So wie ich die dash-Manpage verstehe, geht die dash, wenn stdin nicht auf ein Terminal zeigt (was bei startkde halten dürfte, /proc/<pid>/fd bestätigt dies), von einer Loginshell aus, und wertet /etc/profile aus. Irgendwann war das mal einfacher :-).
Attachment:
signature.asc
Description: This is a digitally signed message part.