[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wo in Debian global $PATH setzen



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.


Reply to: