Hlavní navigace

KaOS - rolling distribuce pro desktop

20. 9. 2017 15:18 | Adam Sádovský

Podtitul by možná mohl znít: Linuxová distribuce, která není vhodná pro nikoho. Alespoň soudě dle příspěvků u řady diskusí k tématu bobtnání desktopu KDE, stability rolling distribucí nebo zavádění novinek jako systemd, wayland nebo flatpak. Což jsou prvky, které distribuci KaOS víceméně definují. A přesto je pro mě již přes rok jedinou a hlavní desktopovou distribucí a na změnu se nechystám. Tady jsou důvody proč:

KDE, resp. nyní Plasma je, jak asi víte, desktopové prostředí, které je vyvíjeno přes 20 let a které lze popsat spíše jako platformu pro všeobecnou podporu desktopu, než jen jako správce oken. Nabaluje na sebe jak vývojový framework, komunikační protokoly, celou řadu aplikací, tak i širokou komunitu s mnoha aktivitami. Vychází z frameworku Qt a hlavním programovacím jazykem je C++.

KDE je kritizováno především pro docela razantní a časté změny v infrastruktuře svého jádra, což spolu s velmi širokým portfóliem funkcí a aplikací vede k dlouhým obdobím nestability a bolestivým vychytáváním chyb. Nejisté nebo nepochopené jsou cíle a směr, kterým se celý projekt ubírá. Pro mě přesto představuje špičku mezi desktopy právě proto, že implementuje více než pouhé ovládání či dekorace oken a snaží se o širší pojetí toho, jak by mělo GUI vypadat a fungovat. Rozhodně ještě není ve fázi, ve které bych si představoval, že by mohlo být, ale myslím si, že se ubírá správným směrem.

Volba desktopu je nicméně silně subjektivní záležitost a pokud KDE z jakéhokoli důvodu nesnášíte, tak KaOS není pro vás. KaOS totiž patří mezi distribuce s velmi vyhraněným zaměřením a jiný desktop než KDE/Plasma na něm nehledejte. KaOS je svým způsobem vlastně KDE distribuce, postavená na těch nejnovějších verzích Plasmy a Qt podobně jako například z Arch linuxu odvozená Chakra nebo openSuSEové Argon a Krypton, případně na Ubuntu založený KDE neon.

Pokud naopak máte KDE/Plasmu v oblibě, nebo k ní minimálně zaujímáte neutrální postoj, tak vám ji KaOS naservíruje v té nejčistší podobě. Většinu recenzentů překvapila rychlost s jako Plasma umí v podání KaOS linuxu pracovat, jak nízkou má paměťovou náročnost a jak málo obtěžuje CPU. Toho je dosaženo mimo jiné i díky tomu, že KaOS je distribuce sestavená od základu bez návaznosti na jinou distribuci a bez zátěže nejrůznějšího balastu, který by se, i třeba z důvodu závislostí balíčků, mohl v systému objevit. Navíc, jak jsem již zmiňoval, si KaOS udržuje ty nejnovější verze prostředí Plasmy a Qt a poměrně rychle se zbavuje starých knihoven, Tím je, a nejspíše nejen pro mne, KaOS atraktivní. Z důvodu, které uvedu v části o reálné zkušenosti, bych ho přesto nedoporučil „běžným“ uživatelům desktopu. Tím chci říct, že může být vhodný i pro začátečníky s linuxem, ale pro takové, kteří si umí a chtějí poradit ve chvíli, kdy je desktop nevede za ručičku. Například nečekejte, že po vložení video DVD vám prozradí, že chybí knihovna libdvdcss a navíc kolikrát nenabídne možnost spuštění v multimediálním přehrávači.

Dalším základním kamenem na kterém KaOS stojí je výběr balíčků a jejich sestavení. Nejspíš vás již napadlo, že pokud je KaOS jako projekt nezávislý na jiné distribuci, nepoužívá jejich balíčky, navíc udržuje nejnovější verze a současně se zbavuje starých, tak musí mít náročnou správu sestavení či testování a tím pádem četnou komunitu nebo naopak v důsledku nízkou stabilitu. Nechci na tomto místě tvrdit, že KaOS je nejstabilnější systém, který jsem kdy používal, ale stabilní je rozhodně solidně a to především vzhledem k tomu, že jde o rolling distribuci (jak ještě zmíním).

