Linux-ის აპლიკაციები მალე ხელმისაწვდომი იქნება Chrome OS-ზე, Google Pixelbook-ით დაწყებული, Project Crostini-ის წყალობით. რა არის კროსტინი და რატომ არის ის ასე მნიშვნელოვანი? ჩვენ ჩავუღრმავდებით ყველაზე დიდ ცვლილებას Chrome OS-ში Android აპის ინტეგრაციის შემდეგ.
აქ არის ყველაფერი, რაც უნდა იცოდეთ Google-ის მიერ Chrome OS-ში Linux-ის აპების ფუნქციონირების საიდუმლო განვითარების შესახებ, რომელიც ასევე ცნობილია როგორც Project Crostini.
მოკლედ, ეს არის Chrome OS-ზე რეგულარული Linux აპლიკაციების გაშვების საშუალება უსაფრთხოების დარღვევის ან დეველოპერის რეჟიმის ჩართვის გარეშე. (ჯერ არ არის ხელმისაწვდომი) ოფიციალური გარემოს ქვეყნები რომ ეს არის "თქვენს Chromebook-ზე Linux ინსტრუმენტების, რედაქტორების და IDE-ების გაშვება."
Crostini არის რამდენიმეწლიანი განვითარების კულმინაცია, რამაც საშუალება მისცა ფუნქციონირებას საკმარისად უსაფრთხოდ ემუშავა Chrome OS-ის მაღალი უსაფრთხოების სტანდარტების შესასრულებლად. იმის გასაგებად, თუ რატომ ჩნდება ის მხოლოდ, უმჯობესია გადახედოთ მანამდე.
Crostini-ის კონტექსტში მოთავსება – Chrome OS-ის ბნელი ხანა
სანამ Android-ის აპლიკაციები ადგილზე მოვიდოდა, ოფლაინ ფუნქციონალობას ბევრი რამ არ აწუხებდა, რომ აღარაფერი ვთქვათ სასარგებლო პროდუქტიულობის აპებზე Chrome OS-ში. რატომ იყიდის ნებისმიერი გონიერი ადამიანი Chromebook-ს? "ეს უბრალოდ ვებ ბრაუზერია", - იყო Chromebook-ის ყველა მიმოხილვის დასკვნითი კომენტარი. Chrome Web Store იყო იმდენი, რამდენიც თქვენ მიიღებთ, მაგრამ აპლიკაციების შერჩევა საკმაოდ ცუდი და იშვიათად განახლებული იყო. თავგადასავლების მოყვარულებს შეუძლიათ სცადონ Android აპლიკაციების გაშვება ხელსაწყოს გამოყენებით, რომელსაც ე.წ ARC შემდუღებელი, მაგრამ ეს იყო დარტყმა-ან-გამოტოვება და შესრულება იყო ცუდი.
ხაზგარეშე შეზღუდვების თავიდან ასაცილებლად, იმედგაცრუებულმა მომხმარებლებმა ან წაშალეს Chrome OS და დააინსტალირეს Linux ან გამოიყენეს ღია კოდის ინსტრუმენტი კრუტონი Chrome OS-ის ბირთვის თავზე მომუშავე დესკტოპის ერთდროული გარემოს [მაგ. Ubuntu Unity] დასაყენებლად.
ჩანაცვლებითი GNU/Linux დისტრიბუციის ან Crouton-ის გაშვება მოითხოვდა გარკვეულ ცოდნას და ხშირად იყო გაფუჭებული შეცდომებით – და არც ერთი ვარიანტი არ იყო განსაკუთრებით მოსახერხებელი ან უსაფრთხო. დააჭირეთ არასწორ კლავიშს და წაშლით თქვენს მოწყობილობას ან აგურით მას, და თუ კრუტონის გარემო დაუშიფრავი დატოვეთ, ნებისმიერ სტუმარ მომხმარებელს შეეძლება მასზე წვდომა.
Android აპლიკაციის ინტეგრაცია, პრეცედენტის შექმნა
Android-ის აპლიკაციები Chrome OS-ზე 2016 წელს დაეშვა და უზარმაზარი ნახტომი იყო ოფლაინ ფუნქციონალობაში, მაგრამ ამ ფუნქციის ჩართვა არ იყო მხოლოდ plug-and-play. ერთადერთი გზა, რომლითაც მას შეეძლო იმუშაოს OS-ზე, რომელიც აფასებს უსაფრთხოებას, იყო თუ ის ეფექტურად ქვიშის ყუთში იქნებოდა.
ახალი გადაწყვეტა, რომელიც Chrome OS-ის დეველოპერებმა აირჩიეს, იყო კონტეინერიზაცია, აპლიკაციების დამოუკიდებელ შესრულებად პაკეტებში შეკვრის საშუალება. კონტეინერის და რამდენიმე შესწორების გამოყენებით, მათ მოახერხეს სრული Android გარემოს მიღება და ყველაფერი მისი დამოკიდებულებები იმუშაოს კონტეინერში, განცალკევებული Chrome OS-ისგან, რომელიც მუშაობს იმავეზე ბირთვი.
მაგრამ ანდროიდის აპლიკაციები ჩვეულებრივ არ არის შემუშავებული დესკტოპის/ლეპტოპის ფორმის ფაქტორის გათვალისწინებით. დაამატეთ Chrome OS-ზე ცუდი შეხების გამოცდილება მიქსში და თქვენ გექნებათ იმედგაცრუებული პროდუქტიულობის სესია, თუ აპები საერთოდ მუშაობდნენ.
მიუხედავად იმისა, რომ ანდროიდის აპლიკაციები აქამდე დაეხმარნენ პროდუქტიულობის უფსკრულის გადალახვას, ჯერ კიდევ იყო ლტოლვა სრული დესკტოპის აპლიკაციების მასიური ბიბლიოთეკისკენ. როგორც Android-ის თავდაპირველი პრობლემის შემთხვევაში, უბრალოდ გაიხსნება Linux აპლიკაციების გაშვების შესაძლებლობა გაზარდეთ Chrome OS-ის თავდასხმის ზედაპირი, რადგან მავნე აპლიკაციებს შეეძლოთ ყველაფერზე წვდომა მასპინძელი OS. ასე რომ, ამჯერად დეველოპერებმა შექმნეს Linux-ის აპლიკაციის ფუნქციონალობა, რაც შეიძლება შეძლებისდაგვარად დახვეწილი, იმის გარდა, რაც უკვე ისწავლეს Android-ით.
თავდაცვა სიღრმისეულად
როგორც სახელი გულისხმობს, Crostini ჰგავს Crouton-ს, მაგრამ იმის ნაცვლად, რომ ჰქონდეს არასაიმედო მომხმარებლის სივრცე Chrome OS-ის გვერდით, მას აქვს ორი კედელი მათ შორის. პირველი კედელი არის Termina VM, Chrome OS KVM (ბირთვზე დაფუძნებული ვირტუალური მანქანა) დანერგვა. როგორც კი ეს VM დაიწყება, ის აყენებს მეორე კედელს - კონტეინერს - რომელსაც აქვს აპლიკაცია, რომლის გაშვება ნამდვილად გსურთ. ასე რომ, როდესაც გსურთ თქვენი სრულფასოვანი Klondike დესკტოპის აპლიკაციის გაშვება, ის მუშაობს კონტეინერში-შიდა VM-ში.
დეველოპერებმა არ გახადეს საჯარო დოკუმენტაცია განსაკუთრებით მოსანელებელი არატექნიკური თვალსაზრისით, მაგრამ ჩემი არაოფიციალური ხალხური მოსმენით, პროგრამული უზრუნველყოფა არქიტექტურა Chrome OS-ისთვის ახლა ალბათ ასე გამოიყურება [შენიშვნა: ყველაფერი ჩემია, ნამდვილად არ არის Chrome OS გუნდის ოფიციალური დოკუმენტი, ალბათ სრულიად ტყუილია, გთხოვთ, ნუ მტკივა]:
მოკლედ, VM კომპონენტს აქვს ცალკე მომხმარებლის სივრცე და ვირტუალური მოწყობილობები (vCPU, IP, MAC და ა.შ.), ხოლო კონტეინერი არის შეფუთული აპლიკაცია, რომელიც იყენებს ამ რესურსებს. ამ ეტაპზე, უნდა დავამატო გაფრთხილება, რომ VM კომპონენტი რეალურად არ ემსგავსება რაიმე აპარატურას.
მხოლოდ მდიდარი ადამიანები... ჯერჯერობით
ზოგიერთს მოსწონს საზოგადოება Reddit's-ში /r/Crostini, უკვე დაიწყეს კროსტინის ჩხუბი მათზე Google Pixelbooks. სამწუხაროდ, Pixelbook არის ერთადერთი მოწყობილობა, რომელსაც აქვს Crostini ფუნქციონირება ჯერჯერობით, მაგრამ ნიშნები მიუთითებს სხვა მოწყობილობებზე, თუნდაც ARM სისტემით ჩიპებზე, რომლებიც მომავალში მიიღებენ მხარდაჭერას. მაგრამ ალბათ ჯერ არ არის 32-ბიტიანი მანქანებისთვის. ასევე არის მინიშნებები, რომ Crostini-ის გასაშვებად საჭიროა VM ფუნქციონირების ზოგიერთი ნაწილი არ იქნება ხელმისაწვდომი მოწყობილობებისთვის, რომლებსაც აქვთ ბირთვის ძველი ვერსიები.
თუ აქამდე მიაღწიეთ, ალბათ გაინტერესებთ: რა შემიძლია გავიქცე? წარმატება შეზღუდულია. Chrome-ის დეველოპერებმა მიუთითეს, რომ მათ აქვთ Visual Studio გაშვებული. Reddit-ის მომხმარებლებმა მიიღეს WINE-ისა და Android Studio-ის მუშაობა და ChromeUnboxed-მა ეს ძალიან მოსახერხებელია ვიდეო დემო. მაგრამ ჩვენ ალბათ არ გვეცოდინება სრული შესაძლებლობები და შეზღუდვები, სანამ Google რეალურად რაიმეს გამოაჩენს. რაც ჩვენ ვიცით არის ის აპლიკაციები მუდმივია, რაც იმას ნიშნავს, რომ შეგიძლიათ გააგრძელოთ იქ, სადაც შეჩერდით და რომ დეველოპერები მუშაობენ მათ ხელმისაწვდომობაზე თქვენს ბოლო აპების სიაში.
Შემდეგი რა არის? გასათვალისწინებელია რამდენიმე პუნქტი
თუ თქვენ იმყოფებით დეველოპერის არხზე Chromebook-ის გარდა Pixelbook-ის გარდა, ტერმინალის აპი შესაძლოა თქვენს Chromebook-ზე მოვიდა. თქვენ შეიძლება დაინახოთ შეცდომა "კონსიერჟის დაწყება ვერ მოხერხდა". ეს იმიტომ, რომ VM ფუნქციონირება ჯერ არ არის ჩართული Pixelbook-ის გარდა სხვა მოწყობილობებზე...
ჩვენ ჯერ არ ვიცით, როგორ ნაწილდება რესურსები და რა სახის ზედნადებს აწარმოებს ეს ჩადგმული აპლიკაციები. Linux-თან თავსებად Steam თამაშებზე თამაშის იდეა მომხიბვლელია, მაგრამ თუ GPU-ს აჩქარება მიუწვდომელია მაშინ, ამ დროისთვის, ის აკრძალულია.
ჩვენ არ ვიცით, რა შეზღუდვებს გამოიწვევს მასპინძელი/კონტეინერის ჰაერის უფსკრული (ასეთის არსებობის შემთხვევაში). კონტეინერსა და Chrome OS-ს შორის კომუნიკაცია კონტროლდება, ასე რომ, ეს გამოიწვევს შეყოვნებას ან თუნდაც გამორთავს ზოგიერთ პერიფერიულ მოწყობილობას?
ჩვენ გვაქვს ბევრი პასუხგაუცემელი კითხვა და ეს მხოლოდ დროის საკითხია, სანამ ყველაფერი გაირკვევა. ბევრი დარწმუნებულია Google I/O 2018 რამდენიმე კვირაში იქნება დიდი გამოვლენა - აზრი აქვს, რადგან ეს დეველოპერების კონფერენციაა. ამასობაში, თვალყური ადევნეთ კროსტინის კვალს.
წყაროები:
Maksim Lin – Chrome OS კონტეინერები
Chromium Git - ARC კონტეინერის პაკეტი, vm_tools, პროექტი-ტერმინა, კროსვმ