Mně teda přijde absurdní, že Androidí telefony to dosud neuměly nebo co. Ukazuje to opět, jak domrvený ten Linux v tom je -- protože normálně Linux tohle samozřejmě umí, je na to hotový jaderný modul a lidé to mnoho let běžně používají.
Ten problém se jmenuje NIH. Android řeší všechno po svém. Jejich kamera není V4L2 aby tam člověk mohl jednoduše spustit tohle hotové řešení, ale něco custom, pro které tyhle věci nejsou a má to vlastní sadu bugů (například mi ta jejich knihovna na kamery odmítala ukládat do tmpfs, ale ukládala do adresáře na filesystému pod tím). Takže člověk nemůže udělat tohle, nebo naopak opačný směr (hodilo by se třeba pro emulaci aplikacím, které trvají na tom, že si z kamery chtějí přečíst QR kód) - v4l2loopback.
A tak je to tam se vším - šifrování disku není standardní LUKS, ale něco custom, takže když si to vlivem yet another bugu přepíše klíče*, tak nejde použít standardní nástroje na recovery. Na sdílení displeje nejde použít VNC, protože to je asi moc mainstream, a mají místo toho custom scrcpy, pro které je právě jeden klient a které streamuje celou obrazovku furt a ne jen změněné oblasti. Audio není normální Alsa/Pulseaudio a musíte si vymýšlet nějaké knihovny protože amixer, arecord a aplay pořádně nefungujou. Odemykání obrazovky není PAM ale něco custom, takže si tam nemůžete přidat jednoduše pam_exec modul (třeba se záchranným/panikovým heslem) jako na normálním Linuxu, a jako bonus tam je nějaké úplné architekturní WTF že když si přidáte do systému další CA, tak to začne vyžadovat unlock heslem nebo co (tohle do teď nechápu, je to jako kdybych si na Linuxu přidal certifikát do /etc/ssl/certs a najednou to změnilo chování nějakého xscreensaveru, můžete mi někdo vysvětlit jak tyhle komponenty vůbec můžou souviset?). tcpdump je moc mainstream, uděláme androiddump. Atd.
Předřečník se ptal: „Jaka je zakladni vlastnost operacniho systemu, kterou android nedisponuje?“ Vyloženě žádná taková není. Ale celý ten systém je naprosto nenastavitelný a nepoužitelný. Nechápu proč tohle udělali, proč vyvinuli takovou hrůzu od nuly, když mohli vzít plně fungující GNU/Linux a postavit to nad tím.
*jejich GUI neumělo nastavit separátní heslo pro odemčení obrazovky a pro šifrování karty; šlo to pomocí adb. Jenže několikrát změnili API kterým se to dělá, a když člověk nastavil přes špatné, tak si to změnilo heslo tak že už to nikdy nešlo odemknout -- i když samotný AES klíč jsem měl zazálohovaný, tak protože to není normální LUKS tak nejde udělat recovery
Android zkrátka není distribuce linuxu a dívat se na něj jako na distribuci linuxu přináší jen velké zklamání. To je celé.Jestli je to dobře nebo špatně, to je jiná otázka. A proč tohle udělali? Tipoval bych, že vyvíjeli mobilní operační systém „shora“ a v nějakém okamžiku zjistili, že by potřebovali vespod vyřešit takové ty nudné věci jako správa paměti, správa procesů nebo souborový systém. Tak se porozhlédli, jestli už něco takového někde není hotové, a vzpomněli si na Linux.
Vzhledem k tomu, že o „letošek bude rokem linuxového desktopu, kdy linux na desktopu překročí 4 %“ se radši už ani nevtipkuje, zdá se rozhodnutí držet linux v těch mobilech od uživatelů co nejdál jako docela pochopitelné rozhodnutí.
Mně by se také líbilo mít v Androidu plnohodnotný linux, ale myslím, že ta volba byla hodně pragmatická a že díky ní Android vůbec vznikl a přežil. A teď k sobě mohou Linux a Android Linux postupně konvergovat.