Date: 2026-09-17 22:29:56
From: rpt@desudoli.cz
Subject: Softwarové povídky
To: dalnopis@desudoli.cz
Tags: software, linux
Desc: Malé praktické nahlédnutí do světa svobodného softwaru.

Softwarové povídky

Stál jsem nebo spíš seděl na okraji a nahlížel do hluboké černé propasti, jejíž dno nebylo vidět. Bylo to okno terminálového emulátoru. Přemýšlel jsem, co je na ní tak přitažlivého. Je to pravda, lidé zaujímají k příkazovému řádku absolutní postoj: lásky na jedné straně, nenávisti na straně druhé. Odi et amo! Znám mnoho lidí, co se CLI ani nedotknou. Mne samotného už hodně z unixovské romantiky opustilo, ale nikoli vše, proto se stále řadím do té první skupiny. Kouzlo blikajícího kurzoru a TXT souborů.

Proto jsem musel na své pracovní stanici s Windows 11 nainstalovat Linux pod WSL. PowerShell je možná plnohodnotnou náhradou, ale chyběl mi ekosystém CLI aplikací, na které jsem už zvyklý. A také se nevzdám nepříteli tak snadno, nezradím vousaté guruy a obrýlené levicové intelektuály, co světu přinesli digitální revoluci. Bill Gates of Hell will not prevail!

Avšak hovoříme-li o Windows, je potřeba říci, že jednu věc mají pojatou lépe, PowerShell je normální GUI aplikace. Z hlediska Unixu je to hereze, GUI má být nadstavba spouštěná jako proces z tty. A uvnitř tohoto GUI spouštíme emulátor terminálu, abychom simulovali prostředí, ze kterého jsme do GUI utekli. Dává tohle smysl? Nikoli, ale na kouzlu to blikajícímu kurzoru neubírá. Pořád si myslím, že jediný, kdo to pojímá skutečně správně, je Arcan.

Mimochodem pod WSL nakonec běží NixOS. Jednak kvůli snad nejširší nabídce SW a taky kvůli nix-shellu, jenž umožňuje velmi rychle zprovoznit jakýkoliv nástroj, aniž by se musel instalovat na úrovni OS nebo jinak globálně zaplevelit systém. Microsoft oficiálně podporuje Ubuntu a to funguje hladce, ale jejich SW je zastaralý a nikdy jsem si na toto distro nezvykl. Alpine fungoval vcelku dobře, ale nakonec jsem narazil na nějaké problémy a jednodušší byla instalace nového OS. NixOS zatím běží bez větších problémů.

Díky tomu jsem vyzkoušel pár nástrojů, jež se ukázaly být užitečnými a praktickými. Nejprve se podíváme na editory, základní nástroj uživatele počítače, který chce být pánem svého stroje.

Helix

Používal jsem intenzivně Emacs, Notepad++ a mnoho dalších editorů, ale nakonec jsem vždycky skončil zpátky u editorů modálních, mezi které patří i Helix.

Helix je koncepcí blízký Kakoune. Vlastně je to Kakoune, jaký by měl být. Helix je vizuální editor, všechny operace se dějí na zvýrazněném textu. Pro hromadné změny používá multikurzor, který se bez vizuální indikace ani neobejde. S multikurzorem jsem se setkal u jiného modálního editoru zvaného vis, ale Helix má tuto koncepci propracovanou mnohem lépe.

Zatímco jiné editory, včetně Vimu nebo Kakoune jsou v základu poměrně spartánské a chybějící funkcionalitu dohánějí pluginy, autoři Helixu vsadili na jinou kartu. Helix zatím nemá systém pluginů, ale už v základu nabízí spoustu funkcí, které ocení každý programátor nebo pisatel, takže editor je ihned použitelný. O tomto přístupu, který se mi zamlouvá čím dál tím víc, bude řeč ještě později u jiného SW. Umí například:

  • párovací znaky,
  • měnit barevná schemata (themes),
  • LSP,
  • snadno kopírovat text z/do externích aplikací a
  • má šikovný file-picker.

Klávesové zkratky jsou dost podobné Vimu, takže nemám zásadní problém používat oba programy zároveň. Přes dvojtečku se dostanete k příkazům jako ve Vimu, ale zde se dostupné příkazy zobrazí jako seznam, který lze redukovat pomocí funkce fuzzy finderu. Pak je tu mezerník zpřístupňující další funkce, přístup k file-pickeru, seznamu bufferů, snadnému kopírování mimo Helix a dalším funkcím.

