BETA

Ο Wayland και τα μυστήρια

Εικόνα Soulrain

Ένα από τα, ιστορικά θα λέγαμε, χαρακτηριστικά μερίδας των ανθρώπων που ασχολούνται με το Linux, είναι η άκρατη συνωμοσιολογία. Πόσες φορές δεν έχει γίνει λόγος για τεχνολογίες που προωθούνται από «σκοτεινά κέντρα» (την τιμητική της εδώ έχει μια άλλη εταιρεία, που εδρεύει στο Raleigh), τα οποία έχουν «δόλιους σκοπούς» κι επιθυμούν «να ικανοποιήσουν τα δικά τους συμφέροντα»; Τι κι αν πρόκειται για ανοιχτό κώδικα και διάφανες διαδικασίες ανάπτυξης; Εκείνοι δε βλέπουν πέρα από την πραγματικότητα που κατασκεύασαν στο κεφάλι τους.

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

    αφού δεν έχει πρόβλημα το Α, γιατί να το πειράξουμε;

    μια χαρά δουλεύει το Β, δεν υπάρχει λόγος να φτιάξουμε κάτι άλλο​

    εγώ κάνω τη δουλειά μου με το Γ, τι θέλουν τώρα και με ταλαιπωρούν με το Δ;

Κοινώς, δηλώνεται η επιθυμία να παραμείνουν τα πράγματα ως έχουν και να μην αλλάξουν, επειδή ο καθένας κρίνει με βάση το μικρόκοσμό του. Είναι στην ανθρώπινη φύση βέβαια και δε μπορούμε να πούμε κάτι επ’ αυτού. Αναλογιστείτε όμως πόσο διαφορετικός θα ήταν ο κόσμος αν αυτά αποτελούσαν κοινή λογική. Για παράδειγμα, γιατί να έχουμε αυτοκίνητα σήμερα, αφού μπορούσαμε να μετακινούμαστε με τις άμαξες; Φαντάζει εύλογο το ερώτημα αλλά δεν έχει λογική, διότι αγνοεί ένα σωρό παράγοντες.

Επίσης, πολλές φορές το Α έχει υπαρκτό πρόβλημα και το Β δε δουλεύει «μια χαρά». Ενίοτε το αναφέρουν οι ίδιοι οι δημιουργοί τους, γεγονός που θα έπρεπε να ακυρώνει κάθε διαφορετική άποψη. Το ότι δεν έτυχε σε εμάς προσωπικά το πρόβλημα ή ίσως δεν έχουμε τις γνώσεις για να το εντοπίσουμε, δεν το κάνει ανύπαρκτο. Απλά, συνήθως ο χρήστης δεν ενδιαφέρεται να ενημερωθεί, με αποτέλεσμα να βασίζεται σε αυτά που γνωρίζει, τα οποία είναι ελλιπή ή ακόμα και ανυπόστατα.

Όταν λοιπόν επέρχεται μια τεχνολογική εξέλιξη, ιδιαίτερα αν τυγχάνει να είναι και μεγάλης κλίμακας, οι ως άνω υποομάδες κάνουν αισθητή την εμφάνισή τους και η κατάσταση γίνεται άσχημη. Το ακόμα πιο στενάχωρο είναι ότι άτομα τα οποία με τον έναν ή τον άλλο τρόπο ασχολούνται με την ενημέρωση γύρω από αυτά τα θέματα, δε φροντίζουν να έχουν επαρκή πληροφόρηση και συμβάλλουν, άθελά τους, στη διατήρηση μιας τέτοιας κατάστασης.

Από αυτά δε θα μπορούσε να ξεφύγει ούτε ο Wayland. Εξέλιξη της σχετικής τεχνολογίας αποτελεί, εκτεταμένη θα είναι σίγουρα και θα «ξεβολέψει» κόσμο. Παραδόξως, στην περίπτωσή του δεν είναι και τόσο μεγάλη η φημολογία ως προς τα κίνητρα της δημιουργίας του. Μάλλον επειδή δε βοηθάει σε αυτό η ταυτότητα των δημιουργών του. Δυστυχώς όμως, εξακολουθεί να υπάρχει άγνοια γύρω από το όλο θέμα.

