Bij een besturingssysteem dat voornamelijk gericht is op draaien 'in de cloud', zullen de meesten denken aan Googles Chrome OS. In Nederland kom je het relatief weinig tegen, behalve op goedkope laptops van mensen die zich geen zorgen willen maken over de veiligheid van hun apparaat. Voor de gemiddelde ontwikkelaar waren ook de krachtige pixels niet praktisch genoeg, tenzij je er zelf met een 'chroot' (virtuele omgeving creëren binnen een Unix-besturingssysteem) een andere Linux-distro op losliet of crouton (gebundelde scripots) gebruikt.
Dit gaat in de nabije toekomst geheel veranderen: op zijn ontwikkelaarsconferentie I/O kondigde Google aan dat Chromebooks met Linux-kernel 4.4 of hoger Linux-applicaties kunnen gaan draaien, inclusief een terminal vanuit het besturingssysteem zelf.
Applicaties beschikbaar
De toevoeging maakt het mogelijk voor ontwikkelaars om ook eindelijk native te kunnen programmeren op Chromebooks. Alle moderne Linux-applicaties zouden via de speciaal ontwikkelde virtual machine gestart moeten kunnen worden zonder daar moeilijk over te moeten doen, althans volgens een reactie van productmanager Kan Liu op Venturebeat. Liu zegt dat ‘iedereen gewoon naar de plek kan gaan waar je normaal je apps haalt, of dat nou via een apt-get in de terminal is of via de website’. Of dit dan alleen over .debs gaat of ook flatpaks en/of snaps, vertelt het verhaal niet.
Voor ontwikkelaars betekent dit dat applicaties als Android Studio, Visual Studio Code, Git, Vim en Sublime native beschikbaar zijn, al kondigde Google op zijn I/O ook Android Studio voor Chrome OS aan. Tot nu toe waren ontwikkelaars voor Googles eigen platforms aangewezen op andere apparaten; Macs, Windows-machines of andere Linux-distro’s. Liu: ‘Ik kan nu zelf de broncode van Chrome OS pullen en build Chrome OS in Chrome OS zelf. Ook kan ik nu met Android Studio Android apps bouwen op Chrome OS en deployen op dezelfde machine.’ Dat laatste refereert natuurlijk aan het native kunnen draaien van Android-apps sinds medio 2016.
Wat de ontwikkelaars van Chrome OS gedaan hebben is de Linux-app-omgeving in een sandbox stoppen en die vervolgens binnen een virtual machine (vm) te laten draaien. Er moet ook geen verschil te bemerken zijn tussen het draaien van een web app, native Linux app of Android app, zoals het starten van apps via de launcher. Verschil met mensen die nu al via zaken als crouton (ChRomium Os Universal chrooT envirONment) een vm draaien, is dat die hun laptop in ontwikkelaarsmodus moeten zetten en bepaalde beveiligingssystemen uit moeten zetten. De Chrome OS-eigen vm start ook ‘binnen een seconde’ op en heeft toegang tot eigen documenten en dergelijke.
Wayland
Om de user interface te serveren aan de gebruiker, wordt display server Wayland gebruikt, waarbij het beeld via een Chrome OS-venster wordt weergegeven. De bestanden van een Linux-applicatie blijven binnen de vm zelf, maar de gebruiker kan ook bij de bestanden van buiten de vm. Dat zou de veiligheid ten goede komen omdat eventuele malware aan de Linux-kant zichzelf niet zomaar kan uitvoeren in de rest van Chrome OS.
Er is al een preview te gebruiken op de Pixelbook waarbij wel eerst naar de dev-channel overgeschakeld moet worden. Uiteindelijk moeten dus alle Chromebooks met kernel 4.4 of hoger het kunnen gebruiken. De totaal benodigde ssd-ruimte is 300 MB voor Linux zelf en per applicatie de benodgde hoeveelheid schijfruimte.
De ondersteuning voor native Linux apps gaat niet standaard aan staan, maar moet expliciet aangezet worden. Dat is ook niet zo gek, aangezien de gemiddelde Chromebook-gebruiker deze waarschijnlijk gebruikt omdat hij of zij niet wil nadenken over het functioneren van zijn of haar computer.
Of Chromebooks daarmee afkomen van hun imago als ‘dure browsers’, zal de tijd leren. Voor de opvolgers van de Pixelbooks zou het wel eens interessant kunnen zijn: het was toch een beetje vervelend dat je een prachtig stuk hardware onder je vingers had waar je intens briljant mee kon… browsen.
Ik neem aan dat jullie Chrome OS bedoelen in de titel, en niet Chrome. 😉