6.3 xinitrc

Το xinit(1) είναι το πρόγραμμα που πραγματικά ξεκινά το X, καλείται από το startx(1), αλλά μπορεί να μην το έχετε προσέξει (και το πιθανότερο είναι ότι δεν θα χρειαστεί). Είναι ένα αρχείο διαμόρφωσης, όμως, καθορίζει ποια προγράμματα (ειδικά συμπεριλαμβανομένου του διαχειριστή παραθύρων) θα τρέχουν όταν θα εκκινεί ο X. To xinitrc πρώτα ελέγχει τον προσωπικό φάκελο (home) για να βρει εάν υπάρχει κάποιο αρχείο .xinitrc. Εάν το αρχείο βρεθεί, θα εκκινήσει από αυτό, αλλιώς, θα χρησιμοποιηθεί το /var/X11R6/lib/xinit/xinitrc (το προκαθορισμένο από το σύστημα). Ένα παράδειγμα ενός απλού xinitrc αρχείο είναι αυτο:


#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi

# start some nice programs

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

Όλες αυτές οι δομές “if” υπάρχουν για να συγχωνεύουν διάφορες ρυθμίσεις διαμόρφωσης από άλλα αρχεία. Το ενδιαφέρον τμήμα από το αρχείο είναι πριν το τέλος όπου εκτελούνται διάφορα προγράμματα. Αυτή η σύνοδος X (X Session) θα ξεκινήσει με τον διαχειριστή παραθύρων twm(1), ένα ρολόι και τρία τερματικά. Προσέξτε το exec πριν το τελευταίο xterm. Αυτό που κάνει είναι να αντικαθιστά τον φλοιό που τρέχει εκείνη τη στιγμή (εκείνον που εκτελεί αυτό το xinitrc αρχείο) με αυτή την εντολή xterm(1). Όταν ο χρήστης θα τερματίσει αυτό το xterm, η σύνοδος X θα τελειώσει.

Για να αλλάξετε την εκκίνηση του X, αντιγράψτε το προκαθορισμένο /var/X11R6/lib/xinit/xinitrc στο ~/.xinitrc και επεξεργασθείτε το, αλλάζοντας αυτές τις γραμμές κώδικα με ότι θέλετε. Το δικό μου τελικό είναι απλό:


# Start the window manager:
exec startkde

Σημειώστε ότι υπάρχουν πολλά αρχεία xinitrc.* μέσα στο /var/X11R6/lib/xinit που αντιστοιχούν σε διάφορους διαχειριστές παραθύρων και γραφικών περιβάλλοντων (GUI). Μπορείτε να χρησιμοποιήσετε οποιοδήποτε από αυτά, εάν θέλετε.