Linux, Haskell & Rock'n'Roll

Od Windows k Ubuntu

Před dvěma lety jsem si pro pracovní účely pořídil svůj první notebook. Byl to Dell Latitude E6400 s Windows Vista Business x64. Pro mou práci to stačilo, potřeboval jsem jen Eclipse, PostgreSQL, prohlížeč a pár dalších nezbytných drobností jako IM a podobně. Nicméně s mou paletou aplikací bylo víceméně jedno, jaký používám OS. Jeden kolega měl Mac OS X a druhý Ubuntu.

Uběhl necelý rok a na trh přišly Windows 7. Zahození zpomalené Visty bylo téměř jisté. Sice ten systém byl ve velmi dobrém stavu, protože jsem na něm nedělal skutečně nic jiného, než práci, ale použitelnost byla zkrátka mizerná. Problém spočíval především v zastaralém správci oken (window manager). Windows 7 jsou sice krok kupředu, ale ve srovnání s konkurencí je to stále bída. Líbí se mi koncepce Mac OS X, k níž se lze bez nutnosti rozbíjení prasátek přiblížit jedině s Compizem na Linuxu.

Situace byla zhruba následovná: Měl jsem Vistu Business a rozhodně jsem nechtěl v případě „sedmiček“ nic menšího. Upgrade na Windows 7 Professional stál asi 6,5 tisíce korun. Retail byl jen o něco dražší. Verze Ultimate ještě pár stovek navíc. Přechod na Maca samozřejmě bez větší finanční injekce reálný také nebyl (vlastně ani nebylo otázkou, zda Mac nebo ne), takže nejlépe z toho vycházel Linux. Sáhl jsem po Ubuntu, protože jej zkrátka nainstalujete a fungujete.

Několik měsíců jsem si vystačil s Compizem, Scale efektem (kopie Exposé z OS X) a virtuálními plochami. Postupem času jsem ale klasický Scale používal čím dál méně a přepínal se jen mezi plochami, na kterých jsem měl seskupené aplikace podle významu. Dalo by se říct, že každá plocha byla určitým kontextem. Na jedné jsem měl jen IM, IRC a hudební přehrávač, na jiné jen webový prohlížeč, na dalších pracovní nástroje a pak pár volných ploch pro ostatní programy.

Dláždím, dláždíš, dláždíme…

Narazil jsem na video ukazující práci v takzvaném dlaždicovém správci oken (tiling wm). Nedá se to moc popsat, kdo to neviděl na vlastní oči, to nejdřív asi moc nepochopí. Jednoduše se dá říct, že takový správce okna automaticky pokládá do předem vybraného rozvržení (štos, mřížka, spirála, harmonika…) tak, že okna jsou vždy těsně vedle sebe a nepřekrývají se. Pomocí klávesových zkratek je pak mezi sebou můžete přehazovat, měnit poměr rozdělení plochy a podobné věci. Podpora pro plovoucí okna tu samozřejmě je, ale hodí se spíš pro speciální okna typu dialog, nástrojový panel atp. Obrovská výhoda tohoto přístupu spočívá v tom, že nemusíte tolik přemýšlet, kam se kterým oknem, jak ho mít velké a podobně. A zcela odpadá chaos se spoustou oken přes sebe. Virtuální plochy jsou samozřejmostí. Celé je to koncipované tak, abyste nemuseli sahat na myš.

Povídání o těchto správcích oken by vydalo na vlastní článek, tak jen stručně zmíním ten, který jsem si vybral: Xmonad. Celý je napsaný v jazyku Haskell. Haskell je ryze funkcionální programovací jazyk a asi se s ním lze setkat spíš v akademickém prostředí. Vtipné na celé věci je, že i konfigurační soubor je napsaný v Haskellu. Stlouct si vlastní konfigurační soubor není těžké. Většina věcí se dá udělat pomocí copy&paste podle různých tutoriálů. Mně to ale nedalo a začal jsem se Haskell učit. Popravdě jsem o něm slyšel už dřív a do funkcionálního programování jsem chtěl trochu proniknout.

Takže jsem se stal (alespoň po pracovní stránce) ubuntistou s lehce zvrhlou příchutí Xmonadu.

Dilema

To mi vydrželo docela dlouho, ale disk v notebooku vypadal asi jako po výbuchu atomovky. Obrovský prázdný oddíl po Windows Vista ležel ladem a nevyužitý, zatímco Ubuntu se se vším všudy tísnilo v nějakých 15 GB kdesi na konci disku. Rozhodl jsem se s tím něco dělat. Horší bylo, že jsem nevěděl, co přesně chci. Jednou variantou bylo nainstalovat krásné nové Ubuntu a přetáhnout data a nastavení. Jeden takový pokus jsem udělal, ale nedopadlo to dobře a bylo potřeba začít znovu. Ubuntu má navíc jednu drobnou nevýhodu. Nedá se do něj moc hrabat, abyste si při dalším upgradu nerozbili celý systém (jeden nikdy neví). Začal jsem přemýšlet, zda nebude vhodnější rovnou změnit distribuci.

Uvažoval jsem o Debianu. Dokonce jsem ho i nainstaloval. Jenže jsem selhal při pokusu o zprovoznění wi-fi. Stále to nechodilo a dokumentace Debianu mi přišla dost nepřehledná. Naštval jsem se a nechal to být. Je třeba uvést na pravou míru, že to ani tak není vina Debianu, jako spíš moje. Čekal jsem od té distribuce něco méně udělej-si-sám (DIY). Takže vůbec nedává smysl, že jsem nakonec zvolil právě Arch Linux. Distribuci, která je na DIY vyloženě postavená.

Arch Linux

S Arch Linuxem (prý se vyslovuje /ˈɑrtʃ/, jako archer) jsem se poprvé setkal asi před třemi lety a zkoušel jsem ho i instalovat, i když z toho nic nebylo. Neměl jsem pro Linux obecně žádné využití. Ale pamatoval jsem si, že je to distribuce založená na jednoduchosti a člověk si (téměř) vše dělá sám. Tato myšlenka se mi už tehdy moc líbila.

Takže když jsem se rozhodl zkusit Arch, šel jsem do toho již s plným vědomím toho, co všechno to bude obnášet. To byl po chabém pokusu s Debianem samozřejmě pokrok. Jestli si nevystačíte s Ubuntu, Fedorou nebo SUSE, prostě pro ten systém musíte něco udělat. Vlastně ne pro systém, ale pro sebe.

Základ systému se nastavuje pomocí přehledných konfiguračních souborů a navíc je na Arch Wiki velmi pěkně napsaný průvodce instalací. A nejen instalací samotného systému, ale i dalších věcí, jako je dodatečné nastavení hardwaru, služby, grafické prostředí apod.

Kromě DIY a KISS principu se Arch od většiny distribucí liší tím, že fakticky nemá verze. Jedná se o tzv. rolling release distribuci. Zajímavostí je, že Arch vznikl jako „Linux from scratch“, tj. česky řečeno od podlahy. Pouze se původní autor inspiroval u distribuce CRUX.

Arch Linux fakticky používám něco málo přes týden a doufám, že nám to oběma dlouho vydrží. Přesto bych si rád ale časem zkusil Gentoo. No, až budu definitivně rušit Ubuntu, budu na něj mít prostor. Pokud nezvolím nejdřív cestu virtualizace. Uvidíme…