Νέα εποχή για το περιβάλλον εργασίας MATE
#1
Η ανησυχία των χρηστών του MATE για τη συμβατότητά του με το GTK3 δεν είναι κάτι νέο. Από νωρίς φάνηκε ότι πρόκειται για ένα σκόπελο για το ελαφρύ, σταθερό και εύχρηστο περιβάλλον εργασίας που προτιμούν αρκετοί χρήστες του παλιού gnome αλλά και των windows XP που δεν είδαν με καλό μάτι την εισβολή κάποιου android-ειδούς περιβάλλοντος στον υπολογιστή τους.

[Εικόνα: about-mate-1.16.png]

Αλλά τι είναι το GTK;

To GTK είναι μια βιβλιοθήκη του Gnome την οποία ενσωματώνει ο προγραμματιστής στο πρόγραμμα που γράφει προκειμένου να δημιουργήσει μια παραθυρική εφαρμογή. Δεν είναι μια ξεχωριστή γλώσσα αλλά περιέχει functions στις οποίες απευθύνεται η γλώσσα με διάφορες παραμέτρους εφόσον έχει εισαγάγει την αντίστοιχη GTK βιβλιοθήκη.
Δεν είναι η μοναδική βέβαια, υπάρχουν κι άλλες εναλλακτικές για τους προγραμματιστές Gnome (και όχι μόνο) όπως το Qt το οποίο για πολλούς αποτελεί το μέλλον.
Περισσότερα για το GTK στο https://developer.gnome.org/

Γιατί GTK3 κι όχι GTK2;

Οι απόψεις διίστανται. Αλλοι θεωρούν σημαντική την αναβάθμιση του GTK από την έκδοση 2 στην 3 κι άλλοι πιστεύουν ότι τελικά η 2 ήταν καλύτερη.
Αυτού του είδους οι διαφωνίες δεν είναι πρωτόγνωρες, αντίστοιχες υπάρχουν για την αναβάθμιση της Qt4 στην Qt5.

Σε κάθε περίπτωση, η εμφάνιση μιας εφαρμογής σε GTK3 είναι καλύτερη αισθητικά από την αντίστοιχη σε GTK2 και ο χώρος που καταλαμβάνουν στο δίσκο οι βιβλιοθήκες είναι αρκετά λιγότερος στη νέα έκδοση. Αλλοι βρίσκουν ότι το GTK3 χρησιμοποιεί περισσότερη RAM κι άλλοι ότι δεν βρίσκουν διαφορά.

Σίγουρα πάντως το GTK3+ με την πολιτική αναβάθμισης που ακολουθεί, χωρίς να δείχνει να ενδιαφέρεται ιδιαίτερα για τη συμβατότητα, όχι μόνο με εφαρμογές μη-gnome και μη-systemD, αλλά και τις παλιότερες εκδόσεις του, δημιουργεί σοβαρό πρόβλημα. Και αποτελεί ένα ερώτημα γιατί οι νέες εκδόσεις GTK ανεβαίνουν αμέσως στα αποθετήρια του Debian ενώ δεν πληρούν αποδεδειγμένα τα κριτήρια που προβλέπει η διαδικασία.

[Εικόνα: gtk_breakage1.jpg]

Η έκδοση 3.22 του GTK συγκεκριμένα εκτός του MATE κρασάρει τον Nemo του Cinnamon καθώς και άλλες εφαρμογές

Θέλω να πιστεύω ότι αυτός ο ιδιότυπος “πατριωτισμός” των χρηστών του Gnome και systemD που δεν ενδιαφέρεται για την όσο το δυνατό μεγαλύτερη συμβατότητα με εφαρμογές άλλης τεχνολογίας βρίσκεται στο περιθώριο της linux κοινότητας. Παρά τις διαφορετικές μας επιλογές δεν παύουμε να στηρίζουμε όλες τις εφαρμογές GNU χωρίς αποκλεισμούς ή τεχνο-σωβινισμούς.

Ωστόσο πλέον όχι μόνο τα περιβάλλοντα εργασίας που βασίζονται στο Gnome αλλά και οι νεότερες εκδόσεις εφαρμογών GTK, χρησιμοποιούν το GTK3 και ακολουθούν την ανάπτυξή του. Κι αυτός είναι ένας σημαντικός λόγος το αγαπημένο μας DE, το MATE να υποστηρίζει πλήρως το GTK3.

Καλά όλα αυτά, αλλά που ενδιαφέρουν τον τελικό χρήστη του ΜΑΤΕ;