Και κάπου εδώ ξεκινάει η δική μας προσπάθεια ενημέρωσης ή καλύτερα αποκατάστασης της αλήθειας σε κάποιες πολύ συγκεκριμένες περιπτώσεις. Για να έχει σασπένς, θα το πάμε ανάποδα και θα πούμε πρώτα τι δεν είναι και τι δε θα κάνει ο Wayland. Επιγραμματικά, γιατί όλα θα εξηγηθούν παρακάτω.

 

Ο Wayland, φίλοι και φίλες:

    Δεν είναι display server, κι ας αναφέρεται συχνά έτσι.

    Δεν είναι compositor.

    Δεν είναι drop-in replacement του X server.

    Δεν είναι μεταγενέστερο στάδιο ή fork του X server.

    Δε θα έχει ένα προς ένα τα χαρακτηριστικά του X server.

    Δεν είναι μια αχρείαστη τεχνολογία.

    Δε σχεδιάστηκε για να στηρίξει ή/και να προωθήσει κάποιο «προϊόν», όπως ας πούμε ένα περιβάλλον εργασίας.

 

Όλα ή μερικά από τα παραπάνω πιστεύει πολύς κόσμος ότι είναι ο Wayland, για αυτό και δημιουργείται σύγχυση. Ολίγον τι παράλογο, γιατί οι δημιουργοί του (και όχι μόνο) έχουν κάνει αναλυτικότατες παρουσιάσεις κι έχουν δώσει εξηγήσεις επί εξηγήσεων. Όπως είπαμε όμως, η ενημέρωση δεν είναι κάτι μαγικό. Χρειάζεται να την αναζητήσει ενεργά κάποιος.

 

Πάμε αμέσως να δούμε τι είναι όντως ο Wayland και τι στο καλό κάνει:

    Είναι display (server) protocol. Σε απλή γλώσσα, είναι μια σειρά οδηγιών και κατευθυντήριων γραμμών για το πώς θα γίνεται η σχεδίαση των γραφικών διεπαφών επί της οθόνης και το «ποιος πρέπει να κάνει τι».

    Είναι ταυτόχρονα βιβλιοθήκη σε γλώσσα προγραμματισμού C για την εκτέλεση αυτού του πρωτοκόλλου (του εαυτού του ουσιαστικά. Καλό;)

    Είναι ένα βασικό συστατικό που θα οδηγήσει μελλοντικά στην πλήρη αντικατάσταση του X server μα δε μπορεί να τον αντικαταστήσει από μόνος του, γιατί μόνος του δεν κάνει απολύτως τίποτα.

    Είναι ο θεμέλιος λίθος με βάση τον οποίο θα δημιουργηθούν εξελιγμένοι compositors (ορισμένοι υπάρχουν ήδη).

    Είναι απόλυτα αναγκαία τεχνολογία, τόσο από τεχνικής πλευράς όσο και από θέμα ασφάλειας.

    Είναι προσπάθεια εκ του μηδενός, που δεν έχει σχέση (κώδικα) με τον X server αλλά ταυτόχρονα πολλοί από τους δημιουργούς του είναι εκείνοι που έφτιαξαν τον δεύτερο. Κρατήστε το αυτό για τη συνέχεια.

    Είναι συλλογικό εγχείρημα κι όχι ατομική εργασία ενός προγραμματιστή ή μεμονωμένα κάποιας εταιρείας που κρύβεται από πίσω.

 

Αυτά είναι τα βασικά και νομίζω ότι επαρκούν για να λύσουν τις απορίες σας. Θα το προχωρήσουμε περισσότερο όμως, για να καλύψουμε και κάποια άλλα ζητήματα που έχουν προκύψει.

