Pateicoties projektam Crostini, Linux lietotnes drīz būs pieejamas operētājsistēmā Chrome OS, sākot ar Google Pixelbook. Kas ir Crostini un kāpēc tas ir tik svarīgi? Mēs iedziļināmies lielākajās Chrome OS pārmaiņās kopš Android lietotņu integrācijas.
Šeit ir viss, kas jums jāzina par Google gadu ilgušo slepeno Linux lietotņu funkcionalitātes attīstību operētājsistēmā Chrome OS, kas pazīstama arī kā Project Crostini.
Īsumā, tas ir veids, kā palaist parastās Linux lietojumprogrammas operētājsistēmā Chrome OS, neapdraudot drošību un neiespējojot izstrādātāja režīmu. (vēl nav pieejams) oficiālie iestatījumi ka tas ir "Palaidiet Linux rīkus, redaktorus un IDE savā Chromebook datorā".
Crostini ir vairāku gadu izstrādes kulminācija, kas ļāva funkcionalitātei darboties pietiekami droši, lai atbilstu Chrome OS augstajiem drošības standartiem. Lai saprastu, kāpēc tas tikai tagad parādās, vislabāk ir apskatīt to, kas bija iepriekš.
Crostini kontekstā — Chrome OS tumšie laikmeti
Pirms Android lietotņu parādīšanās uz skatuves nebija daudz bezsaistes funkcionalitātes, nemaz nerunājot par noderīgām produktivitātes lietotnēm operētājsistēmā Chrome OS. Kāpēc jebkuram saprātīgam cilvēkam būtu jāpērk Chromebook dators? “Tā ir tikai tīmekļa pārlūkprogramma,” bija katra Chromebook datora apskata noslēguma piezīme. Chrome interneta veikals bija tik daudz, cik jūs varat saņemt, taču lietotņu izvēle bija diezgan slikta un tika reti atjaunināta. Piedzīvojumu meklētāji varētu mēģināt palaist Android lietojumprogrammas, izmantojot rīku, ko sauc
ARC metinātājs, taču tas bija trāpīts vai garām, un sniegums bija vājš.Lai apietu bezsaistes ierobežojumus, neapmierinātie lietotāji vai nu notīrīja Chrome OS un instalēja Linux, vai izmantoja atvērtā pirmkoda rīku. Krutons lai iestatītu vienlaicīgu darbvirsmas vidi [piem., Ubuntu Unity], kas darbojas virs Chrome OS kodola.
Lai palaistu nomainītu GNU/Linux izplatīšanu vai Crouton, bija vajadzīgas diezgan lielas zināšanas, un bieži vien bija daudz kļūdu, un neviena no iespējām nebija īpaši lietotājam draudzīga vai droša. Nospiediet nepareizo taustiņu, un jūs noslaucīsit savu ierīci vai bloķēsit to, un, ja atstājāt savu Crouton vidi nešifrētu, jebkurš vieslietotājs varētu tai piekļūt.
Android lietotņu integrācija, radot precedentu
Android lietotnes ienāca operētājsistēmā Chrome OS 2016. gadā, un tas bija milzīgs lēciens bezsaistes funkcionalitātē, taču šīs funkcionalitātes iespējošana nebija tikai pievienošana un atskaņošana. Vienīgais veids, kā tas varētu darboties operētājsistēmā, kas augstu vērtē drošību, bija efektīva smilšu kaste.
Jaunais risinājums, ko izvēlējās Chrome OS izstrādātāji, bija konteinerizēšana, veids, kā apvienot lietojumprogrammas atsevišķās izpildāmās pakotnēs. Izmantojot konteineru un vairāk nekā dažus uzlabojumus, viņiem izdevās iegūt pilnu Android vidi un visu tās atkarības darbojas konteinerā, kas ir atdalīts no pārējās Chrome OS, taču darbojas tajā pašā kodols.
Taču Android lietotnes parasti netiek izstrādātas, ņemot vērā galddatoru/klēpjdatoru formas faktoru. Pievienojiet slikto pieskārienu operētājsistēmā Chrome OS, un, ja lietotnes vispār darbojās, jūs iegūsit neapmierinošu produktivitātes sesiju.
Lai gan Android lietotnes līdz šim ir palīdzējušas pārvarēt produktivitātes plaisu, joprojām pastāvēja ilgas pēc milzīgas pilnas darbvirsmas lietotņu bibliotēkas. Tāpat kā sākotnējā Android problēma, vienkārši atverot iespēju palaist Linux lietojumprogrammas palielināt Chrome OS uzbrukuma virsmu, jo ļaunprātīgām lietojumprogrammām var piekļūt visam, kas atrodas resursdatora OS. Tāpēc šoreiz izstrādātāji izstrādāja Linux lietotnes funkcionalitāti pēc iespējas klusāk, papildus tam, ko viņi jau apguva ar Android.
Aizsardzība dziļumā
Kā norāda nosaukums, Crostini ir kā Crouton, taču tā vietā, lai līdzās Chrome OS būtu nedroša lietotāja vieta, starp tām ir divas sienas. Pirmā siena ir Termina VM — Chrome OS KVM (uz kodolu balstīta virtuālā mašīna) ieviešana. Tiklīdz šī virtuālā mašīna tiek startēta, tā izveido otro sienu — konteineru — kurā pēc tam ir programma, kuru vēlaties palaist. Tātad, ja vēlaties palaist savu pilnvērtīgo Klondaika darbvirsmas lietotni, tā darbojas konteinerā-inside-a-VM.
Izstrādātāji nav padarījuši publiski pieejamo dokumentāciju īpaši sagremojamu no netehniskā viedokļa, taču no mana neoficiālā nespeciālista domām, programmatūra Chrome OS arhitektūra tagad, iespējams, izskatās šādi [piezīme: viss darbojas pats, noteikti nav oficiāls Chrome OS komandas dokuments, iespējams, pilnīgi nepatiess, lūdzu, nedariet sāpini mani]:
Īsāk sakot, VM komponentam ir atsevišķa lietotāja telpa un virtuālās ierīces (vCPU, IP, MAC u.c.), un konteiners ir pakotne, kas izmanto šos resursus. Šajā brīdī man vajadzētu pievienot brīdinājumu, ka VM komponents faktiski neatdarina nekādu aparatūru.
Tikai bagāti cilvēki... pagaidām
Daži, piemēram, Reddit kopiena /r/Crostini, jau sākuši lāpīt ar Krostīni savās Google Pixelbooks. Diemžēl, Pixelbook ir vienīgā ierīce, kurai līdz šim ir Crostini funkcionalitāte, taču zīmes norāda uz citām ierīcēm, pat ar ARM sistēmas mikroshēmām, kas saņems atbalstu nākotnē. Bet varbūt 32 bitu mašīnām vēl ne. Ir arī padomi, ka Crostini palaišanai ir nepieciešamas dažas VM funkcionalitātes daļas nebūs pieejams ierīcēm ar vecākām kodola versijām.
Ja esat nokļuvis tik tālu, jūs droši vien jautāsiet: ko es varu skriet? Panākumi ir bijuši ierobežoti. Chrome izstrādātāji ir devuši mājienu, ka viņiem darbojas Visual Studio. Reddit lietotāji ir panākuši WINE un Android Studio darbību, un ChromeUnboxed bija parocīgs video demonstrācija. Bet mēs, iespējams, neuzzināsim visas iespējas un ierobežojumus, pirms Google kaut ko parādīs. Tas, ko mēs zinām, ir tas lietotnes ir noturīgas, kas nozīmē, ka varat turpināt no vietas, kur pārtraucāt, un izstrādātāji strādā pie tā, lai tās būtu pieejamas jūsu jaunāko lietotņu sarakstā.
Kas tālāk? Daži punkti, kas jāņem vērā
Ja izmantojat izstrādātāja kanālu Chromebook datorā, kas nav Pixelbook dators, iespējams, jūsu Chromebook datorā ir pieejama lietotne Terminal. Iespējams, tiks parādīta kļūda “Neizdevās palaist konsjerža programmu”. Tas ir tāpēc, ka VM funkcionalitāte vēl nav iespējota citās ierīcēs, izņemot Pixelbook….
Mēs vēl nezinām, kā tiek piešķirti resursi un kāda veida pieskaitāmās izmaksas rada šīs ligzdotās lietotnes. Ideja par spēlēšanu ar Linux saderīgām Steam spēlēm ir vilinoša, taču, ja GPU paātrinājums nav pieejams, tad pagaidām tas ir aizliegts.
Mēs nezinām, kādus ierobežojumus radīs saimniekdatora/konteinera gaisa sprauga (ja tāda ir). Saziņa starp konteineru un Chrome OS tiek kontrolēta, tāpēc vai tas ieviesīs latentumu vai pat atspējos dažas perifērijas ierīces?
Mums ir daudz neatbildētu jautājumu, un tas ir tikai laika jautājums, līdz viss tiks atklāts. Daudzi ir pārliecināti Google I/O 2018 pēc dažām nedēļām būs lielais atklājums — tas ir loģiski, jo tā ir izstrādātāju konference. Tikmēr sekojiet līdzi jaunumiem, jo mēs sekojam līdzi Crostini.
Avoti:
Maksims Lins — Chrome OS konteineri
Chromium Git — ARC konteineru komplekts, vm_tools, projekts-termina, crosvm