Οι τελευταίες εκδόσεις του MATE έδειξαν ότι αντιμετώπιζαν σημαντικές δυσκολίες να ακολουθήσουν την ανάπτυξη του GTK3. Η έκδοση MATE 1.14 βγήκε σχεδόν ταυτόχρονα με την έκδοση GTK3.22 που την κρασάρει. Ο τελικός χρήστης έβλεπε το desktop του να καταρρέει με ένα δεξί κλικ, τα παράθυρα του μενού να μένουν στο desktop αφού τα έκλεινε ενώ σε πολλές περιπτώσεις ο διαχειριστής αρχείων του MATE δε λειτουργούσε καθόλου. Ανάλογη ήταν και η εμφάνιση του MATE με τα tabs επιλογών να πέφτουν το ένα πάνω στο άλλο, τα gui των εφαρμογών να μη διαβάζονται και γενικά ένα μπάχαλο.

Πολλοί χρήστες MATE έβαλαν τα πακέτα GTK3 και MATE on-hold (να μην αναβαθμίζονται) μέχρι να λυθεί το πρόβλημα ενώ άλλοι κατέφυγαν προσωρινά σε άλλα περιβάλλοντα εργασίας.

Δεν έλειψαν και τα διορθωτικά πακέτα που έγραψαν, διένειμαν ή ενσωμάτωσαν στις διανομές τους ορισμένοι προγραμματιστές προκειμένου να κάνουν υποφερτή αυτή την απότομη αναβάθμιση του GTK3.22 (Παράδειγμα: https://www.preining.info/blog/2016/09/f...oken-gtk3/).

Ετσι, αρκετές γνωστές linux διανομές που χρησιμοποιούν MATE, επέλεξαν παλιότερες εκδόσεις του ή παλιότερες εκδόσεις του GTK3 που δεν εμφάνιζαν αυτό το μπάχαλο.

Φως στον ορίζοντα με την έκδοση MATE 1.16

Δεν είναι υπερβολή να πούμε ότι το MATE έχασε αρκετό χρόνο αναπτύσσοντας το περιβάλλον του σε GTK2 ενώ ήταν ήδη γνωστό ότι αντικαθίσταται με το GTK3.

Η έκδοση 1.16 του MATE όπως φάνηκε ήρθε για να καλύψει το χαμένο χρόνο. Ο κώδικας καθαρίστηκε από όσες εντολές προέρχονταν από την GTK2 και αντικαταστάθηκαν με τις αντίστοιχες της GTK3. Κάποιες επιπλέον παρελκόμενες εφαρμογές του MATE ξαναγράφτηκαν για την GTK3.2+ και δόθηκε βάση στη συμβατότητα με τα desktop themes.

Συγκεκριμένα στην έκδοση 1.16 του ΜΑΤΕ:

Θεμελιώθηκε συνολικά η υποστήριξη του MATE στο GTK3.
Υποστήριξη themes και εφαρμογών GTK3.22
Ξαναγράφτηκαν για αποκλειστική χρήση του GTK3:
  • Το Egrampa (ο διαχειριστής συμπιεσμένων αρχείων)
  • Το MATE Notification Daemon
  • Το MATE PolKit
  • Το MATE Session Manager
  • Το MATE Terminal
Διαχωρίστηκαν από τη βιβλιοθήκη libmate-desktop:
  • Engrampa
  • MATE Applets
  • MATE Netbook
  • MATE Power Manager
  • MATE Terminal
  • Pluma (ο επεξεργαστής κειμένου)
Ξεκίνησε η διαδικασία μετατροπής εφαρμογών σε GApplication ή GtkApplication (δηλαδή αντικατάσταση των παλιότερων functions του κώδικα με g_application_function() ή gtk_application_function() ) :
  • Engrampa
  • MATE Applets
  • MATE Netbook
  • MATE User Share
Διορθώθηκαν επίσης αρκετά bugs και συμπληρώθηκαν οι μεταφράσεις.
Περισσότερες λεπτομέρειες για τις αλλαγές στη νέα έκδοση: https://mate-desktop.com/blog/2016-09-21...-released/
Ο πίνακας που δείχνει το πέρασμα των επιμέρους MATE εφαρμογών στο GTK3: https://wiki.mate-desktop.org/status:gtk3

Πως εγκαθιστούμε την έκδοση 1.16

Η έκδοση 1.16 βρίσκεται ήδη σε αποθετήρια Arch-Manjaro, Ubuntu-Ubuntu MATE, Debian sid/testing και επεκτείνεται.
Στο Debian και Ubuntu η συμπεριφορά του ΜΑΤΕ είναι η αναμενόμενη, με τη γνωστή σταθερότητα που το καθιέρωσε στην επίσημη stable έκδοση, την 1.8. Τα προβλήματα είναι απειροελάχιστα κι αυτά εντοπίζονται σε κάποια panel applets που δεν έχουν επικαιροποιηθεί ακόμα.

Ubuntu-Mint κλπ Ubuntu based:
Μέχρι στιγμής η έκδοση 1.16 δεν έχει ανέβει στα επίσημα αποθετήρια του Ubuntu. Για να το εγκαταστήσει κανείς θα πρέπει να προσθέσει το ppa:
Κώδικας:
sudo add-apt-repository ppa:jonathonf/mate-1.16
sudo apt-get update
αν το έχουμε ήδη εγκατεστημένο, αρκεί μια αναβάθμιση του συστήματος για να ενημερωθεί και το MATE:
Κώδικας:
sudo apt full upgrade
Για να το εγκαταστήσουμε:
Κώδικας:
sudo apt install mate-core mate-desktop-environment
Για να το απεγκαταστήσουμε και να επιστρέψουμε στην έκδοση της διανομής:
Κώδικας:
sudo apt install ppa-purge && sudo ppa-purge ppa:jonathonf/mate-1.16

Debian:
Στο Debian αρκεί να ενεργοποιήσουμε τα sid ή testing αποθετήρια.
Για να ενημερώσουμε το ήδη εγκατεστημένο MATE στο debian χωρίς να ενημερωθεί όλο το σύστημά μας σε sid/testing, αφού ορίσουμε τα αποθετήρια:
Κώδικας:
sudo apt-get install ‘*mate*’ ‘*caja*’ --only-upgrade
sudo apt-get install -f
Η εντολή δε θα ενημερώσει παρελκόμενες εφαρμογές (π.χ. atril) και θα πρέπει να το κάνουμε χειροκίνητα ή να χρησιμοποιήσουμε έξυπνα την αναζήτηση και τα φίλτρα του synaptic.

Arch-Manjaro:
Στο Arch-Manjaro θα μας δυσκολέψει αρκετά να περάσουμε στη νέα έκδοση του MATE αφού τα νέα πακέτα έχουν διαφορετικό όνομα στο αποθετήριο (π.χ. το “mate-desktop” 1.16 ονομάζεται “mate-desktop-gtk3”) και δεν αρκεί ένα update για να ενημερωθεί.

Η λύση είναι ολική απεγκατάσταση του παλιού MATE και εγκατάσταση του νέου (με το διαφορετικό όνομα).

Ανοίγουμε μια νέα κονσόλα με Ctrl+Alt+F2
απεγκαθιστούμε το MATE:
Κώδικας:
pacman -R mate-desktop
και εγκαθιστούμε το MATE-gtk3:
Κώδικας:
pacman -S mate-desktop-gtk3
pacman -S mate-gtk3
pacman -S mate-extra-gtk3

Θα συνιστούσα στους χρήστες Arch-Manjaro να περιμένουν λίγο ακόμα ώστε να γίνει πιό ομαλή η αναβάθμιση από την κοινότητα, διαφορετικά ενδέχεται να αποσταθεροποιήσουν το σύστημά τους.
Περισσότερα στο αγγλόφωνο forum: https://bbs.archlinux.org/viewtopic.php?id=215679

ΠΡΟΣΟΧΗ:
Οι χρήστες διανομών που περιέχουν το MATE δεν έχουν λόγους να το αναβαθμίσουν εφόσον δεν τους παρουσιάζει κάποιο πρόβλημα. Η ομάδα ανάπτυξης της διανομής τους έχει αναλάβει την ευθύνη να τους παρέχει λειτουργικές ενημερώσεις φροντίζοντας να μη συναντήσουν τα παραπάνω προβλήματα.

Δείτε ακόμα:
Mate Desktop: Το προλεταριάτο αντεπιτίθεται
СМЕРТЬ НАСИПЬИКАМ ТРУДЯШИХСЯ
  Απάντηση
#2
Εγώ ο παράξενος με τις διορθώσεις πάλι. Το GTK+ δεν είναι βιβλιοθήκη αλλά εργαλειοθήκη (toolkit) και, αν και αυτή η παρερμηνεία υπάρχει δεκαετίες ολόκληρες, δεν είναι «του GNOME». Αντίθετα, το GNOME είναι προϊόν του.
Επίσης, το systemd γράφεται πάντα με πεζά.

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

Ίσως κάποιοι να πιστεύουν το αντίθετο αλλά τα νέα πράγματα (συνήθως) καλύπτουν πραγματικές ανάγκες και δε φτιάχνονται απλά για να βγάλει το άχτι του ο καθένας, ούτε και οι (περισσότερες) διανομές αποτελούνται από ορδές ηλιθίων που υιοθετούν τεχνολογίες χωρίς κρίση. Πάντα θα υπάρχει κάποιος που «αγάπησε» μια συγκεκριμένη εμφάνιση, ένα συγκεκριμένο τρόπο κλπ. Δε μπορεί όμως κανένας να έχει την απαίτηση να σταματήσει ο κόσμος για χάρη του. Η ζωή προχωράει και εμφανίζονται νέες ανάγκες. Το αν τα νέα πράγματα φτιάχνονται ακολουθώντας καλές πρακτικές ή όχι, είναι μια άλλη κουβέντα. Θεωρώ όμως ότι, στη συγκεκριμένη περίπτωση, θα πρέπει να ξεχωρίσουμε τι είναι πρόβλημα του GNOME, που προκύπτει ίσως από κακή πρακτική, τι του MATE από την αναγκαστική του μετάβαση από παρωχημένο toolkit και τι της εκάστοτε διανομής που ενδέχεται να έχει σκα@#σει το πακετάρισμα (πολύ συχνό φαινόμενο).

Λέμε για άλλους (οι Λινουξάδες εννοώ) αλλά η αλήθεια είναι ότι και στις τάξεις μας υπάρχουν πολλοί που δεν καταλαβαίνουν τι συμβαίνει και δεν επιθυμούν πραγματικά να μάθουν. Είχαμε (και θα έχουμε) «distro wars», «DE wars», «init wars», «display wars» (αυτό θα έρθει όταν γίνει default ο Wayland) και πολλά άλλα. Όποτε όμως συμβαίνει κάτι τέτοιο, είναι ζήτημα να βρεθεί ένα τεχνικό επιχείρημα στα δέκα, γιατί ο κόσμος απλά δε γνωρίζει. Τα περισσότερα είναι της μορφής "εμένα μου άρεσε έτσι", "εγώ προτιμούσα αυτό", "δε γουστάρω αυτό γιατί το φτιάχνει ο τάδε", "αφού δουλεύει, γιατί να το αλλάξω;" (κι ας υπάρχουν για χρόνια ανοιχτές συζητήσεις για το γεγονός ότι δε δουλεύει αυτό που νομίζουμε ότι δουλεύει).

Σας αρέσει το MATE; Μπράβο σας. Προσπαθήστε όμως να καταλάβετε ότι ένα DE είναι εξαιρετικά περίπλοκο και δύσκολο στις αλλαγές, ειδικά όταν πρέπει να γραφτεί ξανά απ' την αρχή. Με εξαίρεση καναδυό που αλλάζουν μια φορά στα 150 χρόνια, όλα τα υπόλοιπα είχαν κάποτε κάποιου είδους «δράμα». Στήριξη χρειάζεται και υπομονή.
Το άπλυτο κορμί το πλένεις. Καθαρίζει. Η βρόμικη ψυχή πώς πλένεται;
  Απάντηση
#3
Συγχωρέστε με αλλά θα «χακάρω» για λίγο το νήμα. Υπήρξε πρόσφατα (3/10) μια συνομιλία περί επιλογών στο Linux, την οποία θα παραθέσω μεταφρασμένη. Συγκεκριμένα, ήταν για το openSUSE και το systemd, νομίζω όμως ότι τα ίδια ισχύουν πάνω κάτω οπουδήποτε και ότι βοηθάει να κατανοήσουμε κάποια πράγματα, όπως για παράδειγμα ποιο είναι το σκεπτικό που οδηγεί διανομές σε συγκεκριμένες επιλογές. Προσωπικά, η οπτική της απάντησης με βρίσκει εν πολλοίς σύμφωνο και αυτό είναι το μοναδικό δικό μου σχόλιο στο θέμα.

Το αρχικό email:
Παράθεση:Η επιλογή είναι αυτό που πολλοί άνθρωποι θέλουν πραγματικά. Έχουμε διαφορετικές διανομές, διαφορετικά DEs (KDE vs GNOME και τα υπόλοιπα), διαφορετικούς browsers (Firefox vs Chrome), διαφορετικούς editors (emacs vs vi) κ.ο.κ. Γιατί δε μπορούμε να έχουμε επιλογή στο init; Τώρα, γνωρίζω ότι το να διατηρείται μια διανομή σε λειτουργία είναι μνημειώδες έργο και δεν περιμένω θαύματα. Δε ζητάω από τους προγραμματιστές να πολεμήσουν την αλλαγή. Απλά δε βλέπω γιατί πρέπει να αφήσουμε το systemd να καταπίνει άλλες μη init υπηρεσίες και λειτουργίες. Είναι σαν να στήνουν την τράπουλα προς όφελός τους - αν δημιουργήσουν μια εξάρτηση σε κάτι με το systemd, τότε παίρνουν τον έλεγχο του έργου. Πότε θα γίνει GNU/systemd; Ή απλά systemdOS; (κι εντάξει, αν ο κόσμος το θέλει αυτό τότε ας γίνει. Υπάρχουν ακόμα τα BSDs και το Slackware)

Και η απάντηση:
Παράθεση:Πάγωσε η κόλαση. Θα παραθέσω τα λόγια ενός προγραμματιστή της Red Hat για να σου απαντήσω.

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

Ως καταναλωτής, ναι, έχεις πολλές επιλογές ως προς το ποιο Linux χρησιμοποιείς. Αυτό σε καμία περίπτωση δε σημαίνει ότι το Linux είναι _περί_ επιλογών, όχι περισσότερο από το ότι επειδή υπάρχουν πολλά είδη αυτοκινήτων που μπορείς να αγοράσεις, τα αυτοκίνητα είναι περί επιλογών."

Οι μοναδικές επιλογές που έχουν σημασία στο openSUSE είναι οι επιλογές που η κοινότητα του openSUSE ασχολείται για να δημιουργήσει.

Αν η κοινότητα του openSUSE δούλευε για να υποστηρίξει το sysvinit μαζί με το systemd, σίγουρα, θα το επικροτούσα.

Όμως, σε αντίθεση με το GNOME + KDE, ή vi + emacs, ή Firefox + Chrome, το να υποστηρίζεις 2 συστήματα init είναι εντελώς διαφορετική περίπτωση.

Στα άλλα σου παραδείγματα, οι εναλλακτικές συνυπάρχουν χαρούμενα χωρίς κόπο από καμία «πλευρά». Στη χειρότερη περίπτωση χρειάζεται οι δύο πλευρές να συναντηθούν και να δουλέψουν μαζί πάνω σε κοινές λύσεις μία στο τόσο.

Η υποστήριξη δύο συστημάτων init χρειάζεται τεράστια ποσότητα δουλειάς, ΕΙΔΙΚΑ όταν το άλλο σύστημα init είναι το sysvinit.

ΚΑΘΕ ΜΙΑ ΥΠΗΡΕΣΙΑ θα πρέπει να έχει ένα systemd unit file (εύκολο συνήθως) ΚΑΙ ένα sysvinit script (συνήθως πολύ περίπλοκο). ΚΑΘΕ ΕΝΑΣ ΣΥΝΤΗΡΗΤΗΣ ΚΑΘΕΜΙΑΣ ΥΠΗΡΕΣΙΑΣ θα χρειαστεί θα δουλέψει πρόσθετα για να υποστηρίξει το sysvinit και αυτή η δουλειά είναι τυπικά πιο δύσκολη από την υποστήριξη του systemd.

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

Το Linux δεν πρόκειται περί επιλογών. Το openSUSE δεν πρόκειται περί επιλογών. Είναι το να κάνεις πράγματα με το σωστό τρόπο για τους σύγχρονους τρόπους χρήσης των χρηστών μας, φτιαγμένα σωστά με τη χρήση σύγχρονων εργαλείων που υπάρχουν διαθέσιμα για τους συνεισφέροντές μας. Μερικές φορές αυτό σημαίνει ότι οι επιλογές παρουσιάζονται μόνες τους, άλλες πάλι όχι.

Χαιρετισμούς,

Richard Brown
Επικεφαλής openSUSE
Το άπλυτο κορμί το πλένεις. Καθαρίζει. Η βρόμικη ψυχή πώς πλένεται;
  Απάντηση
#4
Όλα ξεκίνησαν με την υιοθέτηση του systemd που ξεκίνησε από την Red Hat ως το βασικό init, το οποίο το δέχτηκαν αρχικά το Debian και μην έχοντας επιλογή και το Ubuntu.
Επειδή τα πράγματα στην ζωή είναι γενικά απλά αλλά εμείς τα κάνουμε πολύπλοκα το ζήτημα με το systemd έχει ως εξής:

Είναι απλό και σταθερό θα πετύχει, είναι πολύπλοκο και ασταθές θα αποτύχει.

Βεβαίως, ως συνήθως ο χρόνος είναι αυτός που θα δείξει το αποτέλεσμα.
Προσωπικά όσο υπάρχουν διανομές που θα προσπαθούν να το αποφεύγουν θα τις επιλέγω μέχρι να δω ότι έχει ωριμάσει αυτό το εργαλείο και οι διανομές που το διαθέτουν να είναι σταθερές σαν βράχος και γρήγορες σαν τον άνεμο.:D
  Απάντηση
#5
Όλα ξεκίνησαν πριν πολλά χρόνια, όταν διαπιστώθηκε ότι το SysV είναι απαρχαιωμένο κι έχει ένα σωρό προβλήματα. Αυτός άλλωστε ήταν και ο λόγος που δημιουργήθηκαν εναλλακτικά πριν καν εμφανιστεί το systemd, τα οποία όμως δεν ήταν επαρκή. Κάποιοι αποφάσισαν να φτιάξουν κάτι που θα έχει standards, θα ακολουθεί την εποχή και θα είναι αποκλειστικά για το Linux. Μάλιστα, πρότειναν σε όποιον ήθελε να κάνει το ίδιο. Κανένας δεν ασχολήθηκε όμως κι έτσι το μόνο σύγχρονο σύστημα είναι το systemd.

Οι διανομές το υιοθέτησαν γι' αυτά που προσφέρει. Το Debian έκανε κανονική ψηφοφορία. Το Ubuntu, που είχε ολόδικό του σύστημα (Upstart) και δε φημίζεται για την ανοιχτότητά του σε δημιουργίες άλλων, αποφάσισε επίσης να το παρατήσει. Εκτός αυτού όμως, ο κόσμος δεν περιστρέφεται γύρω από αυτές τις δύο διανομές.

Το systemd έχει ήδη πετύχει, με το να είναι το default στη συντριπτική πλειονότητα των διανομών.

Ο σκοπός των παραπάνω όμως δεν ήταν να πάει η συζήτηση εκεί αλλά να δούμε πώς σκέφτονται οι διανομές σε ορισμένα θέματα και γιατί υπάρχει η τάδε επιλογή και όχι η δείνα. Μπορεί να πει κάποιος "γιατί το MATE δε διατηρεί το παλιό codebase, που ήταν μια χαρά και «δούλευε» και μπλα μπλα". Η απάντηση νομίζω είναι προφανής.
Το άπλυτο κορμί το πλένεις. Καθαρίζει. Η βρόμικη ψυχή πώς πλένεται;
  Απάντηση
#6
Σαφώς το GTK είναι το Gnome Tool Kit (εργαλειοθήκη Gnome) και περιγράφεται στα αγγλικά σαν "Functions Library", δηλαδή "βιβλιοθήκη ανταποκρίσεων". Αρα πιστεύω ότι και οι δύο ερμηνίες είναι σωστές. Στο δομημένο προγραμματισμό πολύ συχνά ο προγραμματιστής δημιουργεί τις δικές του functions libraries που ονομάζονται άλλοτε classes, άλλοτε APIs κλπ.
Φυσικά έχει διαφορά η κάθε περίπτωση (οι classes είναι κατα κάποιο τρόπο "εσωτερικές" ενώ τα APIs εξωτερικές σε έτοιμο έργο), όμως σε ένα γενικότερο πλαίσιο όλες είναι functions libraries και ένα υποσύνολο είναι toolkits.

Ενα παράδειγμα που μπορεί να καταστήσει κατανοητή τη φύση του GTK σε κάποιον που δεν έχει ασχοληθεί με τον προγραμματισμό:
Εστω ότι θέλουμε να φτιάξουμε ένα παράθυρο.
Η διαδικασία από το μηδέν μπορεί να είναι η εξής: Πηγαίνουμε στο δάσος, διαλέγουμε ένα δέντρο, κόβουμε τον κορμό, πλανίζουμε τις σανίδες, δημιουργούμε τα πλαίσια, τα μοντάρουμε στις διαστάσεις που θέλουμε, βάζουμε βίδες, μεντεσέδες, τζάμια, διαλέγουμε χρώμα, το βάφουμε κι είναι έτοιμο.
Η άλλη επιλογή είναι να βρούμε έναν μαραγκό και να του πούμε "Θέλουμε ένα ξύλινο μαύρο παράθυρο διαστάσεων τάδε".
Από κει και πέρα αναλαμβάνει να το υλοποιήσει εκείνος και η δική μας δουλειά έχει τελειώσει.
Στην περίπτωσή μας ο μαραγκός είναι το GTK και η εντολή " ξύλινο μαύρο παράθυρο διαστάσεων τάδε" είναι η function "παράθυρο()" με τις μεταβλητές "υλικό, χρώμα, διαστάσεις".
Αν τώρα ο μαραγκός δεν αντιλαμβάνεται αυτή την εντολή αλλά θέλει μια διατύπωση της μορφής "παράθυρο από ξύλο κέδρου χρώματος #000000 (το μαύρο δεκαεξαδικά) διαστάσεων x,y,z", προφανώς δεν θα καταλάβει την πρώτη εντολή και είτε δε θα μας φτιάξει το παράθυρο είτε θα το κάνει με λάθος τρόπο.

Στην περίπτωση του GTK3+ ο μαραγκός αποφασίζει να αλλάξει τη διατύπωση που κατανοεί, είναι επόμενο να υπάρξει ασυννενοησία.
Σίγουρα ο μαραγκός δεν το κάνει αυθαίρετα. Εχει τους λόγους του που συνήθως είναι η μεγαλύτερη ακρίβεια στην εντολή ή το μεγαλύτερο εύρος επιλογών από πλευράς μας. Αλλά και πάλι θα δημιουργηθεί σύγχιση, πάλι θα βγούν πολλά στραβά παράθυρα μέχρι να κατακτηθεί ο νέος τρόπος επικοινωνίας.
СМЕРТЬ НАСИПЬИКАМ ТРУДЯШИХСЯ
  Απάντηση
#7
Να πούμε ακόμα ότι αυτές οι αλλαγές στο GTK3+ επηρρεάζουν πολύ περισσότερο τον προγραμματισμό γενικότερα, πέρα από το MATE και τα περιβάλλοντα εργασίας που έγιναν αντιληπτά αμέσως επειδή απευθύνονται στον τελικό χρήστη.
Για παράδειγμα έχει προκύψει ασυμβατότητα της Tkinter της python. Μέχρι πρόσφατα μπορούσε κανείς αντί να εισαγάγει απευθείας κάποιο toolkit δημιουργίας παραθύρων στην python να εισαγάγει την Tkinter (παλιότερα "tkinter") και αυτή να μεταφράσει την εντολή στο εκάστοτε toolkit. Με το GTK3.22 η χρήση Tkinter επιστρέφει μηνύματα λάθους από το GTK και ο μόνος τρόπος να διορθώσει κανείς τον κώδικά του είναι να εισαγάγει απευθείας την GTK3 και να καλέσει τις αντίστοιχες functions του.
Αυτό σημαίνει έναν επιπλέον πονοκέφαλο στους προγραμματιστές.
Φυσικά η νέα έκδοση Tkinter θα βγει προσαρμοσμένη στα νέα δεδομένα, όμως το πιθανότερο είναι ο προγραμματιστής να στραφεί στην απευθείας λύση, χρησιμοποιώντας είτε τις functions του GTK (όπως κάνει το MATE) είτε επιλέγοντας κάποιον άλλο "μαραγκό" (π.χ. το Qt) που κάνει τη μετάβασή του πιο ομαλά από άποψη προς-τα-πίσω συμβατότητας.

Για πολλούς coders η ουσία της δουλειάς τους είναι το να δημιουργήσουν κάτι νέο, να επινοήσουν έναν καινούργιο αλγόριθμο που θα κάνει αυτό που θέλουν συντομότερα, με μεγαλύτερη ακρίβεια και με λιγότερα ως καθόλου σφάλματα. Από αυτή την άποψη είναι χάσιμο χρόνου να τρέχουν πίσω από τις εξελίξεις του εκάστοτε toolkit/function library. Κι αυτή η τάση είναι που θα ορίσει τι θα επιβιώσει και τι όχι.

Προσωπικά δε συμμερίζομαι την άποψη ότι θα πρέπει να ξαναγράφεται ο κώδικας από την αρχή κάθε φορά που αποφασίζει να κάνει αλλαγές μια library ή function library. Με αυτό τον τρόπο πολλές αξιόλογες εφαρμογές καταλήγουν στον κάλαθο των αχρήστων επειδή η περαιτέρω ανάπτυξή τους απαιτεί τρελή χαμαλοδουλιά προσαρμογής στις νέες functions.
Κι όμως, υπάρχει ήδη η εμπειρία της ομαλής μετάβασης όπου οι παλιότερες functions ανταποκρίνονται κανονικά ενώ προστίθενται και οι νέες που κάνουν κάτι καλύτερο.
Και σ'αυτή την περίπτωση εχθρός του καλού είναι το καλύτερο, οι προγραμματιστές θα υιοθετήσουν για προφανείς λόγους τις νέες functions, χωρίς όμως να αχρηστευτεί όλος ο παλιότερος κώδικάς τους.
СМЕРТЬ НАСИПЬИКАМ ТРУДЯШИХСЯ
  Απάντηση
#8
Τώρα δε θέλω να γίνω «that guy» (αλήθεια δε θέλω) αλλά με αναγκάζεις, χωρίς να το θέλεις βέβαια. GTK σημαίνει επί λέξει GIMP ToolKit. Αυτός είναι και ο λόγος που πολλοί νομίζουν ότι το GIMP είναι εφαρμογή «του GNOME», ενώ δεν είναι. Επίσης, δεν ξέρω ποιος το δίνει ως «Functions Library» αλλά αφενός μεν υπάρχει διακριτή διαφορά μεταξύ library και toolkit, αφετέρου δε η βασική δουλειά του GTK είναι να παράγει widgets (κουμπιά,, πλαίσια, checkboxes κλπ.). Εννοείται ότι το κάνει με χρήση libraries, APIs και διάφορων άλλων στοιχείων, βιβλιοθήκη όμως δεν είναι.

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

Επίσης, οι του GNOME εδώ και πολύ καιρό αποφασίζουν να χτίσουν τα παράθυρα και να ανοίξουν άλλα όπου τους καπνίσει κάθε φορά αλλά μάλλον έφτασε στα αυτιά τους ο θόρυβος και έχουν δηλώσει ότι θα φροντίσουν να μη διαλύουν τη συμβατότητα κάθε τρεις και λίγο. Αυτός άλλωστε ήταν και ο λόγος που πολλοί μακροχρόνιοι δημιουργοί GTK θεμάτων τα παράτησαν μετά το 3.xx, γιατί έπρεπε να κάνουν προσαρμογές με κάθε νέα έκδοση.

Υ.Γ. Το Qt είναι συνήθως πιο ομαλό στις μεταβάσεις, όπως λες κι εσύ, όμως η έκδοση 5.7 ήταν αρκετά buggy (για τα δεδομένα του) γιατί κι εκείνοι έκαναν κάποιες ριζικές αλλαγές. Γι' αυτό ορισμένες διανομές θα παραμείνουν για όσο μπορούν στην 5.6, ενώ άλλες θα πάρουν την 5.8.
Το άπλυτο κορμί το πλένεις. Καθαρίζει. Η βρόμικη ψυχή πώς πλένεται;
  Απάντηση
#9
Μιας που αναφέρθηκε το Mate desktop, τώρα με το νέο init το systemd πρέπει οι συντελεστές όλων των desktop να τα προσαρμόσουν ώστε να είναι συμβατά με το systemd, π.χ το Gnome 3 λειτουργεί μόνο με systemd έτσι όποια διανομή θέλει να έχει το Gnome3 θα πρέπει να έχει και το systemd. Όσο για τις άλλες διανομές το Ubuntu 16.04 έκανε την επίσημη προσχώρηση στο systemd και ως επακόλουθο όλες οι παράγωγες διανομές όπως το Linux Mint κτλ. Έτσι είναι νωρίς ακόμα να δούμε τα αποτελέσματα του, εάν αναλογιστούμε ότι η πλειονότητα των χρηστών Linux τρέχουν παράγωγες διανομές Ubuntu και το Ubuntu.
Το 2017 θα έχει μια καλύτερη εικόνα για την επιτυχία ή όχι του εργαλείου systemd, από την αποδοχή ή όχι των χρηστών, καθώς επίσης και την πορεία των μη systemd διανομών.
Υπάρχει βέβαια και το ενδεχόμενο να αρχίζουν να αποχωρούν από το Linux προς άλλες κατευθύνσεις εάν φυσικά τα πράγματα δεν είναι φιλικά προς τους χρήστες.
  Απάντηση
#10
Από τη στιγμή που ο ρόλος μας δεν είναι η επίδειξη γνώσεων αλλά η καλύτερη κατανόηση των εννοιών που πραγματευόμαστε, κάθε διορθωτική παρέμβαση είναι καλοδεχούμενη. Τουλάχιστο σε ότι με αφορά όχι μόνο δεν υπάρχει "παρεξήγηση" αλλά επιπλέον θα σε ευχαριστήσω που διορθώνεις κάποια λάθη. Δε χρειάζεται να ζητάς συγνώμη λοιπόν αν είσαι σίγουρος ότι έτσι είναι τα πράγματα. Αλλωστε η πληροφόρησή μας από το web πολύ συχνά αναπαράγει σφάλματα κι αν δε διορθωθούν έγκαιρα παίρνουν μεγαλύτερες διαστάσεις.

Το "functions library" είναι ένας όρος που χρησιμοποιήθηκε κατα κόρο σε κάποιες ομάδες/κοινότητες προγραμματισμού με πολυεθνική σύνθεση, που έχουν αναπτύξει γνωστές εφαρμογές ανοιχτού κώδικα και παιχνίδια. Στην καθομιλουμένη αυτών των ομάδων τα toolkits γραφικών περιγράφονται σαν διευρυμένες functions libraries. Πιθανόν να πρόκειται για λάθος έκφραση που καθιερώθηκε για να διευκολύνει τον κώδικα επικοινωνίας, ακόμα και εσφαλμένα.
СМЕРТЬ НАСИПЬИКАМ ТРУДЯШИХСЯ
  Απάντηση


Ίσως Σχετικά Νήματα...
Νήμα Άτομο Απαντήσεις Βλεφαριάσματα Τελευταία Ανάρτηση
  Εξαφανίστηκε το panel καθώς πάτησα το ημερολόγιο στο Linux Mint 18.1 σε mate mikeius666p 69 5.969 22.09.2017 18:06
Τελευταία Ανάρτηση: debianass
  Μια επιφάνεια εργασίας, δύο οθόνες cpfotiadis 19 5.485 29.09.2014 00:04
Τελευταία Ανάρτηση: Πράος
  χάθηκε το γραφικό περιβάλλον ubuntu 14.04 Agriogatos 8 1.571 26.08.2014 07:06
Τελευταία Ανάρτηση: psyxroskianapodos
  Mate αλλαγη χρωματων εισοδου... georgezaf 8 1.441 11.08.2013 00:43
Τελευταία Ανάρτηση: georgezaf
  Πρόβλημα με γραφικό περιβάλλον [Λύθηκε] vaggter 3 798 14.11.2012 02:11
Τελευταία Ανάρτηση: constantinos

Πάμε στο Forum:


Πλάσματα σουλατσάρουν στο νήμα: 1 Επισκέπτης(ες)