Konfiguration der Benutzerumgebung

Die Benutzerumgebung, die man beim Start einer Sitzung auf einer UNIX-Workstation erhält, ist weitgehend durch den Benutzer konfigurierbar. Falls der Benutzer keine eigenen Maßnahmen ergreift, erhält er die System-"Defaults" (Voreinstellungen).

Unterscheiden kann man zwischen der Konfiguration der Shell (also des Kommando-Interpretierers, CLI = Command Line Interpreter), des Terminals und - bei graphischen Benutzeroberflächen (GUI = Graphical User Interface, z.B. X Window) - des Window-Managers sowie des Erscheinungsbildes der X-Applikationen (Clients) über Resources.

Der Login-Prozeß

Beim login werden einige Umgebungsvariablen gesetzt (PATH, LOGNAME, IFS, MAIL, CDPATH, HOME, SHELL), sodann werden die für die (in der passwd-Datei angegebene) Login-Shell (z.B. tcsh, csh, ksh, sh) spezifischen Initialisierungen durchgeführt. (Einige Meldungen wie "motd" oder "lastlog" werden ggf. unterdrückt, wenn die Datei $HOME/.hushlogin existiert.)

tcsh (erweiterte C-Shell)

Initialisierungen erfolgen in der Reihenfolge:
/etc/csh.cshrc
/etc/csh.login
$HOME/.tcshrc oder
$HOME/.cshrc
$HOME/.login
(Hinweis: ".login" wird nur durchgeführt, wenn es sich um eine Login-Shell handelt, während ".cshrc" beim Öffnen jeder neuen C-Shell abläuft. Prinzipiell kann die tcsh auch so konfiguriert werden, daß ".login" vor ".cshrc" abläuft. Bei manchen Installationen gilt "/etc/cshrc" anstelle von "/etc/csh.cshrc".)
Logout:
/etc/csh.logout
$HOME/.logout

Hinweis: Beim Einrichten neuer Accounts werden hier die Dateien .cshrc, .login und .profile aus dem Verzeichnis /user/defaults in die HOME-Verzeichnisse der Benutzer kopiert.

csh (C-Shell)

Initialisierungen erfolgen in der Reihenfolge:
/etc/cshrc
$HOME/.cshrc
$HOME/.login
(Hinweis: ".login" wird nur durchgeführt, wenn es sich um eine Login-Shell handelt, während ".cshrc" beim Öffnen jeder neuen C-Shell abläuft.)
Logout:
$HOME/.logout

ksh (Korn Shell)

Initialisierungen erfolgen in der Reihenfolge:
/etc/profile
$HOME/.profile

sh (Bourne Shell)

Initialisierungen erfolgen in der Reihenfolge:
/etc/profile
$HOME/.profile

bash (GNU Bourne-Again Shell)

(hier nicht implementiert) - Initialisierungsdateien sind /etc/profile, $HOME/.bash_profile und ggf. $HOME/.bashrc.

X Window: Login über xdm

Der X Display Manager (xdm) startet einen login-Prozeß. (Die Konfiguration von xdm ist in /usr/lib/X11/xdm/xdm-config angegeben.) Die Benutzervalidierung kann per Tastatur oder graphisch über Icons erfolgen (pandora). Die Initialisierung der Shells erfolgt wie im voranstehenden Abschnitt beschrieben; bei einem xterm erfolgt eine Initialisierung als Login-Shell allerdings nur, wenn die Option "-ls" gesetzt wird.

Nach erfolgreicher Benutzer-Validierung wird über /usr/lib/X11/xdm/Xsession (an der Konsole) bzw. /usr/lib/X11/xdm/Xsession-remote (an einem X Terminal) das X Window System und ein Window-Manager (4Dwm, mwm, twm oder uwm) gestartet. Nähere Informationen dazu finden sich im folgenden Abschnitt.

Konfiguration des X Window Systems

Eine (englische) Kurzbeschreibung mit "frequently asked questions" findet man hier. Sofern mit xdm gearbeitet wird, kann ein Benutzer mit Hilfe des Shell Scripts $HOME/.xsession die Konfiguration (einschließlich des Window Managers) festlegen; im Falle von xinit ist hingegen das Shell Script $HOME/.xinitrc relevant. (Hinweis: Das .xsession-Script erbt im Gegensatz zu .xinitrc nicht das Login-Shell Environment.)

Resources

Resources kontrollieren das Erscheinungsbild der X-Applikationen (Clients), wie z.B. Geometrie, Farben und Fonts. Es gibt vielfältige Möglichkeiten, sie zu modifizieren. Systemweite Einstellungen für die Clients findet man im Verzeichnis
/usr/lib/X11/app-defaults
Beispielsweise kontrolliert die Datei "XTerm" (also /usr/lib/X11/app-defaults/XTerm) das Erscheinungsbild eines "xterm". Ein typischer Eintrag sieht folgendermaßen aus:
XTerm*background: cadetblue
Vor dem Doppelpunkt steht der Name der Variable, die eine bestimmte Eigenschaft beschreibt; dabei ersetzt das Sternchen (*) eine oder mehrere Komponenten des Variablennamens. (Diese Komponenten werden durch Punkte getrennt, z.B. XTerm.VT100.background.) Hinter dem Doppelpunkt steht der Wert (Text oder Zahl), der der Variablen zugewiesen wird.