Obzvláště oceňuji file-picker, neboť má velkorysý přístup k souborům a opět zde funguje fuzzy finder. Nejsou potřeba pluginy typu fzf nebo telescope. Rád bych taky zdůraznil kopírování z/do externích aplikací. Zkratky space y nebo space p/P také velice ulehčují život, protože jsou daleko intuitivnější než vimovské "+y. Pro mé skromné potřeby tyto funkce bohatě stačí.

Už pouhý pohyb pomocí standardních kláves w e b označuje slova, takže akce d c může ihned následovat. To je anglická gramatika v praxi, podstatné jméno, pak sloveso. Ve srovnání s Neovimem je mnoho příkazů úspornějších, některé jsou logičtější a jiné naopak delší. Např. c nahrazuje neovimoské cs. Nepovažuju za ideální používat pro stejnou operaci různé klávesy, v tomto ohledu je Helix logičtější. Naopak vymazat text do konce řádky pomocí vgld je sice logičtější, ale proti vimovskému D strašlivě dlouhé. Celkově ale mám z ovládání Helixu dobrý pocit, dává mi často větší smysl než ve Vimu a autoři Helixu tvrdí, že pokud jde o klávesové úhozy je Helix ve výsledku o něco úspornější než Neovim.

Neovim

Tuto klasiku není třeba představovat. Moje muscle memory je na tento program už dlouho nastavená. Neovim používám kvůli pluginům jako GitHub Copilot, se kterým se zatím spíš sžívám, nebo Obsidian, o němž bude řeč později.

Systém pluginů je veliká výhoda a zároveň zhouba Neovimu, podobně jako Emacsu. Editor lze "přepluginovat", pluginy se tlučou mezi sebou, klávesových zkratek je moc, těžko se pamatují a nemusí být kompatibilní a výhody editoru jdou do kopru. Proto používám jenom pluginy, které propojují editor s externí aplikací, a instaluji jich co nejméně. Jako všichni ostatní dnes používám lazy.vim k instalaci pluginů, ale úplně nadšený z něho nejsem, i když ve výsledku funguje spolehlivě.

Opustím Neovim úplně, až Helix dostane systém pluginů? Nejspíš ne, ale bude to záviset na pluginech, které budou k dispozici.

Minulé lásky

Klasické nvi stále občas používám na drobné editace, pokud je v daném distru k dispozici. Líbí se mi jeho logika, jednoduchost a bezproblémovost. Na složitější programování je však až příliš jednoduché.

Vis, inteligentní spojení editorů vi a sam, používám většinou tam, kde není nvi. Samovské strukturální regulerní výrazy jsem si svého času velmi oblíbil, takže na tento editor nedám dopustit, ale k programování ho nepoužívám. Navíc multikurzor zde není vyřešený zrovna ideálně a několikrát se mi stalo, že jsem ho omylem zapnul a vesele přepisoval text v úplně jiné části dokumentu.

Vile, kombinaci vi a emacsu jsem opustil. Je zřejmě buggy, na jedné z platforem vile padalo a sežralo přitom text. Dalo se to obejít, ale obtěžovalo mne pořád na to myslet. Vile se snaží kombinovat přednosti obou editorů, modální editaci se emacsovským systémem bufferů a oken. Jde o zajímavý nápad z doby, kdy Vim a Emacs byly pojmy, které stály za „náboženské“ flamewars. Ty doby už minuly a s nimi i účel tohoto editoru.

A pak je tu samozřejmě ed. Stará láska nerezaví! Přiznám se, že tento jsem nepoužil snad celé století, ale nikdy ho neopomenu nainstalovat, pokud v systému není. Je to prostě TEN EDITOR, bez kterého se žádný pravý unixovský systém a jeho správce neobejde, i když musí neustále do kola studovat, jak se používá ;-)

Edit

Svět svobodného SW vždy dovede něčím překvapit. Nedávno jsem objevil malý klenot. Zatím jsem ho vyzkoušel jenom zlehka, ale určitě ho ještě prověřím. Asi ne v pracovním procesu, ale na takové to domácí programování stačit bude.

Edit je opět kombinace, a to kombinace modálního stylu vi a některých vlastností slavného editoru acme z Plan9. Edit umí simulovat plumbing, kterým je Plan9 proslulý. Napíšete příkaz kamkoliv do buferu, pomocí tab nebo myši se příkaz provede a výstup se vypíše do bufferu. Geniální!

