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

Re: benutzte Shells und shell-Einstellungen unter X11R6



Moin,

* Helmut Franke wrote (2007-02-04 01:21):
>wenn ich unter X11R6 aus ~/.xsession Programme
>starten lasse, haben diese eine andere Umgebung,
>als wenn ich welche aus einer bash in xterm
>manuell starte.

Das ist auch gut so.


>Aufgefallen ist mir, dass PATH anders eingestellt ist und damit
>leider anders, als ich es möchte. Weißt du, wo ich dazu Infos finden
>kann, wo und wie die Shell gestartet wird, die ~/.xsession ausführt
>und welche Scripts diese Shell beim Starten ausführt?

yooden@eumel % head -1 ~/.xsession
#!  /bin/sh

Allerdings habe ich das noch nicht wirklich getestet.


>Ich hätte nämlich gerne das private bin-Verzeichnis in PATH mit drin
>stehen, falls eines funktionsfähig existiert. Die Definition dafür
>steht in /etc/profile, sollte also von einigen Login-Shells
>ausgeführt werden:
>
># setze PATH für root und nicht-root user
>(...)
>
>Also wird scheinbar /etc/profile von der shell,
>die ~/.xsession ausführt, nicht vorher ausgeführt.

Soll sie auch nicht. Ich würde mal annehmen, daß ~/.xsession nicht
interaktiv ist, /etc/profile (und ~/.profile) werden aber nur von
interaktiven Shells gelesen.

Das solltest Du auch nicht ändern. Pack stattdessen Deinen gewüschten
PATH in eine Datei, die Du dann in /etc/profile und ~/.xsession
sourcen kannst. Interaktive und nicht-interaktive Shells sollte man
gut auseinanderhalten.


>Mir ist nicht klar, warum die Shell, die beim
>Einloggen in X11R6 gestartet wird, um die
>X11R6-Scripte auszuführen, nicht als Login-Shell
>gestartet wird, denn sie ist ja wohl die richtige
>Login-Shell, wenn man sich über xdm einloggt.

Es sollte keine Loginshell sein, wenn sie nichtmal interaktiv ist. Was
XDM macht, ist aus Sicht der Shell egal.


>Die nachfolgend gestarteten Shells in xterms erben deshalb auch nicht
>die Definitionen einer Login-Shell, und nicht die Definitionen einer
>interaktiven Shell, sondern nur die Definitionen einer
>nicht-interaktiven Shell zum Ausführen von Scripten.

Nicht bei mir. Das sieht eher danach aus, als wäre da schon etwas
schief konfiguriert. Welche Shell benutzt Du denn interaktiv?


Nochmal: Verwechsele nicht interaktive und nicht-interaktive Shells!
Das Mischen der Startdateien mag heute wie eine zeitsparende Lösung
aussehen, führt aber zu schwer nachvollziehbaren Fehlern.


Ich benutze seit einigen Jahren die Zsh, die hat den Vorteil, daß sie
keine der bekannten Startdateien einliest, die sich so ansammeln.
Stattdessen gibt es zwei Sätze Startdateien (User-spezifisch und
global), die für alle, Login- und interaktive Shells aufgerufen werden.


Thorsten
-- 
There are 10 types of people in the world:
Those who understand binary, and those who don't.

Attachment: pgprJJJBNhmHf.pgp
Description: PGP signature


Reply to: