A Linux-alkalmazások hamarosan elérhetőek lesznek Chrome OS-en, kezdve a Google Pixelbook-tal, a Project Crostininek köszönhetően. Mi az a Crostini, és miért olyan fontos? Elmerülünk a Chrome OS legnagyobb változásában az Android-alkalmazások integrációja óta.
Íme minden, amit tudnia kell a Google egy éven át tartó titkos fejlesztéséről a Linux-alkalmazások Chrome OS-ben, más néven Project Crostini.
Dióhéjban ez egy módja annak, hogy normál Linux-alkalmazásokat futtasson Chrome OS-en a biztonság veszélyeztetése vagy a fejlesztői mód engedélyezése nélkül. A (még nem elérhető) hivatalos beállítás kimondja hogy „Linux-eszközök, szerkesztők és IDE-k futtatása a Chromebookon”.
A Crostini több éves fejlesztés csúcspontja, amely lehetővé tette, hogy a funkcionalitás elég biztonságosan működjön ahhoz, hogy megfeleljen a Chrome OS magas szintű biztonsági szabványainak. Ahhoz, hogy megértsük, miért csak most jelenik meg, a legjobb, ha megnézzük, mi volt korábban.
A Crostini kontextusba helyezése – a Chrome OS sötét korszaka
Mielőtt az Android-alkalmazások megjelentek volna, nem sok volt az offline funkcionalitás útjában, nem beszélve a Chrome OS hasznos hatékonyságnövelő alkalmazásairól. Miért vesz egy józan ember Chromebookot? „Ez csak egy webböngésző” – hangzott el minden Chromebook-értékelés záró megjegyzése. A Chrome Internetes áruház annyi volt, amennyit csak kap, de az alkalmazások választéka meglehetősen gyenge volt, és ritkán frissítették. A kalandvágyó az ún ARC hegesztő, de ez sikertelen volt, és a teljesítmény gyenge volt.
Az offline korlátozások megkerülése érdekében a csalódott felhasználók törölték a Chrome OS-t, és telepítették a Linuxot, vagy a nyílt forráskódú eszközt használták. Cruton a Chrome OS kernel tetején működő egyidejű asztali környezet [pl. Ubuntu Unity] beállításához.
Egy helyettesítő GNU/Linux disztribúció vagy Crouton futtatása nem kis know-how-t igényelt, és gyakran tele volt hibákkal – és egyik lehetőség sem volt kifejezetten felhasználóbarát vagy biztonságos. Nyomja meg a rossz gombot, és törli az eszközt vagy blokkolja azt, és ha titkosítatlanul hagyta a Crouton környezetét, bármely vendég felhasználó hozzáférhet.
Android alkalmazások integrációja, precedenst teremtve
Az Android-alkalmazások 2016-ban kerültek a Chrome OS-re, és óriási ugrást jelentett az offline funkciók terén, de ennek a funkciónak az engedélyezése nem csak plug-and-play volt. A biztonságot értékelő operációs rendszeren csak úgy működhetett, ha hatékonyan homokozóban van.
Az újszerű megoldást a Chrome OS fejlesztői választották konténerezés, az alkalmazások önálló végrehajtható csomagokba történő összevonásának módja. Egy konténer és több mint néhány finomítás segítségével sikerült megszerezniük a teljes Android-környezetet és minden mást függőségei egy tárolóban futnak, elkülönülve a többi Chrome OS-től, mégis ugyanazon futnak kernel.
Az Android-alkalmazások fejlesztése azonban általában nem az asztali/laptop formát szem előtt tartva történik. Adjon hozzá egy gyenge érintési élményt a Chrome OS-en, és frusztráló munkamenetet kaphat, ha az alkalmazások működtek.
Bár az Android-alkalmazások eddig segítettek áthidalni a termelékenységi szakadékot, továbbra is vágytak a teljes asztali alkalmazások hatalmas könyvtárára. Akárcsak a kezdeti Android-probléma esetében, egyszerűen csak megnyitná a Linux-alkalmazások futtatásának lehetőségét növeli a Chrome OS támadási felületét, mert a rosszindulatú alkalmazások mindenhez hozzáférhetnek a számítógépen gazdagép operációs rendszer. Tehát ezúttal a fejlesztők a Linux-alkalmazások funkcionalitását a lehető legszimpatikusabbra tervezték, azon felül, amit az Androiddal már megtanultak.
Mélyreható védekezés
Ahogy a név is sugallja, a Crostini olyan, mint a Crouton, de ahelyett, hogy bizonytalan felhasználói terület ülne a Chrome OS mellett, két fal van közöttük. Az első fal a Termina VM, a Chrome OS KVM (Kernel-alapú virtuális gép) megvalósítása. Amint a virtuális gép elindul, felállítja a második falat – egy tárolót –, amelyen a ténylegesen futtatni kívánt alkalmazás található. Tehát ha teljes értékű Klondike asztali alkalmazását szeretné futtatni, az egy virtuális gépen belüli konténerben fut.
A fejlesztők nem technikai szempontból tették különösebben emészthetővé a nyilvános dokumentációt, hanem az én nem hivatalos laikus olvasatom szerint a szoftver A Chrome OS architektúrája most valószínűleg így néz ki [megjegyzés: mindegyik működik a sajátomon, határozottan nem a Chrome OS csapatának hivatalos dokumentuma, valószínűleg teljesen valótlan, kérem, ne bánt engem]:
Röviden, a virtuálisgép-összetevőnek külön felhasználói területe és virtuális eszközei vannak (vCPU, IP, MAC stb.), a tároló pedig egy csomagolt alkalmazás, amely ezeket az erőforrásokat használja. Ezen a ponton hozzá kell tennem egy figyelmeztetést, hogy a VM összetevő valójában nem emulál semmilyen hardvert.
Csak gazdag emberek… egyelőre
Néhányan, mint például a Reddit közössége /r/Crostini, már elkezdték bütykölni Crostinit a sajátjukon Google Pixelbooks. Sajnos a A Pixelbook az egyetlen olyan eszköz, amely eddig Crostini funkcióval rendelkezik, de a jelek arra mutatnak, hogy a jövőben támogatásban részesülnek más eszközök, még az ARM rendszerű chippel rendelkezők is. De talán még nem egészen a 32 bites gépekhez. Arra is utalnak, hogy a virtuális gép bizonyos részei szükségesek a Crostini futtatásához nem érhető el régebbi kernelverziójú eszközökön.
Ha idáig eljutottál, valószínűleg azon tűnődsz: Mit futhatok? A siker korlátozott volt. A Chrome fejlesztői utaltak rá, hogy fut náluk a Visual Studio. A Reddit-felhasználók a WINE és az Android Studio működését hozták, a ChromeUnboxed pedig hasznosnak bizonyult videó demo. De valószínűleg nem ismerjük meg a teljes képességet – és a korlátokat – mielőtt a Google ténylegesen bemutat valamit. Amit tudunk, az az az alkalmazások tartósak, ami azt jelenti, hogy ott folytathatja, ahol abbahagyta, és a fejlesztők azon dolgoznak, hogy elérhetővé tegyék őket a legutóbbi alkalmazások listáján.
Mi a következő? Néhány szempont, amit figyelembe kell venni
Ha a fejlesztői csatornát egy Pixelbooktól eltérő Chromebookon használja, előfordulhat, hogy a Terminal alkalmazás megérkezett Chromebookjára. „A concierge indítása nem sikerült” hibaüzenetet láthat. Ennek az az oka, hogy a virtuális gép funkcióit a Pixelbookon kívül még nem engedélyezték…
Még nem tudjuk, hogyan osztják el az erőforrásokat, és milyen többletköltséget termelnek ezek a beágyazott alkalmazások. A Linux-kompatibilis Steam-játékokon való játék ötlete csábító, de ha a GPU-gyorsítás nem érhető el, akkor egyelőre nem megy.
Nem tudjuk, hogy a fogadó/tartály légrés milyen korlátozásokat fog produkálni (ha van ilyen). A tároló és a Chrome OS közötti kommunikáció szabályozott, tehát ez késleltetést vezet be, vagy akár letilt bizonyos perifériákat?
Sok megválaszolatlan kérdésünk van, és csak idő kérdése, hogy minden kiderül. Sokan meg vannak győződve Google I/O 2018 néhány héten belül ez lesz a nagy leleplezés – ez logikus, mivel ez egy fejlesztői konferencia. Addig is maradjon velünk, mert követjük Crostinit.
Források:
Maksim Lin – Chrome OS-tárolók
Chromium Git - ARC konténer köteg, vm_tools, projekt-termina, crosvm