Linux aplikacije na OS-u Chrome

click fraud protection

Linux aplikacije će uskoro biti dostupne na Chrome OS-u, počevši od Google Pixelbooka, zahvaljujući projektu Crostini. Što je Crostini i zašto je toliko važan? Uranjamo u najveću promjenu OS-a Chrome od integracije Android aplikacija.

Ovdje je sve što trebate znati o Googleovom jednogodišnjem tajnom razvoju funkcionalnosti Linux aplikacije u OS-u Chrome, također poznatom kao Projekt Crostini.

Ukratko, to je način pokretanja običnih Linux aplikacija na OS-u Chrome bez ugrožavanja sigurnosti ili omogućavanja načina rada za razvojne programere. (još nije dostupno) službena postavka navodi da je to "Pokretanje Linux alata, uređivača i IDE-a na vašem Chromebooku."

Crostini je kulminacija nekoliko godina razvoja koji je omogućio rad funkcionalnosti dovoljno siguran da zadovolji visoke sigurnosne standarde OS-a Chrome. Da biste razumjeli zašto se tek pojavljuje, najbolje je pogledati što je bilo prije.

Stavljanje Crostinija u kontekst – mračno doba Chrome OS-a

Prije nego što su Android aplikacije stigle na scenu, u OS-u Chrome nije bilo mnogo izvanmrežnih funkcija, a kamoli korisnih aplikacija za produktivnost. Zašto bi bilo koja zdrava osoba kupila Chromebook? "To je samo web preglednik", bila je završna primjedba svake recenzije Chromebooka. Chrome web trgovina bila je onoliko koliko ste mogli dobiti, ali izbor aplikacija bio je prilično loš i rijetko ažuriran. Avanturisti bi mogli pokušati pokrenuti Android aplikacije pomoću alata tzv

ARC zavarivač, ali to je bilo slučajno i izvedba je bila loša.

Kako bi zaobišli izvanmrežna ograničenja, frustrirani korisnici ili su obrisali Chrome OS i instalirali Linux ili koristili alat otvorenog koda Kockica prepečenog kruha za postavljanje simultanog okruženja radne površine [npr. Ubuntu Unity] koje radi na jezgri OS-a Chrome.

Instaliranje Croutona, alata otvorenog koda, prethodno de facto načina za pristup Linux aplikacijama na OS-u Chrome, koji će uskoro biti obustavljen

Pokretanje zamjenske distribucije GNU/Linuxa ili Croutona zahtijevalo je dosta znanja i često je bilo prožeto greškama—a nijedna opcija nije bila osobito laka za korištenje ili sigurna. Pritisnite pogrešnu tipku i izbrisat ćete svoj uređaj ili ga blokirati, a ako ste svoje Crouton okruženje ostavili nešifriranim, bilo koji gostujući korisnik mogao bi mu pristupiti.

Integracija Android aplikacije, postavljanje presedana

Android aplikacije dospjele su na OS Chrome 2016. i bile su veliki skok u izvanmrežnoj funkcionalnosti, ali omogućavanje ove funkcije nije bilo samo uključi i igraj. Jedini način na koji bi mogao funkcionirati na OS-u koji cijeni sigurnost bio je da je učinkovito zaštićen u sandboxu.

Novo rješenje koje su odabrali programeri OS-a Chrome bilo je kontejnerizacija, način spajanja aplikacija u samostalne izvršne pakete. Koristeći spremnik i više od nekoliko podešavanja, uspjeli su dobiti potpuno Android okruženje i sve njegove ovisnosti za pokretanje u spremniku, odvojene od ostatka OS-a Chrome, ali rade na istom zrno.

Ali Android aplikacije obično se ne razvijaju imajući na umu oblik stolnog/prijenosnog računala. Dodajte loše iskustvo dodira na OS-u Chrome u kombinaciju i dobit ćete frustrirajuću sesiju produktivnosti ako su aplikacije uopće radile.

Glavobolje s kompatibilnošću—Android aplikacije na OS-u Chrome

Dok su Android aplikacije do sada pomogle premostiti jaz u produktivnosti, još uvijek je postojala ta čežnja za ogromnom bibliotekom cjelovitih aplikacija za stolna računala. Kao i kod početnog problema s Androidom, jednostavno otvaranje mogućnosti pokretanja Linux aplikacija bi povećati površinu napada OS-a Chrome jer bi zlonamjerne aplikacije mogle imati pristup svemu na host OS. Stoga su ovaj put razvojni programeri dizajnirali funkcionalnost Linux aplikacije što je više moguće, povrh onoga što su već naučili s Androidom.