Komunita kolem KaOS je početně celkem skromná a přesto je stabilita a použitelnost skvělá. Východiskem k pochopení, je právě rozsah balíčků, které KaOS nabízí. Celkem je jich v repositáři kolem 2000 (což je oproti Debianu s 50tisíci málo). Jenže jsou vybírány a sestavovány s vizí, že vznikne odlehčená distribuce bez ambicí na globálnější rozšíření mezi uživateli. Takto omezený výběr balíčků zkrátka není pro každého a rozhodnutí, zda KaOS ano či ne, závisí na tom, jestli vám výběr aplikací bude dostačovat. Anebo si případně poradíte pomocí KCP (uživateli tvořená množina skriptů pro překlad do balíčků), ručního překladu, flatpaku nebo virtualizace.

Takže co v repositářích lze najít? Především všechny potřebné linuxové nástroje a knihovny, pokud jsou ovšem 64bitové. 32bitové knihovny a aplikace v KaOS chybí, nikdy tam nebyly a nikdy nebudou (je to jedna z premis proč KaOS vznikl). Dále vývojové nástroje a aplikace převážně napsané přímo pro KDE nebo Qt. V repositáři se přesto nachází i aplikace, které nejsou součástí KDE a ani nejsou napsané ve frameworku Qt. Jde například o Firefox, Inkscape, Gimp, Chrome, Libre office, Blender atd…

Ačkoli takto omezený výběr občas dokáže znepříjemnit život, musím na druhou stranu zmíněný přístup i ocenit. Po instalaci KaOS totiž člověk dostane do ruky desktopový systém vybavený vším potřebným pro převážnou většinu činností, které hodlá na desktopu provádět. A to v podání aplikací, které jsou vzájemně pokud možno konzistentní (co se týká ovládání, vzhledu a filosofie). Přidanou hodnotou je, že autoři distribuce vybírají aplikace a projekty, které jsou použitelné, stále udržované a pokrývají téměř vše, co je potřeba. Pokud je vůle k určité flexibilitě a naučitelnosti nových věcí, lze si s vybranými aplikacemi v repositáři vystačit.

Pro doplnění zmíním, že jako balíčkovací systém je použit pacman z Arch linuxu, ale to neznamená, že vám balíčky Archu budou jakkoli platné v KaOSu. Zajímavým krokem správců distribuce bylo vytvoření sady skriptů, které sestavují balíčky KDE/Plasmy přímo z git repositářů, bez nutnosti čekat na autory KDE a zvolený vývojový cyklus. Více znalostí v tomto směru nemám, ale způsob sestavování na mě působí velmi promyšleně a robustně.

Pokud jsem zmínil, že KaOS aktualizuje na nejnovější verze knihoven a aplikací, tak doplňuji, že sleduje i aktuální linuxové „trendy“. Například jako init systém je použit systemd a ovládání zvuku zařizuje Pulse audio. K dispozici nabízí mimo X11 i Wayland. A kromě Dockeru přibyl nedávno i další kontejnerový/balíčkový systém Flatpak.

Posledním lehce kontroverzím bodem, před slíbeném popisem reálných zkušeností, je způsob aktualizací. Ty probíhají kontinuálně bez využití zamrazení na konkrétní verze. Neboli hezky česky řečeno „rolling“ aktualizace. Linuxové distribuce, které takto aktualizují se často nálepkují termínem „rolling distribuce“.

Výhodou je snazší a rychlejší začleňování nových verzí jak knihoven tak i aplikací. Uživatel má vždy nejnovější verze a bezpečnostní záplaty a není postaven před strašáka v podobě povýšení verze systému. Hlavní nevýhodou je, že systém se často mění – prakticky lze počítat s nějakými aktualizacemi každý den. Což znamená, že se stahuje více dat, je větší šance, že se objeví nějaká anomálie v předtím funkčním programu a tak dále.