Υπάρχει που λέτε η πεποίθηση ότι ο Wayland δεν είναι ακόμα έτοιμος για χρήση. Αυτή η πεποίθηση είναι εν πολλοίς λανθασμένη. Προκύπτει από καθαρή άγνοια, επειδή ορισμένοι δεν κατανοούν πώς ακριβώς λειτουργεί αλλά και από κάκιστη απόπειρα κάποιων προγραμματιστών να δικαιολογήσουν δικές τους διαφορετικές επιλογές ή ακόμα και ανικανότητα. Είπαμε πιο πάνω ότι πρόκειται απλά για ένα πρωτόκολλο. Αυτό που χρειάζεται και όντως σε κάποιες περιπτώσεις δεν είναι έτοιμο ή απόλυτα λειτουργικό, είναι ένας display server ή/και ένας compositor. Το πρόβλημα εδώ είναι ότι, λανθασμένα, θεωρείται πως αυτά είναι χαρακτηριστικά που θα έπρεπε να έχει ο Wayland. Ίσως επειδή τον αντιπαραβάλλουν με τον X server, ο οποίος είναι κάτι σαν «όλα σε ένα κι ακόμα περισσότερα».

Στην πραγματικότητα, τα χαρακτηριστικά αυτά όχι απλά δεν είναι δουλειά του Wayland να τα έχει αλλά σχεδιάστηκε εξαρχής ώστε να μην τα έχει. Όχι από καπρίτσιο φυσικά μα γιατί συντρέχουν λόγοι. Κι επειδή οι προγραμματιστές του δεν επιθυμούν να φτιάξουν κάτι ακαταλαβίστικο ή δύσχρηστο, ούτε και να είναι σαρωτική η αλλαγή, από τη μία φρόντισαν να διατηρήσουν την προς τα πίσω συμβατότητα μέσω του επονομαζόμενου XWayland (θεωρητικά αυτή θα εξακολουθήσει να υπάρχει μέχρι την πλήρη μετάβαση) κι από την άλλη παρέχουν ένα υπόδειγμα του πώς μπορεί να εφαρμοστεί στην πράξη αυτό το πρωτόκολλο για τη δημιουργία ενός compositor. Θα το έχετε δει να αναφέρεται ως Weston. Αυτό όμως σημαίνει ότι, ενώ μέχρι τώρα είχαμε τον X που έκανε τα πάντα, πλέον χρειάζεται οι προγραμματιστές των DE να φτιάξουν δικούς τους servers και compositors. Εκείνοι των δύο «μεγάλων» DE το έχουν πράξει ήδη και μάλιστα αρκετές διανομές τους χρησιμοποιούν από προεπιλογή, ενώ προς την ίδια κατεύθυνση θα κινηθεί και το MATE -χωρίς όμως αυτό να δημιουργήσει εντελώς καινούργιο δικό του compositor.  Παράλληλα, έχουν κάνει την εμφάνισή τους και νέοι window managers, σχεδιασμένοι αποκλειστικά για τον Wayland, που θα καλύψουν σε πρώτο στάδιο τις ανάγκες των «power users» οι οποίοι δεν επιθυμούν ένα πλήρες DE. Το αν η δουλειά όλων αυτών είναι άρτια ή όχι, είναι ένα θέμα που σηκώνει συζήτηση. Δεν αφορά όμως τον Wayland. Επί παραδείγματι, αν τρέχετε το GNOME σε Wayland, αυτό που συμβαίνει -και συνήθως ευθύνεται για την εμπειρία χρήσης σας- είναι ότι ο compositor του, ο Mutter, πατάει πάνω στον Wayland και προσπαθεί να ακολουθήσει τις οδηγίες του. Το ίδιο γίνεται και με τον KWin στο Plasma. Μπορεί να το κάνουν καλά και το αποτέλεσμα να είναι ευχάριστο, μπορεί και όχι. Ο Wayland όμως είναι ένα φτωχό πλην τίμιο πρωτόκολλο και, ως τέτοιο, δεν είναι δυνατό να ελέγξει αν και πώς θα υλοποιηθεί από τρίτους. Αν λοιπόν θέλετε να γκρινιάξετε, να παραπονεθείτε ή, ακόμα καλύτερα, να βοηθήσετε, απευθυνθείτε στους προγραμματιστές των περιβαλλόντων και των window managers.

