2.2.3 ΑΛΛΑ ΕΡΓΑΛΕΙΑ ΕΚΚΙΝΗΣΗΣ ΤΩΝ X WINDOWS


Σε αρκετές περιπτώσεις μπορεί σε ορισμένα συστήματα να χρησιμοποιούνται κάποια άλλα προγράμματα της μορφής του x11start, δηλαδή shell scripts, για την εκκίνηση των X Windows. Τα συναντάμε συνήθως με ονόματα όπως x11, xstart ή startx και λειτουργούνε ως interfaces μεταξύ του χρήστη και των προγραμμάτων που ξεκινούν τα X Windows, όπως το xinit. Συνήθως χρησιμοποιούνται για την διευκόλυνση των αρχάριων χρηστών ή για περιπτώσεις που για ξεκινήσουν τα X Windows σε κάποιο σύστημα απαιτούνται καποιες ειδικές, "περίεργες", ρυθμίσεις ή παράμετροι.

Για παράδειγμα, ένα τέτοιο απλό πρόγραμμα - interface είναι το ακόλουθο :

#!/bin/sh
# This is just a sample implementation of a slightly less primitive
# interface than xinit. It looks for user .xinitrc and .xserverrc
# files, then system xinitrc and xserverrc files, else lets xinit choose
# its default. The system xinitrc should probably do things like check
# for .Xresources files and merge them in, startup up a window manager,
# and pop a clock and serveral xterms.

userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/usr/lib/X11/xinit/xinitrc
sysserverrc=/usr/lib/X11/xinit/xserverrc
clientargs=""
serverargs=""

if [ -f $userclientrc ]; then
    clientargs=$userclientrc
else if [ -f $sysclientrc ]; then
    clientargs=$sysclientrc
fi
fi
if [ -f $userserverrc ]; then
    serverargs=$userserverrc
else if [ -f $sysserverrc ]; then
    serverargs=$sysserverrc
fi
fi

whoseargs="client"
while [ "x$1" != "x" ]; do
    case "$1" in
	/''*|\.*) if [ "$whoseargs" = "client" ]; then
		    clientargs="$1"
		else
		    serverargs="$1"
		fi ;;
	--) whoseargs="server" ;;
	*) if [ "$whoseargs" = "client" ]; then
		    clientargs="$clientargs $1"
		else
		    serverargs="$serverargs $1"
		fi ;;
    esac
    shift
done

xinit $clientargs -- $serverargs

kbd_mode -a

[prev] [up] [next] [contents] [index]