Aplikácie pre Linux v systéme Chrome OS

click fraud protection

Aplikácie pre Linux budú čoskoro dostupné v systéme Chrome OS, počnúc Google Pixelbookom, vďaka projektu Crostini. Čo je Crostini a prečo je taký dôležitý? Ponoríme sa do najväčšej zmeny systému Chrome OS od integrácie aplikácie pre Android.

Tu je všetko, čo potrebujete vedieť o celoročnom utajenom vývoji funkcií aplikácií pre Linux v systéme Chrome OS spoločnosťou Google, ktorý je známy aj ako Project Crostini.

Stručne povedané, je to spôsob, ako spúšťať bežné aplikácie pre Linux v systéme Chrome OS bez toho, aby sa ohrozila bezpečnosť alebo aktivoval režim vývojára. (zatiaľ nie je k dispozícii) stavy oficiálneho nastavenia že je to „Spustite na Chromebooku nástroje, editory a IDE systému Linux“.

Crostini je vyvrcholením niekoľkoročného vývoja, ktorý umožnil, aby funkcia fungovala dostatočne bezpečne, aby spĺňala štandardy vysokého zabezpečenia systému Chrome OS. Aby ste pochopili, prečo sa to len objavuje, je najlepšie pozrieť sa na to, čo bolo predtým.

Uvedenie Crostini do kontextu – temné časy systému Chrome OS

Predtým, ako sa na scénu objavili aplikácie pre Android, v systéme Chrome OS toho nebolo veľa v ceste k funkciám offline, nehovoriac o užitočných aplikáciách na zvýšenie produktivity. Prečo by si každý rozumný človek kupoval Chromebook? „Je to len webový prehliadač,“ znela záverečná poznámka každej recenzie Chromebooku. Internetový obchod Chrome bol toľko, koľko by ste mohli dostať, ale výber aplikácií bol dosť slabý a zriedka sa aktualizoval. Odvážlivci si mohli vyskúšať spúšťať Android aplikácie pomocou nástroja tzv Oblúková zváračka, ale to bol výsledok a výkon bol slabý.

Aby sa vyhli obmedzeniam offline, frustrovaní používatelia buď vymazali Chrome OS a nainštalovali Linux, alebo použili nástroj s otvoreným zdrojovým kódom krutón na nastavenie simultánneho desktopového prostredia [napr. Ubuntu Unity] pracujúceho nad jadrom OS Chrome.

Inštalácia Crouton, open-source sady nástrojov, predtým de facto spôsobu prístupu k aplikáciám Linux v systéme Chrome OS, bude čoskoro ukončená

Spustenie náhradnej distribúcie GNU/Linux alebo Crouton si vyžadovalo poriadnu dávku know-how a často bolo plné chýb – a ani jedna z možností nebola zvlášť užívateľsky príjemná alebo bezpečná. Stlačte nesprávny kláves a vymažete svoje zariadenie alebo ho zablokujete, a ak necháte prostredie Crouton nezašifrované, bude k nemu mať prístup každý hosťujúci používateľ.

Integrácia aplikácií pre Android vytvára precedens

Aplikácie pre Android sa dostali do systému Chrome OS v roku 2016 a predstavovali obrovský skok vo funkciách offline, ale aktivácia tejto funkcie nebola len plug-and-play. Jediný spôsob, ako by to mohlo fungovať na operačnom systéme, ktorý si cení bezpečnosť, bolo, keby bol efektívne izolovaný.

Nové riešenie, ktoré si vývojári Chrome OS vybrali, bolo kontajnerizácia, spôsob, ako spojiť aplikácie do samostatných spustiteľných balíkov. Pomocou kontajnera a viac ako niekoľkých vylepšení sa im podarilo získať plné prostredie Androidu a všetko jeho závislosti sa spúšťajú v kontajneri oddelenom od zvyšku OS Chrome, no bežia na tom istom jadro.

Aplikácie pre Android sa však zvyčajne nevyvíjajú s ohľadom na formát stolného počítača/laptopu. Pridajte k tomu zlý dotykový zážitok v systéme Chrome OS a ak aplikácie vôbec fungovali, máte frustrujúcu reláciu produktivity.

Bolesti hlavy s kompatibilitou – aplikácie pre Android v systéme Chrome OS

Zatiaľ čo aplikácie pre Android pomohli prekonať medzeru v produktivite, stále tu bola túžba po rozsiahlej knižnici úplných aplikácií pre stolné počítače. Rovnako ako pri počiatočnom probléme so systémom Android by sa jednoducho otvorila možnosť spúšťať aplikácie pre Linux zvýšiť útočnú plochu OS Chrome, pretože škodlivé aplikácie by mohli mať prístup ku všetkému na hostiteľský OS. Tentoraz teda vývojári navrhli funkčnosť aplikácií pre Linux čo najpresnejšie, nad rámec toho, čo sa už naučili s Androidom.