Jde o velmi jednoduchý, malý program napsaný v C. Zdaleka nejsou implementovány všechny funkce vi, ani acme, ale byl jsem překvapen, že i s omezenou paletou nástrojů se dá docela solidně fungovat. Přidal bych ještě strukturální regex z editoru sam a byl by to dokonalý a přitom stále jednoduchý editor. Vlastně něco jako kombinace vis a acme.[1]

Ale opusťme nyní svět editorů.

Obsidian

Už velmi dlouho hledám ideální poznámkový systém. Zkoušel jsem Org Mode v Emacsu i v Neovimu. I Org Roam, který na Org Mode navazuje. Pak jsem testoval Neorg, kde je dle mého soudu povedený markup, ale implementace mi připadá slabší. Autor navíc celý systém totálně překopal a pochybuju, že se někdy odrazí ode dna.

Pak jsem nějakou dobu používal unixovské nástroje, což je sice maximálně flexibilní, ale zároveň mi tu chybělo něco, co by poznámky spojovalo dohoromady a mne nutilo dodržovat nějaké konvence. Nenašel jsem čas, ani prostor něco vymyslet a napsat vlastní skripty, který by mi zjednodušily práci.

Na Obsidian jsem se díval už dříve, ale připadal mi pro mé relativně skromné požadavky jako overkill. Avšak nedávno jsem ho na doporučení kolegy začal používat v práci na poznámky a dokumentaci a přiznávám, že mi učaroval.

Jde v prvé řadě o GUI aplikaci s jednoduchým přehledným rozhraním, ale existuje i plugin a LSP do Neovimu, takže není třeba opouštět oblíbenou černou obrazovku. Nicméně mi GUI rozhraní narozdíl od jiných poznámkových systémů (např. Zim) připadá jednoduché a přehledné a navíc obsahuje vizuální schéma poznámek připomínající hvězdnou oblohu. Hvězdná mapa poznámek ukazuje odkazy na jiné poznámky, které dohromady tvoří souhvězdí. Celé to na mne působí jako ideální vizuální reprezentace metody zettelkasten. Navíc GUI obsahuje vim mód, takže přesvědčený vimista nemusí dostat revma z nepřirozného kroucení prstů na klávesnici. Kvůli tomu všemu raději používám GUI než plugin do Neovimu.

Program samozřejmě není minimalistický. Umožňuje různé módy vyhledávání, templaty pro různé druhy souborů, jak např. žurnál, který navíc má vlastní funkci. Dovoluje vkládat obrázky, PDF a snad i multimédia. A zmínil jsem, že poznámky píšeme v Markdownu?

Markdown není můj oblíbený kůň a v odkazu výše píšu proč. Nicméně je to kůň, na kterého lze vsadit, protože je prakticky všudypřítomný a vždy na něj budou existovat nástroje na konverzi do jiných formátu (např. lowdown nebo pandoc).

Obsidian není kompletně free, pro export je nutná registrace a zaplacený poplatek za nástroj exportu. Naštěstí existují náhrady třetích stran, jež umožňují vytvořil komplexní web exportem provázaných poznámek do HTML, např. Hugo, MkDocs a hlavně Quartz, který je napsaný přímo pro Obsidian a rozumí některým jeho specifikům.

Obsidian možná není miminalistický SW, ale připadá mi praktický, pružný a vizuálně přitažlivý. Pomalu přenáším své roztroušené poznámky pod jeho střechu. Nakonec centralizované a formalizované poznámky v MD nejsou na Obsidianu závislé, pokud se rozhodnu ho nakonec opustit.[2]

Typst

Když jsme u moderních aplikací, výbornou náhražkou za klasický groff (neatroff) a klasický Latex je Typst. Jde o typesetter (sázecí program), jenž produkuje PDF jako výstup.

Narozdíl od Latexu nejde o multigigabytové monstrum, které se instaluje půl hodiny (alespoň u nás na venkově). A narozdíl od groffu má lepší správu fontů, podporuje Unicode a jeho syntax je jednodušší.

Typst sám je zdarma, ale autoři poskytují placený webový editor podporující kolaboraci psaní (souběžnou editaci jednoho souboru), ale tento autorský socialismus našinec nejspíš nevyužije.

Zellij

Kdo pracuje v terminálu, časem docení výhody terminálového multiplexeru. Osobně jsem ho nejvíc ocenil právě ve WSL, kde nepoužívám žádné GUI programy. Dlouhou dobu jsem pracoval s tmuxem a není na něm nic špatného, ale slyšel jsem, že mnoho lidí preferuje herdr kvůli propojení s AI.

Tak daleko jsem se zatím nepropracoval anebo tak hluboko neklesl, záleží na tom, kdo se ptá. Ale vyzkoušel jsem Zellij a už jsem u něj zůstal. Důvod? Práce s ním je přehlednější!