Přesto nevzniká produkt, který je díky tomu prošpikovaný chybami. KaOS začleňuje nové verze až po ověření a nabízí k tomu extra vývojové repositáře. Navíc každý měsíc nebo dva se testuje nově vznikající ISO, které při vydání obsahuje všechny do té doby vydané aktualizace. Odpadá tak nutnost po čisté instalaci provádět velký balík aktualizací (přesto jich tam vždy pár bude, protože jak jsem říkal, objevují se skoro denně).

Instalace KaOS

A nyní k praktickým zkušenostem. Instalace probíhá vcelku přímočaře. Jako zdroj vždy slouží jediné ISO (vydávané každý měsíc nebo dva), které funguje jako live CD/DVD/flash. Pro uložení na flash se doporučuje nástroj SUSE Studio ImageWriter (pro Windows) nebo IsoWriter (pro Linux) případně klasický příkaz dd. Jiné způsoby nejsou doporučovány, ale někdy fungují. ISO si umí poradit jak s BIOSem tak s UEFI.

Pro instalaci z živého prostředí se využívá nástroj Calamares (viz. přiložený obrázek s průběhem instalace), což je nezávislý univerzální linuxový instalátor, ale na jeho vývoji se podílí právě i komunita distribuce KaOS. Calamares je již v poměrně pokročilé stabilní verzi, přesto při kombinaci neobvyklých požadavků může selhat. Jako výchozí filesystém nabízí XFS. Z jakého důvodu, nevím. Osobně s ním nemám nejlepší zkušenosti (při výpadku proudu ztratil konzistenci a to tak, že nástroj na opravu to vzdal). Od té doby volím raději ext4.

Pokud vše projde dobře, přivítá vás nově nainstalovaný KaOS vybavený základními aplikacemi. Neměl jsem žádné problémy s podporou HW a vše běželo bezchybně (zkoušeno na třech různých strojích – což rozhodně není vzorek statisticky významný, ale pokud nemáte problém se svou současnou distribucí, tak KaOS nejspíš poběží také). Funguje ethernet, wifi, zvuk, bluetooth, uspávání do paměti, přepínání na externí monitor nebo projektor. Zkoušel jsem připojování k různým VPN (pptp, openvpn a cisco any connect) – vše přes grafické rozhraní. Není problém s ovládání hlasitosti a podsvícením displaye skrze speciální klávesy na notebooku. Gesta touchpadu jsou nastavena přívětivě: umí simulovat rolování nahoru a dolů i do stran, uchopení, dvojklik, střední a pravé tlačítko. Bezvadně funguje čeština (téměř vše je přeloženo) a české prostředí. Připojení flash nebo USB disků není problém včetně automatické detekce jejich filesystému (i raidu), kromě snad exfat, které není ani v repositářích a je potřeba použít KCP. Webkameru jsem nikdy nepoužil, takže její funkčnost jsem ani netestoval. Volba mezi X11 a Wayland se děje při přihlašování, ale zatím mi nepřišlo, že by Wayland byl prakticky použitelný.

Dále jsem se chystal popsat zkušenosti s jednotlivými aplikacemi, ale asi by to bylo na delší psaní, takže jen ve stručnosti: Zvolený výběr se mi líbí a pokud jsem kdy používal něco jiného, než KaOS ve standardní instalaci nabízí, přizpůsobil jsem se. Výjimkou jsou Inkscape, Firefox a Libre office, které jsou dostupné v repositářích, případně další uživateli doplněné aplikace z KCP jako syncthing či již zmíněné exfat-utils. Vyzdvihl bych aplikace SMPlayer/SMTube, KDE Connect, QupZilla/Falkon (i přes jistou nestabilitu), a PIM balík okolo KMail (nyní dostupný i jako jednotlivé aplikace).
To co mi chybělo jsou některé 32bitové aplikace, které zkrátka není možné bez 32bitových knihoven přeložit a spustit. Například Steam, Wine nebo Dosbox. Spuštění Steamu lze s trochou štěstí realizovat pomocí Flatpak balíčku. Wine je sice v repositářích přítomný, ale jen jeho 64bitová část, takže například winbox (pro ovládání routerů mikrotik) na něm nespustím. Pak už nezbývá nic jiného, že si tyto aplikace doinstalovat pod virtuální stroj (Windows nebo ReactOS).