Obrana do hĺbky

Ako už názov napovedá, Crostini je ako Crouton, ale namiesto neistého používateľského priestoru vedľa Chrome OS má dve steny medzi nimi. Prvou stenou je Termina VM, implementácia Chrome OS KVM (Kernel-based Virtual Machine). Keď sa tento virtuálny počítač spustí, umiestni druhú stenu – kontajner – ktorý potom obsahuje aplikáciu, ktorú skutočne chcete spustiť. Takže keď chcete spustiť svoju plnohodnotnú desktopovú aplikáciu Klondike, beží v kontajneri vo vnútri virtuálneho počítača.

Vývojári neurobili dokumentáciu určenú pre verejnosť zvlášť stráviteľnou z netechnického hľadiska, ale z môjho neoficiálneho laického čítania softvér architektúra pre Chrome OS teraz pravdepodobne vyzerá takto [poznámka: všetky fungujú moje vlastné, rozhodne to nie je oficiálny dokument tímu Chrome OS, pravdepodobne úplne nepravdivé, prosím, nie ublížiť mi]:

Ako podľa nás vyzerá architektúra Crostini. Nie je to oficiálny dokument.

Stručne povedané, komponent VM má samostatný používateľský priestor a virtuálne zariadenia (vCPU, IP, MAC atď.) A kontajner je zabalená aplikácia, ktorá využíva tieto zdroje. V tomto bode by som mal pridať upozornenie, že komponent VM v skutočnosti neemuluje žiadny hardvér.

Len bohatí ľudia... zatiaľ

Niektorí, napríklad komunita na Reddite /r/Crostini, sa už začali hrabať s Crostini na svojom Google Pixelbooks. Bohužiaľ, Pixelbook je zatiaľ jediné zariadenie, ktoré má funkciu Crostini, ale znaky poukazujú na iné zariadenia, dokonca aj na tie so systémom ARM na čipoch, ktoré v budúcnosti získajú podporu. Ale možno ešte nie celkom pre 32-bitové stroje. Existujú aj náznaky, že niektoré časti funkčnosti VM sú potrebné na spustenie Crostini nebude k dispozícii pre zariadenia so staršími verziami jadra.

Ak ste sa dostali až sem, pravdepodobne sa pýtate: Čo môžem bežať? Úspech je obmedzený. Vývojári prehliadača Chrome naznačili, že majú spustené Visual Studio. Používatelia Redditu sfunkčnili WINE a Android Studio a ChromeUnboxed urobil užitočnú vec video ukážka. Pravdepodobne sa však nedozvieme úplné možnosti – a obmedzenia – skôr, ako Google niečo skutočne predvedie. Čo vieme, je to aplikácie sú trvalé, čo znamená, že môžete pokračovať tam, kde ste prestali, a že vývojári pracujú na ich sprístupnení vo vašom zozname posledných aplikácií.

Čo ďalej? Niekoľko bodov na zváženie

Ak ste v kanáli pre vývojárov na inom Chromebooku ako Pixelbook, aplikácia Terminal sa mohla dostať do vášho Chromebooku. Môže sa vám zobraziť chyba „Nepodarilo sa spustiť službu concierge“. Je to preto, že funkcia VM nebola povolená na iných zariadeniach ako Pixelbook... zatiaľ.

Zatiaľ nevieme, ako sa prideľujú zdroje a akú réžiu tieto vnorené aplikácie produkujú. Myšlienka hrania na hrách Steam kompatibilných s Linuxom je lákavá, ale ak nie je k dispozícii akcelerácia GPU, teraz je to zakázané.

Nevieme, aké obmedzenia spôsobí vzduchová medzera hostiteľa/kontajnera (ak nejaké existujú). Komunikácia medzi kontajnerom a OS Chrome je riadená, takže to spôsobí oneskorenie alebo dokonca deaktivuje niektoré periférne zariadenia?

Máme veľa nezodpovedaných otázok a je len otázkou času, kým sa všetko odhalí. Mnohí sú presvedčení Google I/O 2018 o niekoľko týždňov to bude veľké odhalenie – dáva to zmysel, keďže ide o vývojársku konferenciu. Medzitým zostaňte naladení, keď budeme sledovať Crostiniho.


Zdroje:

Maksim Lin – Kontajnery OS Chrome

Chromium Git - Balík kontajnerov ARC, vm_tools, projektová koncovka, crosvm