Κάτι άλλο που συζητείται πολύ αλλά για το οποίο δεν ευθύνεται ο Wayland, όπως δεν ευθυνόταν αντίστοιχα και ο X, είναι η υποστήριξή του από τους κατασκευαστές καρτών γραφικών. Ναι, είναι δυσάρεστο το να έχετε tearing ή οποιαδήποτε άλλη δυσλειτουργία στην απεικόνιση, (θα έπρεπε να) γνωρίζετε όμως ότι κάποιοι κατασκευαστές δεν παίζουν τίμια όσον αφορά το Linux. Δεν είναι καθόλου τυχαίο το ότι σε έναν από αυτούς (λέγε με NVIDIA) έχει αποδοθεί το βραβείο του υψωμένου μεσαίου δαχτύλου, ούτε και το ότι οι συγκεκριμένες κάρτες φέρονται να εμφανίζουν τα περισσότερα προβλήματα σε Wayland περιβάλλον. Μην ξεχνάτε ότι έχετε πάντα τη δυνατότητα να στηρίξετε αυτούς που κάνουν καλή δουλειά, αν πιστεύετε ότι κάνουν βέβαια, και με το πορτοφόλι σας.

Επιπρόσθετα, μια ιδιότητα που δεν έχει ο X μα θα υπάρχει με τον Wayland, είναι ότι ο compositor δε χρειάζεται να είναι «ολοκληρωτικός» αλλά θα μπορεί να υλοποιηθεί με διάφορους τρόπους. Για να το κάνουμε πιο λιανά, θα υπάρχει ένα πρωτόκολλο και μία βιβλιοθήκη και αυτά θα χρησιμοποιούνται από τους compositors, οι οποίοι με τη σειρά τους μπορούν να είναι display servers, μεμονωμένες εφαρμογές ή wayland clients, όπως ονομάζονται. Οι clients τώρα, θα μπορούν επίσης να είναι εφαρμογές ή ακόμα και πλήρεις servers. Αυτό παρέχει ευελιξία, αν και ακούγεται πολύπλοκο αλλά σε πρώτη φάση σημαίνει ότι είναι πιθανό στο GNOME ας πούμε οι προεπιλεγμένες «GNOME εφαρμογές» (προσοχή εδώ, δε μιλάμε για κάθε εφαρμογή που χρησιμοποιεί το GTK+) να εμφανίζονται άψογα αλλά μια τρίτη να έχει προβλήματα. Και πάλι, δεν είναι μειονέκτημα του Wayland αλλά της εκάστοτε εφαρμογής. Οι προγραμματιστές της είναι υπεύθυνοι για να την κάνουν συμβατή.

Με την ευκαιρία, θα παρεκκλίνουμε λίγο και θα μιλήσουμε για μια τρανταχτή περίπτωση όπου κάτι δε δουλεύει ιδανικά αλλά ο χρήστης πιστεύει το αντίθετο. Έχετε σκεφτεί ποτέ τι συμβαίνει όταν ανοίγετε μια εφαρμογή; Τι είναι αυτό που βλέπετε στην οθόνη σας; Ένα παράθυρο, θα πείτε. Κι όμως, δεν είναι ένα παράθυρο. Είναι δύο. Φοβερό; Αυτό που εκλαμβάνετε ως ενιαίο κομμάτι, αποτελείται από τα εξής: ένα ολόκληρο παράθυρο -το οποίο σημαίνει σχεδιαστικές απαιτήσεις από τον display server και τον compositor- με το κύριο περιεχόμενο κι άλλο ένα, επίσης ολόκληρο (όχι τμήμα, όπως ίσως νομίζει κάποιος) παράθυρο που σχεδιάζεται πίσω από το αρχικό και περιλαμβάνει μόνο τη μπάρα τίτλου και τα υπόλοιπα όρια. Κι έτσι έχουμε δύο παράθυρα για κάθε μία εφαρμογή, ενώ αν αυτή μας ανοίγει κι άλλο παράθυρο, θα έχουμε ακόμα άλλα δύο και ούτω καθεξής. Γιατί συμβαίνει αυτό; Διότι είναι περιορισμός του X server και υφίσταται εδώ και δεκαετίες. Το αστείο είναι πως από εκεί ξεπήδησε και η δυνατότητα να έχουμε εναλλακτικές μπάρες τίτλου, κάτι που ήταν της μόδας παλιότερα με προγράμματα όπως το Emerald (σε συνδυασμό με το Compiz) ή το Aurorae αντίστοιχα σε Qt περιβάλλοντα. Κυριολεκτικά, είναι χαρακτηριστικό που προέκυψε από τεχνική δυσλειτουργία, όσο κι αν σας φαίνεται παράξενο. Αν έχει τύχει να χρησιμοποιήσετε το Emerald μαζί με κάτι όπως τα «wobbly windows», θα έχετε παρατηρήσει ότι, όταν μετακινούσατε ένα παράθυρο, εμφανιζόταν για λίγο ένα κενό ανάμεσα στη μπάρα τίτλου και το υπόλοιπο περιεχόμενο. Το ίδιο φαινόμενο μπορεί να έχετε παρατηρήσει ακόμα και στη σημερινή εποχή, όταν επιχειρείτε να ανοίξετε μια εφαρμογή και βλέπετε αρχικά να σχεδιάζεται μόνο το περίγραμμά της. Είναι στην ουσία το δεύτερο παράθυρο που εμφανίζεται πιο γρήγορα από το πρώτο. Καταλαβαίνετε λοιπόν ότι αυτό που αντιλαμβανόμαστε ως «σωστό» οπτικά και το θεωρούμε τέτοιο και λειτουργικά, μερικές φορές δεν είναι τίποτα από τα δύο μα ούτε και άρτιο τεχνικά.

