Οι εφαρμογές Linux θα είναι σύντομα διαθέσιμες στο Chrome OS, ξεκινώντας από το Google Pixelbook, χάρη στο Project Crostini. Τι είναι το Crostini και γιατί είναι τόσο σημαντικό; Βουτάμε στη μεγαλύτερη αλλαγή στο Chrome OS από την ενσωμάτωση της εφαρμογής Android.
Εδώ είναι όλα όσα χρειάζεται να ξέρετε για τη μυστική ανάπτυξη της Google για ένα χρόνο στη λειτουργικότητα της εφαρμογής Linux στο Chrome OS, γνωστή και ως Project Crostini.
Με λίγα λόγια, είναι ένας τρόπος να εκτελείτε κανονικές εφαρμογές Linux στο Chrome OS χωρίς να τίθεται σε κίνδυνο η ασφάλεια ή να ενεργοποιείται η λειτουργία προγραμματιστή. Το (δεν είναι ακόμη διαθέσιμο) επίσημες καταστάσεις ότι πρόκειται για "Εκτέλεση εργαλείων Linux, επεξεργαστών και IDE στο Chromebook σας".
Το Crostini είναι το επιστέγασμα αρκετών ετών ανάπτυξης που επέτρεψε στη λειτουργικότητα να λειτουργεί με επαρκή ασφάλεια ώστε να πληροί τα πρότυπα υψηλής ασφάλειας του Chrome OS. Για να καταλάβετε γιατί μόλις εμφανίζεται, είναι καλύτερο να δείτε τι προηγήθηκε.
Βάζοντας το Crostini στο πλαίσιο – οι σκοτεινές εποχές του Chrome OS
Πριν φτάσουν οι εφαρμογές Android στη σκηνή, δεν υπήρχαν πολλά εμπόδια στη λειτουργικότητα εκτός σύνδεσης, πόσο μάλλον χρήσιμες εφαρμογές παραγωγικότητας στο Chrome OS. Γιατί κάποιος λογικός άνθρωπος θα αγοράσει ένα Chromebook; "Είναι απλώς ένα πρόγραμμα περιήγησης ιστού", ήταν η τελευταία παρατήρηση κάθε κριτικής του Chromebook. Το Chrome Web Store ήταν όσο θα έπαιρνες, αλλά η επιλογή των εφαρμογών ήταν αρκετά κακή και σπάνια ενημερωνόταν. Οι τολμηροί θα μπορούσαν να δοκιμάσουν να τρέξουν εφαρμογές Android χρησιμοποιώντας ένα εργαλείο που ονομάζεται ARC Welder, αλλά αυτό ήταν hit-or-miss και η απόδοση ήταν κακή.
Για να ξεπεράσουν τους περιορισμούς εκτός σύνδεσης, οι απογοητευμένοι χρήστες είτε διέγραψαν το Chrome OS και εγκατέστησαν Linux είτε χρησιμοποίησαν το εργαλείο ανοιχτού κώδικα Φρυγανιά σούπας για να ρυθμίσετε ένα ταυτόχρονο περιβάλλον επιφάνειας εργασίας [π.χ. Ubuntu Unity] που λειτουργεί πάνω από τον πυρήνα του Chrome OS.
Η εκτέλεση μιας αντικατάστασης διανομής GNU/Linux ή Crouton απαιτούσε αρκετή τεχνογνωσία και συχνά ήταν γεμάτη σφάλματα—και καμία επιλογή δεν ήταν ιδιαίτερα φιλική προς το χρήστη ή ασφαλής. Πιέστε το λάθος κλειδί και θα σκουπίσετε τη συσκευή σας ή θα την πλακώσετε και αν αφήσετε το περιβάλλον Crouton μη κρυπτογραφημένο, οποιοσδήποτε επισκέπτης χρήστης θα μπορούσε να έχει πρόσβαση σε αυτό.
Ενσωμάτωση εφαρμογών Android, δημιουργώντας προηγούμενο
Οι εφαρμογές Android προσγειώθηκαν στο Chrome OS το 2016 και ήταν ένα τεράστιο άλμα στη λειτουργικότητα εκτός σύνδεσης, αλλά η ενεργοποίηση αυτής της λειτουργικότητας δεν ήταν απλώς plug-and-play. Ο μόνος τρόπος με τον οποίο θα μπορούσε να λειτουργήσει σε ένα λειτουργικό σύστημα που εκτιμά την ασφάλεια ήταν εάν ήταν αποτελεσματικό σε sandbox.
Η νέα λύση που επέλεξαν οι προγραμματιστές του Chrome OS ήταν μεταφορά σε εμπορευματοκιβώτια, ένας τρόπος ομαδοποίησης εφαρμογών σε αυτόνομα εκτελέσιμα πακέτα. Χρησιμοποιώντας ένα κοντέινερ και περισσότερες από μερικές τροποποιήσεις, κατάφεραν να αποκτήσουν το πλήρες περιβάλλον Android και όλα αυτά οι εξαρτήσεις του να εκτελούνται σε ένα κοντέινερ, διαχωρισμένο από το υπόλοιπο Chrome OS που όμως εκτελείται στο ίδιο πυρήνας.
Ωστόσο, οι εφαρμογές Android δεν αναπτύσσονται συνήθως έχοντας κατά νου έναν παράγοντα μορφής για επιτραπέζιους υπολογιστές/φορητούς υπολογιστές. Προσθέστε μια κακή εμπειρία αφής στο Chrome OS και θα έχετε μια απογοητευτική περίοδο λειτουργίας παραγωγικότητας εάν οι εφαρμογές λειτουργούσαν καθόλου.
Ενώ οι εφαρμογές Android βοήθησαν να γεφυρωθεί το χάσμα παραγωγικότητας μέχρι στιγμής, υπήρχε ακόμα αυτή η λαχτάρα για την τεράστια βιβλιοθήκη με πλήρεις εφαρμογές επιτραπέζιου υπολογιστή. Όπως και με το αρχικό πρόβλημα Android, θα ήταν απλώς άνοιγμα της δυνατότητας εκτέλεσης εφαρμογών Linux αυξήστε την επιφάνεια επίθεσης του Chrome OS επειδή οι κακόβουλες εφαρμογές θα μπορούσαν να έχουν πρόσβαση σε οτιδήποτε υπάρχει κεντρικού λειτουργικού συστήματος. Έτσι, αυτή τη φορά οι προγραμματιστές σχεδίασαν τη λειτουργικότητα της εφαρμογής Linux όσο το δυνατόν πιο προσεγμένη, πάνω από αυτά που έχουν ήδη μάθει με το Android.
Άμυνα σε βάθος
Όπως υποδηλώνει το όνομα, το Crostini είναι σαν το Crouton, αλλά αντί να έχει έναν ανασφαλή χώρο χρήστη δίπλα στο Chrome OS, έχει δύο τοίχους ανάμεσά τους. Ο πρώτος τοίχος είναι το Termina VM, μια εφαρμογή Chrome OS KVM (Virtual Machine με βάση τον πυρήνα). Μόλις ξεκινήσει αυτό το εικονικό σύστημα, τοποθετεί τον δεύτερο τοίχο - ένα κοντέινερ - το οποίο στη συνέχεια έχει την εφαρμογή που πραγματικά θέλετε να εκτελέσετε. Έτσι, όταν θέλετε να εκτελέσετε την ολοκληρωμένη εφαρμογή επιτραπέζιου υπολογιστή Klondike, αυτή εκτελείται σε ένα κοντέινερ μέσα σε ένα VM.
Οι προγραμματιστές δεν έχουν κάνει την τεκμηρίωση που εμφανίζεται στο κοινό ιδιαίτερα εύπεπτη από μη τεχνική άποψη, αλλά από την ανεπίσημη απλή ανάγνωση μου, το λογισμικό η αρχιτεκτονική για το Chrome OS τώρα μάλλον μοιάζει με αυτό [σημείωση: όλα λειτουργούν δικά μου, σίγουρα δεν είναι επίσημο έγγραφο της ομάδας του Chrome OS, μάλλον εντελώς αναληθής, μην το κάνετε πλήγωσέ με]:
Εν ολίγοις, το στοιχείο VM έχει ξεχωριστό χώρο χρήστη και εικονικές συσκευές (vCPU, IP, MAC, κ.λπ.) και το κοντέινερ είναι μια συσκευασμένη εφαρμογή που χρησιμοποιεί αυτούς τους πόρους. Σε αυτό το σημείο, θα πρέπει να προσθέσω μια προειδοποίηση ότι το στοιχείο VM στην πραγματικότητα δεν μιμείται κανένα υλικό.
Μόνο πλούσιοι… προς το παρόν
Κάποιοι, όπως η κοινότητα στο Reddit's /r/Crostini, έχουν ήδη αρχίσει να ασχολούνται με τον Crostini στο δικό τους Google Pixelbooks. Δυστυχώς, το Το Pixelbook είναι η μόνη συσκευή που έχει τη λειτουργικότητα Crostini μέχρι στιγμής, αλλά οι πινακίδες δείχνουν ότι άλλες συσκευές, ακόμη και αυτές με σύστημα ARM-on-chips, θα λαμβάνουν υποστήριξη στο μέλλον. Αλλά ίσως όχι ακόμα για μηχανές 32-bit. Υπάρχουν επίσης υποδείξεις ότι ορισμένα τμήματα της λειτουργικότητας VM απαιτούνται για την εκτέλεση του Crostini δεν θα είναι διαθέσιμο για συσκευές με παλαιότερες εκδόσεις πυρήνα.
Αν έχετε φτάσει τόσο μακριά, πιθανότατα αναρωτιέστε: Τι μπορώ να τρέξω; Η επιτυχία ήταν περιορισμένη. Οι προγραμματιστές του Chrome υπαινίχθηκαν ότι εκτελούν το Visual Studio. Οι χρήστες του Reddit έχουν κάνει το WINE και το Android Studio να λειτουργούν και το ChromeUnboxed τα κατάφερε επίδειξη βίντεο. Αλλά πιθανότατα δεν θα γνωρίζουμε τις πλήρεις δυνατότητες —και τους περιορισμούς— προτού η Google παρουσιάσει πραγματικά κάτι. Αυτό που ξέρουμε είναι ότι οι εφαρμογές είναι επίμονες, που σημαίνει ότι μπορείτε να συνεχίσετε από εκεί που σταματήσατε και ότι οι προγραμματιστές εργάζονται για να τις καταστήσουν διαθέσιμες στη λίστα πρόσφατων εφαρμογών σας.
Ποιο είναι το επόμενο? Μερικά σημεία που πρέπει να ληφθούν υπόψη
Εάν βρίσκεστε στο κανάλι προγραμματιστή σε ένα Chromebook διαφορετικό από ένα Pixelbook, η εφαρμογή Terminal ενδέχεται να έχει φτάσει στο Chromebook σας. Ενδέχεται να δείτε ένα σφάλμα "αποτυχία έναρξης θυρωρείου". Αυτό συμβαίνει επειδή η λειτουργία VM δεν έχει ενεργοποιηθεί σε άλλες συσκευές εκτός από το Pixelbook… ακόμα.
Δεν γνωρίζουμε ακόμη πώς κατανέμονται οι πόροι και τι είδους γενικά έξοδα παράγουν αυτές οι ένθετες εφαρμογές. Η ιδέα του παιχνιδιού σε παιχνίδια Steam συμβατά με Linux είναι δελεαστική, αλλά αν η επιτάχυνση GPU δεν είναι διαθέσιμη, τότε, προς το παρόν, είναι απαγορευμένη.
Δεν γνωρίζουμε ποιους περιορισμούς θα δημιουργήσει το διάκενο αέρα υποδοχής/κοντέινερ (εάν υπάρχουν). Η επικοινωνία μεταξύ του κοντέινερ και του Chrome OS είναι ελεγχόμενη, οπότε αυτό θα δημιουργήσει λανθάνουσα κατάσταση ή θα απενεργοποιήσει ορισμένα περιφερειακά;
Έχουμε πολλά αναπάντητα ερωτήματα και είναι θέμα χρόνου να αποκαλυφθούν όλα. Πολλοί είναι πεπεισμένοι Google I/O 2018 σε λίγες εβδομάδες θα είναι η μεγάλη αποκάλυψη—είναι λογικό καθώς πρόκειται για συνέδριο προγραμματιστών. Στο μεταξύ, μείνετε συντονισμένοι καθώς παρακολουθούμε το Crostini.
Πηγές:
Maksim Lin – Δοχεία Chrome OS
Chromium Git - Πακέτο δοχείου ARC, vm_tools, έργο-τερματικό, crosvm