Die erste Komponente des Variablennamens ist der Name des Clients. Dieser kann entweder ein Klassenname (class name) oder ein individueller Name (instance name) sein. Ein Klassenname (hier "XTerm") fängt üblicherweise mit ein oder zwei Großbuchstaben an. Ein Aufruf von "xterm" nutzt die Resourcen mit "XTerm" oder "xterm", ein individualisierter Aufruf wie "xterm -name console" hingegen solche mit dem Namen "console" (mit geringerer Priorität auch "XTerm", aber nicht "xterm").

Der Benutzer kann jeweils individuelle "application defaults" setzen, sofern eine Umgebungsvariable (XAPPLRESDIR, XFILESEARCHPATH, XUSERFILESEARCHPATH) auf ein entsprechendes Verzeichnis zeigt. Anstelle der Verwendung solcher individueller Dateien empfiehlt es sich im allgemeinen, eine Datei $HOME/.Xdefaults anzulegen, in der die Modifikationen der Resources aller Clients zusammengefaßt sind.

Resource-Dateien:

$HOME/.Xdefaults
Diese Datei wird bei jedem Start eines Clients konsultiert, sofern nicht mit xrdb gearbeitet wird.
$HOME/.Xresources
Falls diese Datei (hier) existiert, werden ihre Resources beim Start des X Servers (über Xsession) von diesem geladen:
xrdb -load -quiet $HOME/.Xresources

Alternativ kann über ein Shell Script $HOME/.xsession mittels xrdb eine Resource-Datei geladen werden.
Hinweis: xrdb prozessiert die Resource-Datei zunächst über den C-Präprozessor.

Wichtige Konfigurationsdateien im HOME-Verzeichnis

Hinweis: kommentierte Beispieldateien findet man im Verzeichnis ~tutor/Customize.
.xsession
Shell-Script, das - falls vorhanden - die gesamte Konfiguration des X Window Systems vornimmt. Es löst also die systemweite Default-Konfiguration ab. (Im allgemeinen empfiehlt es sich hier, statt dessen mit .sgisession zu arbeiten.)
.Xresources
Resource-Datei, die - falls vorhanden - vom systemweiten "Xsession" über xrdb geladen wird.
.Xdefaults
Default-Resource-Datei. Falls nicht mit xrdb gearbeitet wird, wird sie bei jedem Start eines Clients konsultiert.
.sgisession
Shell-Script, das ggf. weitere Konfigurationen vornimmt bzw. Clients startet.
.4Dwmrc
Konfiguration (Menü, Knöpfe, Tastenbelegung) des Window Managers 4Dwm. Die Default-Konfiguration erfolgt in /usr/lib/X11/system.4Dwmrc
.mwmrc
Konfiguration (Menü, Knöpfe, Tastenbelegung) des Window Managers mwm. Die Default-Konfiguration erfolgt in /usr/lib/X11/system.mwmrc
.chestrc
Konfiguration des Toolchest. Die Default-Konfiguration erfolgt in /usr/lib/X11/system.chestrc
Hinweis: Es ist (je nach verwendeter Version des Betriebssystems) sinnvoller, statt dessen die Datei ~/.toolchestrc (Irix 4, überschreibt die Systemkonfiguration) bzw. ~/.auxchestrc (Irix 5, ergänzt die Systemkonfiguration) zu verwenden. Siehe hierzu die ausführlichere Erläuterung.

Hilfen zur Konfiguration

Farben:
Toolchest - Tools Customization Color Names
colorview, Liste: showrgb
Fonts:
Toolchest - Tools Customization Font Names
xfontsel, Liste: xlsfonts
Fenster (Windows):
xwininfo, xprop
Hinweis zur Geometrie-Angabe (-geometry X0xY0+XOFFSET+YOFFSET):
Die Angabe der Geometrie (Größe und Lage) erfolgt in Pixeln (Größe eines xterm: SpaltenxZeilen). Positive Offsets zählen von der linken oberen Bildschirmecke, negative vom rechten bzw. unteren Rand. Beispiele:
xterm -geometry 80x24+0+0 (links oben)
xterm -geometry 80x24-0+0 (rechts oben)
xterm -geometry 80x24+0-0 (links unten)
xterm -geometry 80x24-0-0 (rechts unten)
Display:
xdpyinfo

Umlaute

Nützliche Hinweise bezüglich diverser Probleme mit deutschen Umlauten findet man in der ISO 8859-1 National Character Set FAQ.


Burkhard Kirste, 1994/10/01