Vzhled KaOS – tedy ten výchozí – využívá kombinaci šedé a modré a nabízí hezkou sadu ikon. Mě vyhovuje a nijak jsem do něj výrazně nezasahoval. Každopádně KDE/Plasma vám dovolí řadu změn a úprav. Na plochu nebo na panel se dají umisťovat nejrůznější plasmoidy, ale přišlo mi, že jejich kvalita a stabilita je kolísavá, přesto se mi docela líbil plasmoid, který ve formě tabulky ukazuje aktuálně dostupné wifi sítě či VPN, nebo plasmoid ukazující historii schránky (opět jako tabulku).

Spuštění a aktualizace KaOS

Zajímavou kapitolou jsou zkušenosti s aktualizacemi systému. Jak jsem zmínil, jde o rolling aktualizace dodávané do systému postupně a téměř denně. Může se tedy stát (a stává se to), že to co do této chvíle fungovalo, je zničeho nic zabugované. A také se může stát (a stává se to), že než problém dostatečně otestujete a reportujete, již je vše opraveno. Komunita KaOS nabízí systémy pro bugreporty a fóra, na kterých docela rychle reaguje. Může se také stát (a ano stává se to), že chyba není chybou KaOSu, ale upstreamu. Tedy, že byla přitažena ze zdroje, ze kterého se sestavují balíčky. Jako odpověď na svůj bugreport tak můžete dostat odkaz na odpovídající bugreport v upstreamu.

Nevím jak to na vás působí, ale moje obavy z toho, jak bude tento systém aktualizací fungovat, se zdaleka nevyplnily. Přes zmíněné občas se vyskytující problémy (nebo třeba jen určité období problémů), je takto navržený systém funkční. Za rok a půl jsem nezaznamenal nic, co by například překonalo chybu s nefungujícím DHCP klientem po aktualizaci Windows (nebo po jiné aktualizaci zmizení některých wifi sítí, protože se nastavila americká norma frekvencí). To, že KaOS ničím podobným netrpí, bylo pro mne potěšující zjištění – notabene, když vezmu v úvahu skromný počet správců systému KaOS.

Před aktualizací doporučuji sledovat, co se asi bude měnit. Případné větší změny (například více než 100 aktualizovaných balíčků najednou) odložit a provádět až někdy v klidu. Po aktualizaci je zase vhodné přečíst si informace od správců balíčků (například o vyřazení nebo nahrazení některých grafických ovladačů – pokud se po restartu nerozběhne grafika, je dost dobře možné, že jste si někde něco nepřečetli).

Aktualizace neprobíhají automaticky (nebo jsem nikde takovou volbu neviděl), takže je nemusíte provádět vůbec. Ovšem až do okamžiku potřeby instalace nové aplikace z repositáře -  před tím je vhodné systém aktualizovat jinak se může dostat do nekonzistentního stavu.

Žádná z aktualizací mě nikdy nenutila restartovat ani vypínat jakoukoli aplikaci. Což znamená, že si člověk sám musí pohlídat, zda nějakou aplikaci shodit a opět spustit nebo restartovat celý PC, aby se aktuální verze načetly. Zásadní problémy se ale, pokud nic nevypnete, neobjevují. Nejdelší uptime byl tuším asi 2 měsíce a téměř stejně dlouho dobu běžela i Qupzilla bez viditelného problému i po mnoha a mnoha aktualizacích.

V případě déle trvajícího problému s nějakým nástrojem nebo aplikací, není na škodu zkusit vytvořit nového uživatele a ověřit, zda se chyba vyskytuje i u něj. Klidně je možné, že problém způsobuje nějaká zahnívající konfigurace v home. Toto se mi tedy stalo pouze jednou, ale i tak to považuji za vhodné zmínit.

Nyní jsem vám tedy představil základní rysy a zkušenosti s distribucí KaOS. Asi již máte jasno v tom, zda ho zkusit či raději ne. Jde o malou desktopovou distribuci se zajímavou kombinací vlastností. Pro mě představuje esenci toho, co linux na desktopu má mít, ale jistě to není distribuce pro každého. Překvapením je rychlost s jakou pracuje i široká podpora vlastností a funkcí HW, které ještě do nedávna nebyly v linuxu myslitelné (bez ručních úprav v konfiguraci a spousty příkazů).