Nejsem velký fanda tiling WM, protože mívám problém zapamatovat si klávesové zkratky a stejný problém mám i u tmuxu. Zellij tento problém řeší uspokojivým způsobem, klávesové zkratky mám neustále na očích.

Zellij nahrazuje tmuxovské ctrl+b několika různými zkratkami jako ctrl+t pro záložky (taby) nebo ctrl+p pro panes (panely), které uživatele odpojí od terminálu, ve kterém zrovna pracuje, do příkazového módu Zellije a zde se provede požadovaný úkon, např. n vytvoří novou záložku nebo panel.

Tento styl mi naprosto vyhovuje. Narazil jsem na jediný zádrhel, Zellij používá ctrl+q na vypnutí programu, což koliduje se stejnou zkratkou v Neovimu, takže jsem párkrát vypnul Zellij i s rozdělanou prací. Přemapoval jsem quit na ctrl+Q a od té doby mám pokoj.

Správa souborů v terminálu

Terminálový chad samozřejmě používá cp, mv, rm -rf atd. a ani já se neuchyluji často k terminálovým filemanagerům. Pokud už musím, nejčastěji si vystačím s Midnight Commanderem, neb jsem byl odchován na Norton Commanderu a Total Commanderu. Prostě dvoupanelový filemanager je král!

Nikdy jsem si příliš nezvykl na ranger a jeho nástupce lf, ač jsem je vždy znovu a znovu poctivě instaloval. Snad proto, že jsem byl vždy líný tyto programy nakonfigurovat k obraz svému a naučit se všechny klávesové zkratky. Moderní náhradou za ranger a lf je yazi.

Yazi je napsaný v Rustu, ale to je mi jedno, hlavně že je rychlý. Nevyhraňuji se proti tomuto jazyku, na druhou stranu nerozumím mánii přepisovat staré fungující programy v aktuálně populárním programovacím jazyku. Každopádně Yazi je ďábelsky rychlý, už v defaultu umí skoro všechno, co potřebuju, má vizuální cinkrlátka jako ikony složek a umí náhledy fotek. Další zástupce filozofie „chci mít všechno v defaultu, abych neztrácel drahocenný čas nastavováním, změny mohu dělat později.“ Yazi je tedy zástupcem trojpanelového filemanageru.

O něco zajímavější mi připadá Broot. V podstatě jde o stromový výpis aktuálního adresáře s fuzzy finderem a operací se soubory pomocí příkazů. Tento výstup zůstává blízko klasickému ls -l výpisu, je však inteligentnější. Program vypíše seznam souborů i s ukázkou a počtem souborů v podadresářích. Na konci je prázdná řádka s promptem sloužící k fuzzy vyhledávání a zadávání příkazů. Příkaz vcelku logicky vyžaduje uvození mezerou. Vypsaný seznam souborů lze procházet pomocí šipek a provedený výběr lze nadále zužovat. Příkazy není třeba si všechny pamatovat, otazníkem lze vždy snadno vyvolat nápovědu.

To jsou má doporučení ohledně 1, 2 a 3 panelových filemanagerů.

Supersonic Xserver

Zatím nemám osobní zkušenost, ale tento projekt vypadá dobře.

Jeho autor usiluje o zprovoznění xserveru a starého desktopu E16 pro staré stroje a spoustu dalších věcí.

Na E16 se pamatuju, byl to neuvěřitelně flexibilní desktop a komu nevadí chaos překrývajících se oken, ten může v tomto prostředí jak z devadesátek bez problému vegetovat.

Osobně preferuju stacking WM víc než tiling WM. Dosud se mi nepodařilo si na tiling zvyknout a přitom jsem se opravdu snažil. O klávesových zkratkách a své chabé paměti jsem už hovořil výše. Tiling zvládnu, dokud jsou otevřená 2 okna. Víc už nedává smysl a na malých obrazovkách jsou i 2 okna moc.

Na Waylandu mají Niri, jehož koncepce je řešením problému, který mám s tilingem, neboť okna jsou zde seřazena do jedné dlouhé řady, přičemž monitor (desktop) pokrývá vždy max 2 z nich. Stačí se posouvat doprava a doleva jako film na cívce, až najdeme okno, které hledáme. Stejným způsobem jsou uspořádány panely v Zelliji, o kterém píšu výše. To je asi jediný způsob tilingu, který dokážu pochopit a uchopit, ale Niri se mi nepodařilo spolehlivě rozběhat.

Operační systém