Επιστρέφουμε στον Wayland και είναι ώρα να ασχοληθούμε με άλλο ένα σημαντικό στοιχείο που μπερδεύει πολλούς. Αυτό είναι το άνοιγμα μιας γραφικής εφαρμογής ως διαχειριστής (root). Το κάναμε και εξακολουθούμε να το κάνουμε πολλοί και πολύ, το κάνουμε όμως επικίνδυνα, εν αγνοία μας. Ο πιο διαδεδομένος και συνάμα λανθασμένος τρόπος ήταν και είναι η χρήση της εντολής sudo. Το sudo όμως δεν είναι διόλου κατάλληλο για γραφικές εφαρμογές. Αναφέρεται γραπτά στο ίδιο το αρχείο των ρυθμίσεών του. Ποιος όμως θα κάτσει να διαβάσει, ε; Αφού το κάνουν «όλοι», μάλλον θα είναι σωστό. Αλλά δεν είναι. Για το λόγο αυτό δημιουργήθηκαν τα gksu(do) και kdesu(do), τα οποία φροντίζουν ώστε να καλύπτονται κάποιες αναγκαίες συνθήκες που το sudo δε μπορεί να ικανοποιήσει. Ούτε αυτά επαρκούν όμως.

Ας το εξηγήσουμε απλά. Υποθέστε ότι θέλετε να κάνετε αλλαγές σε ένα αρχείο κειμένου, στο οποίο δεν έχει πρόσβαση ο χρήστης σας. Εδώ χρειάζεστε την επέμβαση του διαχειριστή. Όταν όμως χρησιμοποιείτε το sudo ή κάποια από τις εναλλακτικές για να ανοίξετε το συγκεκριμένο αρχείο στον γραφικό κειμενογράφο, συμβαίνουν πράγματα που πιθανότατα αγνοείτε αλλά ταυτόχρονα δημιουργούν μια ωραιότατη τρύπα στην ασφάλεια του συστήματός σας. Μα πώς; Είπαμε ότι θέλετε να προσαρμόσετε ένα αρχείο. Ο διαχειριστής σε μια τέτοια περίπτωση χρειάζεται μόνο για το άνοιγμα και την αποθήκευση. Πουθενά αλλού. Με το sudo όμως, ολόκληρος ο κειμενογράφος, καθ’ όλη τη διάρκεια κατά την οποία κάνετε τις αλλαγές σας, τρέχει με δικαιώματα διαχειριστή. Αυτό σημαίνει πως οτιδήποτε χρησιμοποιεί εκείνη την ώρα, όπως λόγου χάρη κάποιες διαφορετικές παράμετροι εμφάνισής του στην οθόνη ή κάποια διεργασία που δημιουργήθηκε έπειτα από το άνοιγμα με το sudo αλλά και όλα τα σημεία στο σύστημα αρχείων σας όπου έχει πρόσβαση, καλύπτονται από τα ίδια δικαιώματα. Συνοπτικά, για να κάνετε κάτι μικρό, δίνετε πλήρη πρόσβαση στο σύστημά σας. Δεν είναι αυτό που επιθυμούσατε, σωστά; Εξακολουθεί να συμβαίνει όμως γιατί, όπως προαναφέρθηκε, το κάνουν «όλοι» και μοιραία μεταδίδεται έτσι ως γνώση. Λες και η μαζικότητα συνεπάγεται πάντα την ορθότητα.

