Γνωριμία με το GNOME
Βαγγέλης Παπαδογιαννάκης papas@hellug.gr
Δεκέμβριος 1998
Όσο περνάει ο καιρός, το Linux κερδίζει μεγαλύτερο
κομμάτι της πίτας των λειτουργικών συστημάτων. Η εποχή
μάλιστα που διανύουμε, μπορεί να χαρακτηριστεί ως "Η χρυσή
εποχή του Linux". Όλοι μιλάνε και όλοι γράφουν για αυτό.
Μεγάλες εταιρίες όπως οι ORACLE, IBM, NETSCAPE, COREL
τείνουν να αγκαλιάσουν το Linux, γιατί (αν μη τι άλλο)
βλέπουν μια νέα αγορά. Αλλά παρόλα αυτά, μια ομάδα από 30
άτομα, δουλεύουν για μας, ώστε να έχουμε ένα γραφικό
περιβάλλων εργασίας (Graphical User Interface, GUI)
ΚΑΙ ΕΓΕΝΗΘΗΤΟ GNOME (GNU Network Object Model Interafce)
Ο σκοπός δεν είναι άλλος από τη δημιουργία ενός GUI που
θα είναι εύχρηστο, σταθερό, και αρκετά όμορφο. Και,
ευτυχώς για εμάς, η στιγμή αυτή πλησιάζει. Και αν αυτός
είναι ο σκοπός, η ελπίδα είναι να δημιουργηθεί ένα
διαπλατφορμικό GUI, τόσο για το Linux, αλλά και για τις
άλλες μορφές του Unix, το οποίο θα προσφέρει στους
δημιουργούς προγραμμάτων ένα ``έξυπνο'' μέσο εργασίας,
όμορφο και εύκολο στη χρήση και την κατανόηση του από
τους απλούς χρήστες.
Παρόλο που ένα τέτοιο διαπλατφορμικό GUI (αν και GUI δεν
είναι η σωστή λέξη, Interface θα ήταν η σωστότερη) έχει
δημιουργηθεί στο παρελθόν (OSF MOTIF) και δεν είχε τελικά
την επιτυχία που όλοι θα θέλαμε, ίσως γιατί οι ανάγκες
και η εξάπλωση νέων τεχνολογιών ήταν σφοδρή, είτε γιατί η
εγκατεστημένη βάση Linux ήταν πολύ μικρή, το GNOME θέλει
να τα καταφέρει, και σε πολλά σημεία αντιγράφει (στο
look, όχι στα crashes) τα ακατονόμαστα. Το αποτέλεσμα
είναι ένα περιβάλλον εργασίας που δεν έχει τίποτα να
ζηλέψει από τα ακατονόμαστα, και φυσικά παρέχει όλη την
ελευθερία και τη σταθερότητα του Linux σε συνδυασμό με
τον ελεύθερο κώδικα. Σε κάτι βασικό, όμως, διαφέρει από
τα γουίντοους, και αυτό είναι το CORBA (Common Object
Request Broken Architecture) για το οποίο θα μιλήσουμε
αργότερα. Για να πάρετε μονάχα μια ιδέα, σας πληροφορώ
ότι κάτι τέτοιο θα επιτρέπει την αστραπιαία δημιουργία
προγραμμάτων, καθώς θα χρησιμοποιεί τις ικανότητες ενός
προγράμματος για να δημιουργήσει ένα άλλο πρόγραμμα,
υπερσύνολο σε δυνατότητες του πρώτου.
Όπως είπαμε, μια ομάδα από 30 άτομα δουλεύει στον πυρήνα
του νέου GUI, ο οποίος είναι αρκετά διαδεδομένος αυτή τη
στιγμή που σας γράφω όλα αυτά, και υπάρχουν τουλάχιστον
2000 άτομα που δοκιμάζουν καθημερινά το GNOME και το κατά
πόσο είναι σε θέση να προσφέρει όσα υπόσχεται. Είναι
-όπως θα περιμένατε - βασισμένο σε ελεύθερο κώδικα, αλλά
όχι υπό τη μορφή των βιβλιοθηκών της TROLL, (QT
libraries) όπου δεν μπορείς να δημιουργήσεις ένα
πρόγραμμα που προορίζεται για το εμπόριο. Βασίζεται
αποκλειστικά στο GIMP Toolkit (Τις βιβλιοθήκες που
χρησιμοποιεί το GIMP) για τη δημιουργία εφαρμογών για τα
Χ Windows.
Μεγάλοι Distributors του Linux (Red Hat, Debian) έχουν
ανακοινώσει ότι στις μελλοντικές τους distributions θα
συμπεριλάβουν το GNOME σαν το βασικό τους περιβάλλον
εργασίας. Και όχι μόνο αυτό, αλλά μέσα στη Red Hat έχει
δημιουργηθεί μια ομάδα εργασίας, η RHAD Labs, ένα μέρος
της οποίας έχει επικεντρώσει την προσοχή της (και μιλάμε
τώρα ότι δουλεύουν full time, όχι στον ελεύθερό τους
χρόνο) στην ανάπτυξη του GNOME και άλλων μορφών ελεύθερου
λογισμικού, όπως του GTK+ (είπαμε, το Gimp Toolkit).
Πολλά είπα, και μάλλον δεν ανάφερα το βασικότερο! Το
Gnome, σε καμία περίπτωση δεν είναι ένας Window Manager.
Είναι ένα περιβάλλον εργασίας (νομίζετε ότι είναι πολύ
λεπτή η διαχωριστική γραμμή; Μέγα λάθος!). Window Manager
είναι ένα πρόγραμμα που κάθεται πάνω στα X και προσφέρει
στο χρήστη τον τρόπο που θα εικονίζονται τα desktops, τα
παράθυρα, πως θα είναι ο δείκτης του ποντικιού, κοκ.
Περιβάλλον εργασίας είναι ο τρόπος που φαίνονται τα
κουμπιά, τα βελάκια στις ράβδους κύλισης, τα μενού, οι
μπάρες, και όλα τα χαρακτηριστικά που απαρτίζουν τα
όμορφα παραθυράκια. Και δεν είναι μόνο αυτό, είναι και ο
τρόπος που θα αντιδράσει το κουμπί αν απλά περάσετε το
ποντίκι από πάνω του, αν σύρετε και αφήσετε πάνω του ένα
αντικείμενο και γενικότερα χίλια δυο πράγματα αδιαφανή
για το χρήστη. Πράγματα χωρίς τα οποία δεν θα γινόντουσαν
τα πιο απλά πράγματα.
Το GNOME λοιπόν, μπορεί να τρέξει πάνω από οποιονδήποτε
WM, αλλά καλά θα ήταν ο WM αυτός να ξέρει για το GNOME.
Με αυτό τον τρόπο θα μπορεί να επικοινωνήσει με το GNOME
και το αποτέλεσμα της συνεργασίας τους να είναι το
καλύτερο για το χρήστη.
Βιβλιοθήκες στις οποίες είναι βασισμένο το GNOME
-
GTK: Είπαμε τι είναι αυτό, αλλά μην νομίζετε ότι το
επιλέχθηκε στην τύχη. Πολλά από τα χαρακτηριστικά του
είναι ιδανικά για το σκοπό που επιλέχτηκε, και ορίστε
μερικά:
-
Υποστήριξη για πολλές γλώσσες προγραμματισμού (C,
C++, OBJ C, PERL)
-
Εύκολη αλλαγή του τρόπου απεικόνισης, με λίγα λόγια
μπορούμε να χρησιμοποιήσουμε διάφορα themes για να
αλλάξουμε το look and feel όλων των εφαρμογών που
χρησιμοποιούν το GTK.
-
Είναι εντελώς ελεύθερο λογισμικό.
-
IMLIB: Είναι μία βιβλιοθήκη για διάφορα είδη εικόνων,
όπως xpm, png, jpg, και πολλά άλλα, που καταργεί την
ανάγκη ύπαρξης διαφορετικής βιβλιοθήκης για κάθε
διαφορετική μορφή εικόνας.
-
Mesa: Είναι μια βιβλιοθήκη που επιτρέπει την εμφάνιση
και δημιουργία τρισδιάστατων γραφικών στη γλώσσα
OpenGL. Είναι και αυτή ελεύθερη όσον αφορά στον κώδικα
και τη χρήση αυτού.
Θα πρέπει να αναφέρω και μερικά από τα ``άγνωστα''
χαρακτηριστικά του GNOME που χρήζουν αναφοράς:
-
Όλες οι εφαρμογές που βασίζονται στο GNOME είναι ικανές
να φυλάξουν την κατάσταση πριν από το κλείσιμο (δεν
νομίζω να το μετάφερα καλά στην Ελληνική, αλλά δεν
μπορούσα να βρω καλύτερη έκφραση. Η ξένη ορολογία είναι
``session aware''). Κάτι τέτοιο σημαίνει ότι αν
κλείσετε τον επεξεργαστή κειμένου σας ενώ γράφετε ένα
κείμενο, και μετά τον ανοίξετε ξανά, θα φορτωθεί το
ίδιο κείμενο, και όχι μόνο αυτό, αλλά θα εμφανιστούν οι
ίδιες toolbars που είχατε ανοιχτές, και μάλιστα ο
δρομέας θα πάει στο ίδιο σημείο που ήταν πριν από το
κλείσιμο. Καλό;;
-
Τα κείμενα το GNOME βασίζονται στην SGML, κάτι το οποίο
επιτρέπει να γραφούν κείμενα σε ένα editor και να
μετατραπούν σε HTML, LaTeX, Postscript κατά βούληση και
να εκτυπωθούν.
-
Το GNOME υποστηρίζει 3D προγραμματισμό μέσω της OpenGL,
κάτι που μας επιτρέπει να χρησιμοποιούμε τρισδιάστατα
γραφικά μέσα στις εφαρμογές μας. Η βιβλιοθήκη που
χρησιμοποιεί το GNΟME είναι η Mesa, μια υλοποίηση της
OpenGL με ελεύθερο κώδικα.
-
Οι επικεφαλείς της δημιουργίας του GNOME, δουλεύουν για
να δημιουργήσουν ένα μοντέλο αντικειμένων, το baboon,
το οποίο δεν είναι τίποτα άλλο από μια διασύνδεση
ανάμεσα στις εφαρμογές (κάτι ανάλογο με το Object
Linking and Embedding (OLE) της Μ$.
Αλλά ας δούμε επιτέλους τι είναι αυτό το CORBA που λέμε
από την αρχή του κειμένου. CORBA είναι ένα interface για
τη διασύνδεση προγραμμάτων. Θα μου πείτε: ``Αυτό είναι
όλο και όλο; Σιγά τα ωά!!''. Ακούστε όμως και τη
συνέχεια. CORBA, λοιπόν, είναι ένα interface για τη
διασύνδεση προγραμμάτων που είναι γραμμένα σε
διαφορετικές γλώσσες, που τρέχουν σε διαφορετικούς
υπολογιστές, οι οποίοι δουλεύουν σε διαφορετικά
λειτουργικά και οι οποίοι είναι συνδεμένοι μεταξύ τους με
ένα οποιοδήποτε τρόπο. Πως σας φάνηκε; Καλό;
Και λοιπόν καλά όλα αυτά, αλλά που βρίσκονται; Η κεντρική
σελίδα του GNOME βρίσκεται στη διεύθυνση
http://www.gnome.org,
από όπου μπορείτε να βρείτε βοήθεια, να κατεβάσετε το
GNOME, και να δείτε τα προγραμματάκια που έχουν βασιστεί
σε αυτό. Υπάρχει το software map για το GNOME και
βρίσκεται εδώ:
http://www.gnome.org/applist.
Α, και μην ξεχάσετε να διαβάσετε το GNOME MANIFESTO στη
διεύθυνση:
http://www.gnome.org/about/manifesto.shtml
Ένα φοβερό screenshot μπορείτε να δείτε εδώ:
http://www.gnome.org/screenshots/gnome-apps.jpg
Φυσικά, μην ξεχάσετε να περάσετε από το
http://www.gtk.org
από όπου θα βρείτε την τελευταία έκδοση του GTK,
πληροφορίες για αυτό, και χρήσιμα links. Όταν δείτε πόσα
πολλά προγράμματα έχουν γραφτεί για το GTK θα
εκπλαγείτε!!
papas@hellug.gr