Dubinska obrana

Kao što ime implicira, Crostini je poput Croutona, ali umjesto nesigurnog korisničkog prostora koji se nalazi uz Chrome OS, ima dva zida između njih. Prvi zid je Termina VM, Chrome OS KVM (Virtualni stroj temeljen na jezgri) implementacija. Nakon što se taj VM pokrene, postavlja drugi zid - spremnik - koji zatim ima aplikaciju koju zapravo želite pokrenuti. Dakle, kada želite pokrenuti svoju potpunu Klondike aplikaciju za stolna računala, ona radi u kontejneru unutar VM-a.

Razvojni programeri nisu dokumentaciju za javnost učinili posebno probavljivom s netehničke točke gledišta, ali iz mog neslužbenog laičkog čitanja, softver arhitektura za Chrome OS sada vjerojatno izgleda ovako [napomena: sve radi moje vlastito, definitivno nije službeni dokument Chrome OS tima, vjerojatno potpuno neistinito, molim vas nemojte povrijedi me]:

Kako mi mislimo da izgleda Crostinijeva arhitektura. Nije službeni dokument.

Ukratko, VM komponenta ima zaseban korisnički prostor i virtualne uređaje (vCPU, IP, MAC, itd.), a spremnik je pakirana aplikacija koja koristi te resurse. U ovom trenutku, trebao bih dodati upozorenje da VM komponenta zapravo ne emulira nikakav hardver.

Samo bogati ljudi… za sada

Neki, poput zajednice na Redditu /r/Crostini, već su počeli petljati s Crostinijem na njihovom Google Pixelbooks. Nažalost, Pixelbook je jedini uređaj koji do sada ima Crostini funkcionalnost, ali znakovi upućuju na druge uređaje, čak i one s ARM sustavom na čipu, koji će dobiti podršku u budućnosti. Ali možda ne još sasvim za 32-bitne strojeve. Također postoje naznake da su neki dijelovi VM funkcionalnosti potrebni za pokretanje Crostinija neće biti dostupan za uređaje sa starijim verzijama kernela.

Ako ste stigli ovako daleko, vjerojatno se pitate: Što mogu pokrenuti? Uspjeh je ograničen. Programeri Chromea nagovijestili su da imaju pokrenut Visual Studio. Korisnici Reddita natjerali su WINE i Android Studio da rade, a ChromeUnboxed im je pomogao video demo. Ali vjerojatno nećemo znati sve mogućnosti — i ograničenja — prije nego što Google nešto doista pokaže. Ono što znamo je da aplikacije su postojane, što znači da možete nastaviti tamo gdje ste stali i da programeri rade na tome da ih učine dostupnima na vašem popisu nedavnih aplikacija.

Što dalje? Nekoliko točaka koje treba razmotriti

Ako ste na razvojnom kanalu na Chromebooku koji nije Pixelbook, aplikacija Terminal možda je stigla na vaš Chromebook. Možda ćete vidjeti pogrešku "pokretanje vratara nije uspjelo". To je zato što VM funkcionalnost još nije omogućena na uređajima osim Pixelbooka...

Još ne znamo kako se resursi dodjeljuju i kakvu vrstu opterećenja proizvode te ugniježđene aplikacije. Ideja igranja na Steam igricama kompatibilnim s Linuxom je primamljiva, ali ako GPU-ubrzanje nije dostupno, za sada nema smisla.

Ne znamo kakva će ograničenja proizvesti zračni raspor domaćin/spremnik (ako ih ima). Komunikacija između spremnika i OS-a Chrome je kontrolirana, pa hoće li to dovesti do kašnjenja ili čak onemogućiti neke periferne uređaje?

Imamo mnogo neodgovorenih pitanja i samo je pitanje vremena kada će se sve otkriti. Mnogi su uvjereni Google I/O 2018 za nekoliko tjedana bit će veliko otkriće - ima smisla jer je riječ o konferenciji za razvojne programere. U međuvremenu, ostanite s nama dok pratimo Crostinija.


Izvori:

Maksim Lin – Chrome OS kontejneri

Chromium Git - Paket ARC kontejnera, vm_alati, projekt-termina, crosvm