Αυτή η λανθασμένη χρήση θα περιορίζεται εξ ολοκλήρου με τη βοήθεια του Wayland, όπου δε θα υπάρχει η δυνατότητα ανοίγματος καμίας γραφικής εφαρμογής ως διαχειριστής. Όσοι από εσάς είστε χρήστες των τελευταίων εκδόσεων του Plasma, θα έχετε διαπιστώσει ότι πλέον δεν είναι εφικτό το άνοιγμα του διαχειριστή αρχείων Dolphin και κειμενογράφων όπως ο Kate με αυξημένα δικαιώματα, ακόμα και σε X περιβάλλον. Ξέρω, είναι «άβολο». Αποτελεί όμως προσαρμογή από πλευράς προγραμματιστών ως προς την ορθότερη χρήση και αυτά που θα ακολουθήσουν με τον Wayland. Ορισμένοι το αντιλαμβάνονται, και πάλι λανθασμένα, ως «δεν ανοίγουν οι Qt εφαρμογές ως root». Αν το έψαχναν ελάχιστα περισσότερο, θα έβλεπαν ότι αυτό που περιορίστηκε είναι η εκτέλεση μιας ολόκληρης γραφικής διεπαφής με αυξημένα δικαιώματα, τα οποία δε χρειάζονται και είναι εν δυνάμει επικίνδυνα. Ακριβώς το ίδιο δηλαδή που θα ισχύει και με τον Wayland. Η δουλειά που θέλουμε να κάνουμε, θα μπορεί να γίνει κανονικά. Απλά θα γίνεται με διαφορετικό, πιο ασφαλή τρόπο. Ο τρόπος αυτός μπορεί να είναι το sudoedit για το παράδειγμά μας με το αρχείο κειμένου αλλά γενικότερα θα είναι η χρήση μιας ήδη υπάρχουσας τεχνολογίας -η οποία όμως παραμένει άγνωστη σε πολλούς- που ονομάζεται polkit (PolicyKit). Είναι πιθανό να έχετε συναντήσει την εντολή pkexec. Μαντέψτε τι χρησιμοποιεί ως backend. Μέσω του polkit, μια εφαρμογή μπορεί να χρησιμοποιεί πρόσθετα δικαιώματα αποκλειστικά και μόνο στο σημείο εκείνο όπου πραγματικά τα χρειάζεται, χωρίς να υπάρχουν κενά ασφαλείας στη λειτουργία της. Για μία ακόμα φορά όμως, αυτό δεν είναι αρμοδιότητα του Wayland αλλά θα επιτευχθεί με άλλες τεχνολογίες, εξειδικευμένες για κάθε περιβάλλον. Ενδεικτικά, εργασίες που έχουν να κάνουν με διαχείριση αρχείων ως root, στο GNOME θα γίνoνται μέσα από το gvfs και στο Plasma από το αντίστοιχό του, το KIO.

Το λυπηρό εδώ είναι ότι οι καθ’ όλα άξιοι προγραμματιστές μιας πραγματικά εξαιρετικής διανομής (ονόματα δε λέμε, υπολήψεις δε θίγουμε) αντέστρεψαν -βλακωδώς- την παραπάνω λειτουργία στο Plasma, επιτρέποντας έτσι να εξακολουθήσει ο λανθασμένος τρόπος χρήσης κι ενώ όχι μόνο γνωρίζουν μα και αναφέρουν τους κινδύνους. Ενόσω δηλαδή κάποιοι προσπαθούν να διορθώσουν κακές πρακτικές χρόνων, κάποιοι άλλοι τους φτύνουν στα μούτρα. Προσωπικά με εξέπληξε αυτή η κίνηση. Θα την περίμενα ίσως από άλλη διανομή αλλά όχι από τη συγκεκριμένη. Τέλος πάντων, ας μη σταθούμε περισσότερο σε αυτό.

