2.5.2 H ΧΡΗΣΗ ΤΩΝ ΠΕΛΑΤΩΝ ΤΩΝ X WINDOWS ΜΕΣΩ ΤΟΥ ΔΙΚΤΥΟΥ


Οπως έχει ήδη ειπωθεί ορίζοντας το display που θα χρησιμοποιήσει ένας πελάτης των X Windows ορίζουμε στην πραγματικότητα ποιόν εξυπηρετητή (X Server) θα χρησιμοποιήσει και κατ' επέκταση τον υπολογιστή στον οποίο θα τρέξει. Εξ' ορισμού οι πελάτες τρέχουν στον εξυπηρετητή που ορίζει η μεταβλητή DISPLAY. Χρησιμοποιώντας την παράμετρο -display κατά την εκκίνηση του πελάτη μπορούμε να τον συνδέσουμε σε διαφορετικούς εξυπηρετητές από αυτόν που δουλεύουμε. Ετσι ενώ το πρόγραμμα θα τρέχει στο δικό μας υπολογιστή θα εμφανίζει τα παράθυρά του σε άλλο υπολογιστή και θα επικοινωνεί μέσω αυτού. Προϋποθέσεις να λειτουργήσει το παραπάνω σχήμα είναι τρεις:

Α. Ο άλλος υπολογιστής πρέπει να τρέχει εκείνη τη στιγμή τα X Windows.

Β. Οι δύο υπολογιστές πρέπει να είναι συνδεμένοι σε δίκτυο ώστε να είναι δυνατή η μεταξύ τους επικοινωνία.

Γ. Ο υπολογιστής που τρέχει το πρόγραμμα πρέπει να έχει άδεια πρόσβασης στον υπολογιστή του οποίου ο εξυπηρετητής θα φιλοξενήσει τα παράθυρα του προγράμματος. Με άλλα λόγια ο κάθε εξυπηρετητής έχει την δυνατότητα να επιτρέπει ή οχι στους άλλους υπολογιστές να στέλνουν δεδομένα στην οθόνη που ελέγχει. Ο χρήστης μπορεί να καθορίσει την δυνατότητα πρόσβασης των άλλων υπολογιστών στον εξυπηρετητή που χειρίζεται μέσω της εντολής xhost. Η εντολή xhost συντάσεται ως εξής:

xhost +host : δίνει στον υπολ. host άδεια προσβασης στον εξυπηρετητή xhost -host : αφαιρεί την άδεια πρόσβασης από τον υπολογιστή host Αν για παράδειγμα θεωρήσουμε ότι ο υπολογιστής που δουλεύουμε λέγεται ourhost και είναι συνδεμένος με το υπολογιστή otherhost τότε αν έχουμε άδεια πρόσβασης στον otherhost, δίνοντας στον ourhost την εντολή:

	xclock -display otherhost:0.0 &
τρέχουμε στον υπολογιστή το πρόγραμμα xclock το οποίο θα εμφανίσει ένα ρολόι στην οθόνη του υπολογιστή otherhost. Η άδεια πρόσβασης του υπολογιστή μας, ourhost, στο otherhost εξασφαλίζεται αν εκτελεστεί στον otherhost η εντολή:

	xhost +ourhost
Στο UNIX υπάρχουν επίσης οι εντολες rlogin και rsh. Η rlogin (remote-login) μας επιτρέπει να μπούμε από τον υπολογιστή μας σε ένα άλλο (μακρινό) υπολογιστή αρκεί να έχουμε λογιαριασμό σε αυτόν. Η rsh (remote-shell) μας επιτρέπει να εκτελέσουμε ένα πρόγραμμα σε ένα άλλο υπολογιστή χωρίς να μπούμε σε αυτόν. Χρησιμοποιώντας τις εντολές αυτές μπορούμε να κάνουμε το αντίστροφο με το προηγούμενο παράδειγμα, δηλαδή να τρέξουμε ένα πελάτη των X Windows σε ένα άλλο υπολογιστή και να εμφανίσουμε το παράθυρό του στην δική μας οθόνη απ' όπου και θα το χειριστούμε. Με τον τρόπο αυτό δεν είναι ανάγκη να έχει ο δικός μας υπολογιστής το πρόγραμμα που θέλουμε, αν υπάρχει σε κάποιο άλλο υπολογιστή του δικτύου στο οποίο έχουμε λογαριασμό μπορούμε να το τρέξουμε σε εκείνο και να το δούμε στη δική μας οθόνη.

Αν θεωρήσουμε πάλι τους δύο υπολογιστές ourhost και otherhost δίνοντας:

	rlogin otherhost
	xpic -display ourhost:0.0 &
ή
	rsh otherhost -n /usr/bin/X11/xpic -disp ourhost:0.0&
τρέχουμε το πρόγραμμα xpic στον υπολογιστή otherhost αλλά το παράθυρό του εμφανίζεται στον δικό μας υπολογιστή (ourhost). Πρέπει να προσέχουμε όταν χρησιμοποιούμε την εντολή rsh να δίνουμε το όνομα του προγράμματος μαζί με ολόκληρο το μονοπάτι του για να μπορέσει να το βρεί η rsh. Αυτό συμβαίνει γιατί όταν χρησιμοποιούμε την εντολή rsh δεν μπαίνουμε κανονικά στον άλλο υπολογιστή και τα αρχεία .login ή .cshrc που περιέχουν τον ορισμό της μεταβλητής path δεν εκτελούνται.

Πρέπει να σημειωθεί ότι σε καμία από τις περιπτώσεις που ένας πελάτης των X Windows τρέχει σε ένα μηχάνημα και εμφανίζει τα παράθυρά του σε άλλο δεν είναι ανάγκη τα δύο μηχανήμα να είναι της ίδιας αρχιτεκτονικής. Μπορούν να είναι εντελώς διαφορετικοί υπολογιστές, διαφορετικών εταιρειών. Αυτό που τους συνδέει και επιτρέπει την συνεργασία μεταξύ τους είναι το κοινό πρωτόκολλο επικοινωνίας, τα X Windows.


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