2.2.1 ΤΟ ΠΡΟΓΡΑΜΜΑ XINIT


Το xinit είναι το πρόγραμμμα που χρησιμοποιείται για την εκκίνηση του εξυπηρετητή (Xserver) του X Window System μαζί με το πρώτο τους πρόγραμμα-πελάτη, το οποίο είναι συνήθως ένα παράθυρο-τερματικό (terminal emulator). Oσο τρέχει το πρόγραμμα αυτό θα λειτουργεί και ο εξυπηρετητής. Με την έξοδο του προγράμματος θα κλείσουν και τα X Windows. Το xinit βρίσκεται όπως και τα υπόλοιπα προγράμματα των X Windows στο directory /usr/bin/X11.

Η σύνταξη του xinit ειναι η εξής:

	xinit [[client] client-options [-- [server] [display] server-options]]
όπου client είναι το πρόγραμμα-πελάτης των X Windows που θα πρέπει να τρέξει πρώτο ο εξυπηρετητής. Ακολουθούν οι παράμετροι (client-options) που θέλουμε το xinit να περάσει στο πρόγραμμα. Αν δεν ορίσουμε κάποιο συγκεκριμένο πελάτη το xinit θα κοιτάξει στο home directory του χρήστη για το αρχείο .xinitrc και θα το τρέξει. Το .xinitrc είναι ένα shell script, δηλαδή ένα αρχείο που περιέχει μία σειρά από εντολές του shell. Ειδικότερα περιέχει τα προγράμματα πελάτες που ο χρήστης θέλει να τρέχουν εξ αρχής κάθε φορά που ξεκινά τα X Windows. Τα προγράμματα αυτά θα πρέπει να τρέχουν στο background, δηλαδή να αποδεσμεύονται αμέσως από το shell, έτσι ώστε να μην εμποδίζουν τα προγράμματα που ακολουθούν να ξεκινήσουν. Το τελευταίο όμως πρόγραμμα στο αρχείο .xinitrc δεν θα πρέπει να τρέξει στο background έτσι ώστε να εμποδίσει το .xinitrc να τερματίσει. Και αυτό γιατί ο τερματισμός της εκτέλεσης του αρχείου .xinitrc είναι και το σήμα για τα X Windows να σταματήσουν και αυτά. Το πρόγραμμα που μπαίνει συνήθως στο τέλος του .xinitrc είναι ο διαχειριστής των παραθύρων (window manager) ή κάποιο παράθυρο τερματικό (xterm). Σημειώνουμε ότι για να τρέξει ένα πρόγραμμα στο background θέτουμε στο τέλος της γραμμής εισαγωγής (μετά το όνομα του προγράμματος και τις παραμέτρους του) το σύμβολο "&", π.χ:

	xterm -display icaros:0.0 &
Το αρχείο .xinitrc δίνει την δυνατότητα στο χρήστη να καθορίσει, ανάλογα με τις ανάγκες, πως θα πρέπει να είναι τα X Windows όταν ξεκινούν και τον διευκολύνει εκτελώντας αυτομάτα μία συγκεκριμένη ακολουθία εντολών κάθε φορά. Για παράδειγμα το xinitrc μπορεί να έχει την μορφή:

   # το πρόγραμμα xrdb ξεκινά, κάνει την δουλεία του και στην συνέχεια
   # σταματά,οπότε και δεν ενοχλεί τα προγράμματα που ακολουθούν. 
   xrdb .Xdefaults
   # τα προγράμματα xsetroot,xclock,xload και xterm όμως ξεκινούν και
   # μένουν στην οθόνη των X Windows ώσπου να τα σταματήσει ο χρήστης
   # γι' αυτό και τα τρέχουμε με το σύμβολο "&" στο τελος. 
   xsetroot -solid gray &
   xclock -geometry 50x50 -0 +0 -bw 0 &
   xload -geometry 50x50 -0 +0 -bw 0 &
   # ξεκινούμε και δύο παράθυρα τερματικά για να εισάγουμε τις εντολές μας 
   xterm -geometry 80x24 -0 +0 -n Console &
   xterm -geometry 80x24 -0 +0 -n Working_Window &
   # τέλος ξεκινάμε και τον διαχειριστή των παραθύρων (twm) χωρίς όμως το
   # σύμβολο "&". 'Eτσι για να τερματίσουμε το .xinitrc και κατ' επέκταση να
   # βγούμε από τα X Windows θα πρέπει να σταματήσουμε τον twm. 
   twm
Σε περίπτωση που δεν υπάρχει το αρχείο .xinitrc το xinit εξ ορισμού θα ξεκινήσει ένα παράθυρο τερματικό (xterm) με την ακόλουθη σύνταξη:

	xterm -geometry +1 +1 -n login -display :0
Ο χρήστης για να τερματίσει τα X Windows θα πρέπει να σταματήσει το παράθυρο τερματικό δίνοντας την εντολή "exit".

Στη σύνταξη του xinit μετά το πρόγραμμα πελάτη (client) και τις παραμέτρους του (client-options) ακολουθούν δύο παύλες (--) και το όνομα του προγράμματος εξυπηρετητή (server) των X Windows. Ακολουθεί, προαιρετικά, το display στο οποίο θα ξεκινήσει ο εξυπηρετητής και οι παράμετροι του. Σε περίπτωση που ο χρήστης δεν ορίσει το όνομα του εξυπηρετητή το xinit θα κοιτάξει πάλι στο home directory του χρήστη για το αρχείο με το όνομα .xserverrc ,το οποίο όπως και το .xinitrc είναι ένα shell script, και θα το εκτελέσει. Το αρχείο .xserverrc ξεκινά τον εξυπηρετητή και εκτελεί αν χρειάζεται και κάποιες άλλες σχετικές εντολές. Σε αντίθεση με το αρχείο .xinitrc το .xserverrc δεν ενδείκνυται για πειραματισμούς και μετατροπές,όπως άλλωστε και ό,τι άλλο έχει σχέση με τον εξυπηρετητή (server). Τέλος, αν το xinit δεν βρεί ούτε το αρχείο .xserverrc θα χρησιμοποιήσει εξ ορισμού τον εξυπηρετητή με την ακολουθη σύνταξη:

	X :0
Η πιο απλή, και συνηθισμένη περίπτωση, είναι να έχουμε στο home directory μας το δικό μας αρχείο .xinitrc - και το .xserverrc αν μας έχει δοθεί - και να τρέχουμε το xinit χωρίς ορίσματα, απλώς με το όνομά του:

	xinit

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