Κάτι άλλο σχετικό που είδα πρόσφατα να αναφέρεται είναι πως το Synaptic δεν ανοίγει ως root σε Wayland. Οποία έκπληξις. Το πρώτο πράγμα που θα σκεφτεί ένας χρήστης που θα αντιμετωπίσει αυτό το φαινόμενο, είναι ότι ευθύνεται ο Wayland, εφόσον σε X περιβάλλον η ίδια εφαρμογή λειτουργεί «κανονικά». Εσείς όμως που διαβάσατε μέχρι εδώ, μπορείτε να καταλάβετε ποιο είναι το πραγματικό πρόβλημα: δεν είναι «κανονική» μα λανθασμένη η λειτουργία της εφαρμογής σε X και παράλληλα οι προγραμματιστές του Synaptic δεν το έχουν προσαρμόσει ώστε να αξιοποιεί το polkit. Ευτυχώς, είναι ενήμεροι για το θέμα. Κυκλοφορεί επίσης σε διάφορα fora και λοιπές σελίδες ένα workaround για να το κάνετε να δουλέψει με τον Wayland αλλά δε θα το αναφέρω εδώ και, αν τυχόν το βρείτε, θα σας συνιστούσα να το χρησιμοποιήσετε μόνο αν είστε απόλυτα βέβαιοι ότι καταλαβαίνετε τι κάνει και αποδέχεστε τον κίνδυνο. Σε γενικές γραμμές όμως, ισχύει επακριβώς η ίδια λογική με τα προαναφερθέντα. Root χρειάζεται μόνο κατά τη διαδικασία (απ)εγκατάστασης ενός πακέτου, δηλαδή όταν τρέχει στο παρασκήνιο το apt-get. Δε χρειάζεται root για να περιηγηθείτε στην εφαρμογή ή να δείτε τα χαρακτηριστικά ενός πακέτου, άρα δεν υπάρχει κανένας μα κανένας λόγος για να τρέχει ολόκληρη έτσι. Κι επειδή ούτως ή άλλως ο Wayland δεν το επιτρέπει, δεν πρόκειται να ανοίξει το άτιμο το Synaptic αν δε διορθωθεί.

Θα πει κάποιος

    καλά τα λες εσύ αλλά εφόσον υπάρχουν αυτά τα προβλήματα στον X server και μάλιστα είναι γνωστά, γιατί δεν τα διόρθωναν εκεί;

Η απάντηση σε αυτό το ερώτημα είναι λιγάκι πολύπλοκη για να την εξηγήσουμε τώρα και δε σχετίζεται άμεσα με το θέμα του παρόντος άρθρου. Εντούτοις, μπορεί να συνοψιστεί στο ότι, όπως και σε πολλές άλλες καταστάσεις της ζωής, κάποτε επιχειρούμε να διορθώσουμε ένα λάθος με κάτι που στην πορεία αποδεικνύεται μεγαλύτερο λάθος. Άλλες πάλι δε συνειδητοποιούμε καν τη σοβαρότητα του αρχικού λάθους, με αποτέλεσμα αυτό να διαιωνίζεται.

Για να μην υπάρξουν άλλες παρεξηγήσεις, δεν υποστηρίζει κανείς ότι ο Wayland είναι τεχνολογία χωρίς σφάλματα. Δεν υπάρχει τέτοια και το γνωρίζουμε. Είναι όμως άδικο για τους προγραμματιστές του να τους αποδίδονται -γιατί καμία τεχνολογία δεν είναι αυθύπαρκτη- ευθύνες για προβλήματα που δεν προκαλούνται από τη δική τους δουλειά. Επιπλέον, δε βοηθά και τη δική μας ζωή το να μη γνωρίζουμε τι πραγματικά είναι και πού στοχεύει μια τεχνολογία.