Pro desktop dnes používám výhradně Linux. Mám rád BSD, ale málo platné, zpohodlněl jsem a nemám chuť, ani čas zápasit s jejich nedostatky. Linux je rychlejší, jde zde k dispozici více SW a většinou funguje OOB (out of the box). OpenBSD používám pouze na serverové straně jako router a webserver. Nedávno jsem se pokusil na starý notebook nainstalovat nové NetBSD 11 s lehčím DE jako LXQt a Xfce, ale nefungovalo to na první dobrou, tak jsem to po krátké námaze s řešením vzniklých problémů vzdal a místo toho nainstaloval Lunduke OS verze 0.5.[3]

Defaultním WM v NetBSD je CTWM a s tím bych byl schopen žít. Líbí se mi víc než starobylé FVWM na OpenBSD, ale chtěl jsem kompletní DE. Lundukovo nové distro je zatím ve stadiu beta nebo dokonce ještě alfa, poslední verze je 0.5, ale už od 0.1 funguje OOB a to ilustruje rozdíl mezi Linuxem a BSD. Na Linuxu zdaleka není všechno sunshine, ale DE fungují z fleku, a to v současnosti oceňuju nejvíce.

Tím nechci BSD nasazovat psí hlavu Reprobovu. Tato OS také fungují OOB, ale DE jsou jednoznačně linuxovsky orientovaná a v BSD nefungují tak dobře jako na Linuxu. GhostBSD je vyjímka a do tohoto OS jde hodně dobré práce, sleduju jejich kanál na Telegramu, ale nemám moc rád MATE desktop a nechce se mi potýkat se se zvláštnostmi FreeBSD.

Omarchy Linux

Na závěr si nechávám Omarchy, distro, které prý uživatelé Arch Linux upřímně nenávidí, zatímco mnozí jiní k němu planou láskou a nadšením. Opět tu máme odi et amo.

Pár drbů k tomu, proč ho někteří lidé nenávidí: jednak o nich psal Daily Wire, známý pravicový outlet, a jednak nadace Omacom zastřešující Omarchy dostala nedávno asi 8 milionů USD od velkých tech jmen jako Michael Dell. To je víc než vybere GNOME a KDE dohromady (podle Lunduka) a levičáci v těchto projektech vykazují známky nervového zhroucení z tak strašlivého pravicového spiknutí.

ISO, které má 5 GB, už mám stažené, nikoli však nainstalované. Za jiných okolností by mne velikost image odradila, ale autor distra DHH se řídí filozofií, která se mi v současnosti nejvíc zamlouvá: „nechci trávit svůj čas nastavováním a zprovozňováním počítače, proto chci hotový produkt nainstalovaný do 1 minuty“ (alespoň na moderních strojích), kde je nejen vše, co uživatel počítače potřebuje, ale všechno je propojené a vizuálně vymazlené, jak z holywoodského velkofilmu o hackerech.

To je filozofie, o které už jsem se zmínil dříve. Proto jsem zde nadužíval ten odporný amerikanismus OOB. Proto také nepoužívám Windows, které sice fungují, ale nikoli OOB, navíc se dlouho instalují nebo updatují. O Apple raději ani nemluvím. Age of Tinkering je pryč, alespoň pro mne.

Po technické stránce se to s Omarchy má následovně: v základu sedí Arch, na něm běží Wayland, Hyprland a Quickshell. S Waylandem nemám nejlepší zkušenosti. Hyprland je v podstatě tiling WM, což také není můj šálek kávy, ale estetický dojem je dobrý. Quickshell je zodpovědný za všechna kouzla, kterými se Omarchy chlubí, především masivní využití AI nejen při developmentu, ale i v živém systému od analýzy chyb až po generování nových barevných themes.

Uvidíme, jak bude Omarchy fungovat v praxi. Celkem vzato jde o opačný přístup než vyznávám. Na druhou stranu pokud vlastním pořádné železo, proč nezapřáhnout koně, které má pod kapotou?[4] Osobně preferuju starší repasované kousky a vím, že na takových Omarchy ani nepoběží, proto zatím nemám železo, na které bych instaloval a VM použít nechci. Podělím o své zkušenosti, jakmile to bude to bude možné.

A to je pro dnešek vše, vážení čtenáři. Vzkaz těm konzervativnějším: nebojte se techu a zahoďte Windows, u nás Linux používá i babička a přitom nejsme víc než pouzí amatéři. Vzkaz technoasketům: zřejmě jsem dospěl do linuxovskému důchodu, přestal jsem být minimalistou.

EOF