Ελπίζω να σας φανούν χρήσιμα τα γραφόμενα και να συμβάλουν στο να ξεμπερδέψετε κάποια πράγματα στο νου σας. Δεν έγινε αναλυτική παρουσίαση των τεχνικών χαρακτηριστικών του Wayland και πλήρης σύγκριση με τον X server γιατί θεωρώ ότι, στην παρούσα φάση, προέχει η σωστή ενημέρωση. Όσο εξαπλώνεται η χρήση του και ιδιαίτερα όταν θα αρχίσει να εγκαταλείπεται ο X, θα μπορείτε πιο εύκολα να κατανοήσετε ορισμένα σημεία στην πράξη κι έτσι θα είναι καταλληλότερη η χρονική περίοδος για να αναφερθούμε σε αυτόν πιο εκτεταμένα αλλά και να γίνει λόγος για τις πραγματικές αδυναμίες του X, αρκετές από τις οποίες χρησιμοποιούνται σαν πλεονεκτήματα σήμερα. Ναι, καλά διαβάσατε κι όχι απλά δε θεωρείται περίεργο αλλά συμβαίνει κατά κόρον στο Linux με πολλά πράγματα. Τροφή για σκέψη: σε αντίθεση με την κρατούσα άποψη, δεν είναι φρόνιμο ούτε και ασφαλές για έναν display server να έχει δυνατότητες δικτύωσης. Μέχρι να τα ξαναπούμε, μπορείτε να βρείτε περισσότερες πληροφορίες για τον Wayland στο σχετικό tag αλλά και να ενημερώνεστε γενικότερα, γιατί η άγνοια δεν είναι δύναμη.

Αντί επιλόγου, θα σας ζητήσω να θυμηθείτε αυτό που σας είπα να κρατήσετε νωρίτερα, ότι δηλαδή πολλά από τα άτομα που ασχολούνται με την ανάπτυξη του Wayland είναι τα ίδια που έφτιαξαν και συντηρούσαν τον X server όλα αυτά τα χρόνια. Θα σας δώσω κι ένα ακόμα στοιχείο. Ολόκληρο το X Window System, μέρος του οποίου αποτελεί και ο προαναφερθείς server, έχει ηλικία μεγαλύτερη των τριάντα ετών. Οι παλιότεροι θα θυμούνται το XFree86 τη δεκαετία του ‘90, ενώ η τρέχουσα υλοποίηση (X11) μετράει ήδη μια τριακονταετία ζωής, με άπειρα σουλουπώματα. Συνηθίζουμε να ψέγουμε προγραμματιστές -ξέρετε ποιους- για το γεγονός ότι το λειτουργικό τους περιλαμβάνει πολύ μεγάλα τμήματα απαρχαιωμένου (legacy) κώδικα, ενώ, όλως περιέργως, δεν εντοπίζουμε το ίδιο πρόβλημα όταν κάτι ανάλογο υπάρχει και στο Linux ή το ΕΛ/ΛΑΚ εν γένει. Αυτό που προκύπτει όμως από τα παραπάνω είναι ότι, όταν οι ίδιοι οι δημιουργοί δηλώνουν με τον πιο κατηγορηματικό τρόπο ότι η προγενέστερη τεχνολογία που χρησιμοποιούσαμε είναι προβληματική σε πολλά σημεία αλλά και δεν επαρκεί για να καλύψει τις σύγχρονες ανάγκες (να τονιστεί εδώ ότι ο Wayland και όσα θα παραχθούν με βάση αυτόν, δεν προορίζονται μόνο για «παραδοσιακούς» υπολογιστές αλλά και για smartphones, embedded συστήματα και πολλές άλλες χρήσεις), είναι τουλάχιστον άσκοπο να προσπαθούμε να ορθώσουμε αντεπιχειρήματα. Στην καλύτερη περίπτωση, φαινόμαστε αδαείς. Στη χειρότερη, προκαλούμε προβλήματα στην εξέλιξη και το έργο τους.

  • Σχόλια

1 Comments:

  1. Εικόνα Konstantinos Togias

    Χρησιμοποιώ καθημερινά εδω και 6 μηνες σε συνθηκες παραγωγής για τη δουλειά μου (programming και sysadmin) wayland σε fedora. Πέρα απο κάποια μικρά bugακια που ειναι ευκολα παρακμψημα και θεραπευσιμα και τα οποια εξαλείφονται καθώς περνά ο καιρός όλα παίζουν μια χαρά. Στο πρόσφατο δε upgrade που έκανα τους 3 υπολογιστές που χρησιμοποιώ αε fedora 26 φαίνεται να έχουν εξαλειφθεί και οι τελευταίες ενοχλήσεις και δυσκολίες που αντιμετώπιζα σχετικά.

Scroll to Top