fionescu(1)

🐧 #Linux #*BSD #FLOSS #sysadmin #infosec #OSdev #EuroStack #fediverse #altele 🐧

doas pkg_add mango foot fish fastfetch grim slurp btop

OpenBSD 7.9 a fost lansat pe data de 19 mai 2026, fiind mai exact release-ul numărul 60. Noua versiune include, printre altele, LibreSSL 4.3.0 – care face primii pași către criptografia post-cuantică –, OpenSSH 10.3 (puteți citi acest articol de pe FOSS Linux pentru o analiză detaliată a noilor îmbunătățiri pe partea de securitate, optimizări pentru arhitecturile multi-core, suport VLAN/PVLAN pentru Virtual Ethernet Bridge (veb) și alte îmbunătățiri în ceea ce privește wireless stack-ul, hibernarea și virtualizarea (vești bune pentru cine folosește macOS și vrea să ruleze un VM cu OpenBSD).

Acest articol din heise prezintă pe larg multe dintre aceste noutăți și de asemenea precizează că vestitul bug descoperit de Claude Mythos a fost... deja rezolvat într-un patch la OpenBSD 7.8 de acum două luni. (Și spun vestit pentru că a fost un mare tam-tam când Claude Mythos a depus eforturi în valoare de $20,000 pentru a descoperi vulnerabilități în OpenBSD și singura vulnerabilitate pe care a putut s-o găsească a fost o problemă de logică în implementarea TCP care poate cauza un biet DoS – un fleac dacă facem comparația cu vulnerabilitățile critice care afectează Linux în mod frecvent. Sau, mă rog, majoritatea sistemelor Linux, că dacă ai un kernel hardened, te afectează mai rar. Însă pe OpenBSD ai din start, cu orice instalare implicită, o securitate de invidiat, cu prețul unui sistem de operare de o simplitate care exclude unele „mofturi”.)

Cei mai mulți utilizatori au putut face tranziția de la 7.8 la 7.9 cu o simplă comandală: syspatch. Eu însă, de Stan Pățitul ce sunt, când mi-am instalat inițial 7.8 pe acest desktop, am făcut greșeala amarnică de a lăsa prea puțin spațiu pentru partiția OpenBSD, pe care acesta, la instalare, în mod uzual o împarte în mai multe subvolume, conform unui layout pe care îl poți modifica – evident, nu mi-am bătut capul, așa că m-am trezit de câteva ori cu /usr/local si cu /tmp full sau aproape full. Așadar, singura soluție la îndemână este a face loc și pe restul SSD-ului meu și apoi a reinstala, iar lansarea 7.9 mi-a oferit pretextul de a întreprinde operațiunea asta, care n-a fost deloc simplă – nici backup nu mi-a fost ușor să fac. Până a urmă, am pierdut vreo 10 ore...

Instalarea 7.9 a fost un pic diferită: a apărut ca nou element prestabilit autoconfigurarea IPv6, iar numele de domeniu al sistemului este acum setat implicit ca my.domain (de exemplu, pe ecranul de login al xenodm vei vedea ceva de genul: utilizator@numelesistemului.my.domain). În rest, aceeași experiență UNIX clasică.

Dincolo de opțiunile X11 implicite (neschimbate de 20 de ani) din instalarea de bază, poți alege, de exemplu, GNOME 49 sau KDE Plasma 6.6.7, versiuni surprinzător de noi ale acestor desktop environments care sunt tot mai mult orientate către distribuțiile Linux pe bază de systemd – nu pot decât să admir tenacitatea acelor maintaineri care se chinuie cu mult efort, prin intermediul așa-numitelor shims, sa păcălească GNOME și KDE întru funcționarea lor pe OpenBSD, neținând cont de faptul că mulți utilizatori OpenBSD – cel puțin dintre cei vizibili pe Internet – refuză din principiu să ruleze GNOME sau KDE, fiindcă nu sunt “light”. Tot așa mulți nu vor să audă nici de Wayland, dar cu toate acestea Wayland a fost de asemenea portat pe OpenBSD.

Cea mai nouă opțiune de compositor/window manager Wayland pe OpenBSD disponibilă acum (cu un simplu pkg_add mango) se numește Mango (alias mangowm, anterior MangoWC), face parte din familia celor bazate pe librăria wlroots (care nu e singura pe Wayland, dar e cea mai larg răspândită), este programat predominant în C și are la bază elemente din dwl (o încercare de a transpune celebrul dwm pe Wayland) si sway (o transpunere a i3 pe Wayland; merge pe toate sau aproape toate configurațiile hardware și variantele de Linux sau BSD, inclusiv DragonflyBSD), dar ca funcționalitate, pentru utilizatorul de rând (?), este mai degrabă o alternativă la Hyprland.

Timp de câțiva ani, pentru comunitatea celor care își personalizează desktop-ul Linux sau chiar BSD, Hyprland a fost referința supremă ca tiling window manager care oferă animații sofisticate (pentru cine nu are răbdare să caute pe Reddit, acest video va garanta în câteva minute un adevărat șoc cultural pentru oricine a ramas pe Windows sau chiar MacOS) și o gamă de layout-uri care s-a îmbogățit în timp: cine vrea poate să-și dispună ferestrele într-un scrolling layout care să se întindă la potențiak infinit pe orizontală, ca la niri).În ultimii ani însă, dezvoltatorul și comunitatea din jurul Hyprland au căpătat o reputație extrem de controversată, iar cea mai recentă bomboană de pe colivă este decizia de a trece la limbajul de programare Lua, alienând utilizatorii care nu pot sau nu au chef să învețe de la zero un alt limbaj pentru a-și configura window manager-ul preferat...

Fie și din inertie, Hyprland încă are destul de mulți fani, dar anul acesta a crescut foarte mult în popularitate Mango, tocmai pentru că poate fi folosit ca un înlocuitor de Hyprland, cam la fel de ușor de configurat ca Hyprland-ul pe stil vechi, și poate fi cuplat cu un desktop shell precum DMS sau Noctalia, care oferă astfel o experiență aproape completă de desktop environment, asemenea GNOME sau KDE, dar cu mai puține dependențe. Mai puține, dar totuși destule încât să poată provoca dureri de cap dacă folosești nu Arch, ci vreo altă distribuție de Linux cu o comunitate mai mică, unde trebuie să-ți compilezi singur, operațiune care nu se sfârșește întotdeauna cu succes... (Nu foloseam Slackware când eram în scutece, așa că să mi se ierte acest skill issue.)

Luna trecuta, foloseam cwm. Posibil să revin la el. Dar, până una alta, cu ocazia 7.9, mi-am zis să încerc Mango, poate merge din prima.

Mango merge pe OpenBSD, da. Dar atenție, tastatura s-ar putea să nu vă meargă dacă tastați “mango” din utilizatorul non-root. Cred că există și o variantă mai eficienta, dar am recurs la următoarea șmecherie: din tty am pornit tmux, iar înainte de a porni mango într-o fereastră tmux, în prealabil am pornit în altă fereastră tmux următorul proces:

doas seatd -u $(whoami) -l debug

Bucățica asta de cod am ciupit-o de pe o pagină oficială a proiectului Xenocara (implementarea X11/Xorg folosită de către OpenBSD), unde explicau în 2023 cum se poate rula sway pe OpenBSD. Restul liniilor de cod nu știu dacă se potrivesc și la Mango – nu am avut nevoie încă să aprofundez subiectul, jos pălăria cui a făcut portul.

în mod implicit, Mango se înfățișează ca un window manager minimalist, fără wallpaper implicit (spre deosebire chiar și de sway), doar o monocromie maronie (wallpaper-ul poate fi setat un pic mai încolo cu swayimg)... Dacă apeși Alt+Enter, apare o fereastră activă încadrată cu o subțire ramă galbenă: foot, primul emulator de terminal nativ pentru Wayland, același terminal implicit ca pe sway. Pot rula xterm fara probleme, dar alte terminale X11 cer o opțiune Xwayland specială, cum ar fi îb cazul alacritty:

env WAYLAND_DISPLAY= alacritty

Pe OpenBSD, configurația Mango se face prin editarea fișierului /etc/mango/config.conf – din fericire, nu e necesară recompilarea, îndată ce ai salvat modificările, apeși SUPER (tasta Windows) + “r” și gata, doar că schimbările nu vor fi vizibile decât îndată ce deschizi ferestre noi – lucru de care nu mi-am dat seama în timp ce reglam blur-ul... așa încât a ieșit ce a ieșit în screenshot-ul de la inceputul articolului: se vede un pic prea bine wallpaper-ul, de-mi vine să fug la piață după un fruct mango...

Echivalentul workspaces din sway sau alte window managers se numește aici tags, între care poți comuta cu Ctrl + [număr de la 1 la 9], iar ca să muți o fereastră te folosești de Alt + [numărul unde vrei s-o muți]. Avantajul lor e că poți avea câte un layout diferit pe fiecare dintre ele, comutabile cu SUPER + “n”: de exemplu, pe 1 poate vrei să rămână o singură fereastră, cu btop sau alt task manager, în poziție de tiling, dar pe 2 vrei să ai o fereastră de browser, o fereastră de LibreOffice și încă alte câteva chestii – apeși o singură dată SUPER + “n” și acum acestea sunt dispuse in poziție de scrolling orizontal. În plus față de niri, Mango implementează și un scrolling vertical, pe care însă încă nu l-am încercat (am impresia că trebuie editat config-ul ca să-l activezi). Pe site-ul proiectului poți previzualiza modul în care funcționează fiecare layout,

Cam atât pot spune despre noul OpenBSD (care va fi supported timp de un an de acum, așa este ciclul lor) și prima mea experienta cu Mango, pe care il utilizez acum fără să fi montat încă waybar – de care însă, mă gândesc, nu am o acută nevoie, pot vedea ora exactă și din interiorul tmux, cel puțin așa m-am obișnuit pe cwm în ultima lună. Un pic incomodă cum e, m-am obișnuit deja cu experiența OpenBSD și mă tentează să experimentez și cu posibilitățile sale ca server, atât timp cât mă voi putea obișnui fără Docker...

(Urma inițial ca acest al doilea text de pe site să fie despre rețelele sociale descentralizate și despre cum voi ar trebui să nu mai puneți botul la eYou și W și alte asemenea țepe care caută să profite de dorința voastră de autonomie digitală față de IT-ul american... Nu știu când îl voi publica.)

P.S. După ce am terminat de scris acest articol, la un moment dat, m-am trezit că, în timp ce încercam să trec pe un alt layout cu SUPER + “n”, brusc a colapsat sesiunea Wayland cu o eroare generică “Broken pipe” (cred că aceeași cu care m-am confruntat mult timp pe KDE Plasma). Am încercat să reproduc eroarea, dar la sesiunea următoare SUPER + “n” a mers la perfecție... Acest factor de imprevizibilitate mă face să spun că, în afară poate de KDE Plasma care acum are un mecanism rudimentar de session recovery (dispar bara, wallpaper-ul și fereastra care a cauzat colapsul, dar ai încă posibilitatea de a folosi celelalte ferestre, de a porni procese noi ori de a face un restart curat), Wayland mai lasă de dorit. Mango e simpatic, dar cred că o să revin la cwm.

doas pkg_add picom alacritty fish fastfetch asciiquarium firefox-esr

Acum un an, îmi instalam Linux Mint pe toate calculatoarele, după 30 de ani de Ferestre! În 2026, am luat decizia de a mă îndepărta oarecum de „pinguin” și de a mă împrieteni cu... „peștele-balon” – mascota unui alt sistem de operare, OpenBSD. O să-mi ia ceva timp să explic de ce, așa că stai calm (ca desktop-ul pe care îl folosesc acum, calm window manager (alias cwm) și fă-ți o cafea... sau mai multe.


Povestea începe în Constanța anilor '90. Tatăl meu era electronist, așa că am avut privilegiul de a folosi acasă, de la o vârstă fragedă: C64 (groaznice mai erau tastele alea!), 90486, Pentium, 3dfx chiar... Mergeam în cartierul Anadalchioi, pe strada poet Ion Păun-Pincio, la un „internet cafe” supranumit Cociobeni (casa în paragină există și în prezent!), unde țin minte că intrasem pe Internet pentru prima oară (primul URL pe care îl tastasem: site-ul Oddworld!) și, în rest, mai răsfoiam reviste CHIP, publicația unde, de altfel, auzeam deja de Linux, FreeBSD, chiar și BeOS.

Intriga: tata era mare fan Microsoft (de la Windows 3.1 până la 10 am prins aproape toate versiunile), în timp ce eu în secret jinduiam la iMac-urile viu colorate din epocă și la Mac OS X! Doar că nu mi-am permis niciodată vreun Mac. Ani de zile am fost al doilea utilizator pe calculatorului tatălui meu; abia prin liceu ajung să dețin un PC numai al meu, dar mentenanța mi-o făcea tot tata, iar din cauza asta nu am ieșit din zona de confort... Așa se face că nu am prins Mandrake, era primului Ubuntu, Compiz... Primul meu contact cu Linux a fost, acum vreun deceniu, un calculator la Biblioteca Județeană din Constanța care rula Mint (o primă impresie: nu chiar rea; își făcea treaba). Situație ironică: câțiva ani mai încolo, când mă mut la București, tata îmi oferă spre eventuala depanare a laptop-ului meu un kit întreg de CD-uri, printre care și un Mint live... pe care aveam să-l rătăcesc înainte de a-l fi folosit vreodată!

Nu am vrut să ajung ca tata, așa că luasem decizia de a mă dedica în liceu și facultate filologiei, literaturii, cititului și scrisului... (Din preocuparea asta și din tangențele cu jurnalismul voi rămâne cu aplecarea către creativitate și gândire critică – să pun totul la îndoială și să privesc din câte mai multe unghiuri. Și, deși firea mea e cam „moale”, am învățat astfel să recunosc oamenii care chiar inovează și oamenii care chiar știu ce zic, chiar dacă intransigența lor poate părea respingătoare multora.) IT-ul nu mă mai pasiona, ba chiar nici jocurile video. Dar anii trec, frustrările financiare se acumulează, așa că ajunge să mă tenteze o carieră bănoasă în programare...

La un moment dat, fac internship de software development în C#... incluzând tentative de vibe coding cu atunci proaspăt lansatul ChatGPT! Experiența mea de atunci e motivul pentru care am rămas cu un profund scepticism față de mai tot domeniul „AI”. În timp ce cei de la NetBSD – sistem de operare folosit inclusiv pe sistemele aerospațiale, cunoscut pentru faptul că poate rula pe aproape orice arhitectură CPU imaginabilă – refuză orice contribuție identificabilă ca fiind produsă de AI, Linus Torvalds crede că asta nu contează, ci doar calitatea codului în sine... dar tot el crede că n-are rost ca Linux să mai aibă suport pentru i486. Ce vreau să spun de pe acum: nu tot ce face Torvalds e tocmai de idolatrizat.


Totuși, pasiunea pentru IT o recapăt abia după ce... Trump revine la putere. În semn de boicot față de politicile lui Trump și de Microslop și alte corporații americane care acum își bat joc de încrederea oferită de către restul lumii, m-am decis să mă îndepărtez cât mai mult posibil de produsele lor. Mișcarea #BuyFromEU m-a instigat să trec la Linux și la alternative care depind mai puțin sau deloc de toanele regimului din Statele Unite.

A fost surprinzător de ușor să înlocuiesc Windows; în sine, a scăpa de Microslop e un pas important pentru oricine își ia câtuși de puțin în serios siguranța digitală. Pe parcursul următoarelor luni am destul de puține probleme în sine cu Mint, cum ar fi un pic de screen tearing în Cinnamon X11 pe laptop, care s-a împăcat mai bine cu varianta experimentală de Wayland, deloc funcțională în schimb pe desktop... Dar, una peste alta, mi-a oferit o tranziție aproape perfectă la Linux!

Nu peste mult timp însă mă bate gândul distro hopping-ului... ocazie cu care descopăr cu adevărat ecosistemul Linux în mai toate înfățișările sale... Ajung să mă intersectez cu detractorii systemd, susținătorii filosofiei “suckless” și diverși experți, mai mult sau mai puțin credibile, în materie de cibersecuritate și OS development. Până la urmă, încerc Alpine, unul din distro-urile recomandate de notoriul “madaidan” ca având un grad ceva mai mare de securitate proactivă, implicită, printre altele pentru că nu se bazează pe systemd (init-ul tuturor distro-urilor mainstream, mai susceptibile de a fi țintite de hackeri), ci pe OpenRC.

Alpine Linux, KDE Plasma, Karousel, fish, fastfetch, Vivaldi

Evident, cum tocmai veneam dinspre Mint, nu am putut rezista tentației de a trânti pe Alpine un desktop environment ca nuca în perete: KDE Plasma Wayland. A arătat superb, dar am avut parte de nenumărate bug-uri cu care am încercat să mă acomodez – deh, baba suferă la frumusețe! Mai rău, în loc să mă obișnuiesc cu distrobox sau să-mi fac obicei din a-mi compila software, am făcut prostia să mă bazez în continuare pe Flatpak-uri – o consecință, de exemplu, a fost că, de la un punct, Emacs (instalat din Flathub) nu-mi mai mergea! Cât despre securitate, nu am făcut nici pe departe “hardening” în gradul în care aș fi vrut – m-am culcat pe o ureche...

În toamna anului trecut mă regăsesc ca... pișcotar la OmniOpenCon de la Politehnica din București, unde am dat mâna cu Alexandru Rotaru și am ascultat anecdotele sale despre timpul petrecut cu Torvalds în România prin 1995. De pe laptop-ul meu arhaic, care era pe un Windows 8.1 înainte să treacă la Mint (Cinnamon gâfâind însă pe numai 4 GB de RAM, așa că am recuperat un pic de memorie folosind sway, primul tiling window manager minimalist cu care m-am obișnuit), reușesc să bootez Alpine în QEMU fără niciun fel de tehnologie de virtualizare... doar prin software, încet, dar sigur... Cel mai mult însă mă bucur de faptul că nu am nicio obligație. Mă uit cu compasiune la cine e forțat de angajator să folosească Ubuntu...


Putea părea că m-am convertit necondițional și pe vecie la... „religia” pinguinului! În fond, e o minune că Linux există și că funcționează. Și totuși, m-am gândit din timp că nu știu ce îmi rezervă viitorul: m-am lecuit de LibreOffice (nu mai am nevoie musai de genul acela de editare) și m-am apucat de învățat Emacs, editorul de text în care poți face aproape orice (ca un OS în miniatură, cum spun gurile rele din tabăra vim). În afară de puriștii Plan 9/9front (care cred că GNU și Linux au „stricat” familia UNIX), pe mai toate sistemele de operare se poate folosi Emacs... chiar și pe OpenBSD.

Curățenie de primăvară, planul meu pentru sezonul acesta: tranziția la OpenBSD ca OS principal pentru mine, urmând să mai folosesc anumite distribuții Linux pentru anumite scopuri bine delimitate – cum ar fi Artix pentru momentele în care țin musai să meșteresc la un desktop super personalizat și nu vreau să pierd timp și nervi cu lucruri pe care nu le găsești packaged decât pentru Arch sau NixOS...

De ce aș folosi OpenBSD, o distribuție BSD (nu Linux) aparent foarte conservatoare (dacă ne-am lua după desktop-ul X11 implicit: fvwm, la fel ca pe NetBSD, din care OpenBSD, ca “fork”, se trage; de fapt, cine chiar vrea poate folosi și GNOME sau KDE Plasma, ori vreun compositor Wayland ca sway,wayfire sau foarte recentul mangowm!), folosită de o minoritate invizibilă în statistici?

Ei bine, minoritatea utilizatorilor OpenBSD numără în rândurile sale o puzderie de experți în cibersecuritate (aspir să candidez la un post de SOC analyst la un moment dat), hackeri și programatori care împărtășesc un adevărat cult pentru sistem (alături de câțiva troli dubioși care răcnesc “OpenBaSeD”, pentru că nu poate fi pădure fără uscături...); în trei decenii și până azi, au avut foarte puține vulnerabilități... S-a făcut recent mare tam-tam pe seama faptului că Claude Mythos a găsit un bug în TCP-ul OpenBSD care poate fi folosit pentru... DoS! Nu exploit de remote root!

Securitatea perfectă nu există, dar iată că dezvoltatorii OpenBSD s-au apropiat razant. KARL (Kernel Address Randomized Link), OpenSSH, LibreSSL, PF, unbound, W^X, pledge/unveil... un întreg arsenal impresionant (vă invit să citiți despre fiecare). Chiar și detractorii, care spun că n-ar trebui în secolul ăsta să ne mai bazăm pe un kernel monolitic sau care se simt deranjați de ostentația unora dintre fani, recunosc totuși că OpenBSD, cu tot fixismul lor – aderența strictă la filosofia UNIX, a lucrului care face un lucru –, fac treabă serioasă pe partea de mitigare.

Qubes OS e oarecum mai simplu de utilizat (desktop Xfce cu GUI pentru aproape totul) și rezolvă probleme-limită de securitate cum ar fi carantinarea unor dispozitive USB posibil infectate, dar e cam musai a avea RAM – 4-8 GB de RAM minim, spre deosebire de OpenBSD! –, CPU cu VT-d și VT-x pentru a putea virtualiza tot ce se poate virtualiza, de la programe până la hardware-ul pe USB, și pentru a putea menține izolarea dintre “quburile” unde pot fi carantinate fișiere potențial infectate, descărcate de pe Internet – model care ține atât timp cât nu sunt escape-uri sofisticate care să se folosească de vreo vulnerabilitate la nivelul Fedora (care, să nu uităm, au devenit obsedați de AI), Linux sau, mai rău, Xen (hypervisor-ul care încadrează kernel-ul de Linux), multiple puncte care oferă suprafață de atac, posibile supply chain attacks...

Între timp, cei de la GrapheneOS, cel mai securizat sistem de operare pentru telefoane mobile, lucrează nu numai la un desktop mode, ci și la tranziția de la baza Android la un microkernel (probabil SeL4 sau ceva similar) cu un strat de compatibilitate Linux, caz în care ar putea deveni cea mai bună alternativă la OpenBSD.


Am ezitat să trec la OpenBSD din diverse motive, printre care lipsa de compatibilitate cu ZFS, btrfs sau chiar ext4 (cineva din afara echipei OpenBSD lucrează la un patch pentru suport read-only ext4, dar e vibe coded și momentan nu prea merge...), actualmente filesystem-ul implicit pe majoritatea distribuțiilor de Linux. Au suport parțial pentru ext2, ext3 și NTFS, dar insistă să folosească aproape exclusiv FFS (de la Fast File System, nu... altceva). Cine vrea musai ZFS să folosească FreeBSD sau NetBSD; am citit însă că FFS e destul de stabil. Oricum, se impun backup-urile, care se pot face prin dump/restore, tar, openrsync sau rsync. O dată laptop-ul meu a rămas fără baterie; la următoarea bootare, filesystem-ul s-a curățat singur, la fel ca pe Linux, unde foloseam ext4.

În afară de un laptop, mi-am instalat OpenBSD și pe desktop, precum și intr-un VM. Spre deosebire chiar de FreeBSD sau NetBSD, instalarea – precedată de o bootare aproape la fel ca atunci când sistemul este instalat, o bootare cam urâtă – cei de la SecBSD, un distro derivat din OpenBSD, măcar au schimbat culorile cu paleta Matrix, ca să fie mai interesantă! –, care include semnalele de hardware, ce pot fi consultate și ulterior cu dmesg, prin care poți folosi grep ca să te dumirești cum se numesc interfețele de rețea sau alte dispozitive – nu este grafică nici măcar la modul DOS, însă m-am obișnuit cu așa ceva de la Alpine Linux. Instalarea este relativ simplă, majoritatea pașilor putând fi parcurși apăsând Enter (Return), dar în unele situații îți pot da mici dureri de cap configurarea rețelei sau partiționarea...

În speță, OpenBSD îți listează interfețele de rețea așa cum sunt etichetate în firmware (de ex.: iwm0), fără a le re-eticheta drept eth0 sau wlan0, așa cum o face Alpine; totuși, îți poți dai seama în OpenBSD citind apoi cu atenție output-ul comenzii:

ifconfig

Atenție, dacă ai sărit peste configurarea rețelelor în cadrul instalării, va trebui să creezi un fișier de genul hostname.iwm0, unde înlocuiești iwm0 cu numele interfeței tale de wi-fi, dar să nu faci greșeala de a înlocui hostname cu numele localhost-ului tău (cum am făcut prima dată). Mare grijă că te poți trezi în situații cum ar fi că wifi-ul nu prea merge înainte de a face, după instalare, update de firmware cu comanda:

fw_update

Iar pentru asta e posibil să ai nevoie musai de un cablu de Ethernet; cât despre hard disk-uri, pe laptop mi-am luat la revedere de la Linux și l-am lăsat să ocupe tot HDD-ul în MBR și cu auto-layout, dar pe desktop m-am chinuit să fac partiționare manuală GPT (cu Edit)...

Documentația (manpages) care vine cu sistemul de operare este destul de bună, unii ar spune excelentă, doar că este mai degrabă comprehensivă decât prietenoasă pentru cine vrea un quick start. Iar în cazul partiționării GPT, am găsit pe YouTube un singur tutorial (Dual boot OpenBSD and Linux (n00b friendly) @ TheOpenBSDguy) cu ceea ce cautam, incluzând o comandă, setpid, care este menționată în manpage-ul de la fdisk, dar în FAQ-ul pentru disk setup nu este menționată, nu mi-e clar de ce... (O resursă mai bună pe acest subiect am găsit aici. În rest, ocoliți pe cât puteți așa-zisul OpenBSD Handbook, care include și niște halucinații AI; mă gândesc să caut cartea Absolute OpenBSD, care e considerată o resursă extraordinară.)

După fw_update, syspatch (un update de sistem care, la fel ca la bootare, îți randomizează kernel-ul pentru a preveni vulnerabilitățile de corupere a memoriei) și punerea la punct a /etc/doas.conf (proces familiar, și Alpine Linux vine implicit cu doas în loc de sudo), logarea în desktop-ul X11 (a cărei implementare este un fork securizat de către cei de la OpenBSD, numit Xenocara; pentru a avea un VM cu GUI, trebuie deschis un port pentru X11 forwarding prin Xephyr, pentru care mai aveți nevoie de package-ul py3-virtualdisplay) se face prin xenodm, care este display manager-ul implicit, cu interfata de login, decorată cu sigla simpatică a peștelui-balon...

Cum am zis, în mod implicit, OpenBSD pornește cu hidosul fvwm (la fel ca NetBSD) și oferă printr-un meniu posibilitatea de a-l schimba rapid cu o serie de alte window managers ce pot fi considerate arhaice, toate din anii '90-2000. Dezvoltatorii și comunitatea recomandă folosirea uneia dintre acestea pe motiv că au suprafața de atac cea mai redusă și, după decenii de folosință, posibil să nu mai aibă bug-uri. Inițial, m-a tentat să fac aceeași greșeală și să folosesc KDE Plasma sau GNOME (pe acesta din urmă l-am incercat, dar m-a întâmpinat un bug de la prima instalare: ferestre complet transparente/invizibile; se poate să fie de la firmware-ul de GPU, mă grăbisem să nu dau fw_update mai întâi, însă oricum m-am lecuit, știind și că GNOME nu prea mai poate fi actualizat, din cauza dependenței sale tot mai mari față de systemd), apoi m-am gândit să revin la i3/sway (încă mă tentează!) sau să trec la mangowm, care pare să fie cel mai bun tiling window manager la ora actuală (include cele mai diverse layout-uri de tiling, inclusiv scrolling vertical, nu doar orizontal ca la niri; pe Alpine, aveam scrolling orizontal mulțumită extensiei Karousel, care mergea binișor cu KDE Plasma), dar abia ce a fost portat și, în genere, nu știu dacă deocamdată este așa de ideal a folosi deja Wayland pe OpenBSD (mulți din comunitate detestă Wayland și limitările sale). Așa că am luat o altă decizie, și anume aceea de a adopta cwm, care arată cam așa în mod implicit (rulez aici și task manager-ul btop în terminalul alacritty, care nu fac parte dintre programele instalate implicit; după cum vedeți, ocupă foarte puțină memorie înainte să dai drumul la browser și alte nebunii):

OpenBSD, cwm, xclock, btop, alacritty

De ce cwm este singurul window manager interesant pentru mine dintre cele implicite? Pentru că oferă atât ferestre floating, cât și o minimă posibilitate de tiling manual, precum și un workflow în care așa-numitele groups pot fi folosite în locul acelor workspaces de pe alte window managers (la ora la care scriu, încă nu m-am obișnuit cu funcționalitatea asta, mă mulțumesc cu a ascunde sau a aduce la suprafață ferestrele după nevoie, apăsând Alt (Meta) în combinație cu săgețile). Pot folosi tastatura în mod exclusiv sau aproape exclusiv – în configurația mea de mai jos (care se adaugă la acele default keybindings din man cwm și le înlocuieșste pe câteva cu unbind, mouse-ul e folosit în tandem cu tasta Mod4 (Windows... sic!) doar pentru a muta sau a face resize la ferestre, deoarece aici ferestrele nu au decoratiuni, nu au butoane pentru a le inchide, maximiza sau minimiza!

# Theme Settings
borderwidth 0
color activeborder "#2591c6"
color inactiveborder "#050005"
color groupborder "#050005"
color ungroupborder "#050005"
color menubg "#050005"
color menufg "#2591c6"
color font "#2591c6"
color selfont "#050005"
gap 32 5 5 5

# Set Font
fontname "JetBrainsMono Regular:pixelsize=14"

# Keybindings
# C = Ctrl, M = ALT, S = Shift, 4 = Mod4 (Windows Key)
unbind-key CMS-r
unbind-key CMS-q
unbind-key CM-f

bind-key 4-Return	alacritty
bind-key 4S-Return	"rofi -show-icons -show drun"
bind-key 4S-r		restart
bind-key 4S-q		quit
bind-key 4S-f		window
bind-key 4-q		window-close
bind-key 4-j		window-cycle
bind-key 4-k		window-rcycle
bind-key 4-v		window-vtile
bind-key 4-w		window-snap-up
bind-key 4-a		window-snap-left
bind-key 4-s		window-snap-down
bind-key 4-d		window-snap-right

# Application Keybindings
bind-key 4-f		firefox-esr
bind-key 4-c		scrot
bind-key 4-m		"alacritty -e cmus"

# Application Menu
command emacs		emacs
command firefox		firefox
command firefox-esr	firefox-esr
command chromium	ungoogled-chromium
command keepassxc	keepassxc
command libreoffice	libreoffice
command wireshark	wireshark
command thunar		thunar
command btop			"alacritty -e btop --force-utf"
command xterm		xterm
command alacritty		alacritty
command kitty			kitty
command tmux		tmux

# Mouse Keybindings
unbind-mouse 4-3
bind-mouse 4-1		window-move
bind-mouse 4-3		window-resize

# Windows Misc
ignore xclock
ignore bar
moveamount 5

# Groups
bind-key M-1        group-only-1
bind-key M-2        group-only-2
bind-key M-3        group-only-3
bind-key M-4        group-only-4
bind-key M-5        group-only-5
bind-key MS-1       window-movetogroup-1
bind-key MS-2       window-movetogroup-2
bind-key MS-3       window-movetogroup-3
bind-key MS-4       window-movetogroup-4
bind-key MS-5       window-movetogroup-5

sticky yes

# Ignore bar for purposes of groups
autogroup 0 bar

În combinație cu compositor-ul picom (care permite transparență și alte brizbrizuri), rezultă o înfățișare mai pe gustul meu de Linuxist care își rezervă dreptul de a se abate de la purismul nostalgicilor UNIX sau Plan 9 (de altfel, cwm a fost parțial inspirat de rio, window manager-ul implicit din Plan 9/9front)! Un alt sacrilegiu: când nu folosesc dragul de tmux, pendulez între alacritty și kitty`; din principiu, n-aș prea folosi alacritty, fiindcă e pe bază de Rust și am rezervele mele în privința Rust (o altă lungă poveste)... dar, încă nu m-am lămurit din cauza căror diferențe de configurație implicită (pe care oricum le voi schimba la un moment dat cu ajutorul Root Loops), culorile arată mai bine decât în kitty... Revenind la picom, in fișierul .xsession am adăugat la scriptul de startup, înainte de exec cwm:

picom -bcf -i 0.8 -e 0.8 --corner-radius 8 --backend glx --vsync &

Puteți găsi pe Internet și configurațiile altor oameni, care au adăugat o bară prin lemonbar, prin care un shell script poate afișa ora și gradul de ocupare a procesului sau memoriei sau alte lucruri de genul acesta. Nu am nevoie de ceas atât timp cât am o asemenea funcție în interiorul tmux, acolo pot rula în spate și un btop și cu asta basta! Țin apăsat stânga clic și apare o listă a tuturor ferestrelor, așa cum țin apăsat dreapta clic pentru a avea acces la mai multe scurtături de aplicații des folosite, dacă nu am nevoie să caut altceva, caz în care folosesc meniul rofi, activat cu Mod4+Shift+Return... în rest, minimalism aproape desăvârșit (nu m-am putut abține de la a adăuga pictograme – „iconițe”, vă mai amintiți?! – la aplicațiile listate în rofi).

OpenBSD, cwm, firefox-esr, tmux, btop, fish

După cum se poate vedea din imagine, citirea temperaturii CPU nu funcționează deloc (pe laptop-ul cu Intel merge normal, nu știu ce are cu AMD-ul ăsta), iar diacriticele îmi lipsesc deși mi-am setat keyboard layout-ul cu:

setxkbmap -layout ro

Am încercat și:

wsconsctl keyboard.encoding=ro

Ca output primesc eroarea: ro: not a valid encoding! Asemenea mici chichițe cărora rămâne să le fac troubleshooting in continuare ar fi impardonabile dacă vorbeam de o distribuție Linux modernă care se vrea a înlocui Windows... însă: una la mână, îmi vine să iert toate păcatele OpenBSD-ului de dragul enormelor sale calități... Doi la mână, mă interesează să învăț și de aici încolo înclin să cred că astfel mai pot avea încă multe de învățat despre sistemele UNIX...

Înainte de a încheia, dacă interesează pe cineva – cum-necum, în România există două mirrors de unde poți descărca OpenBSD – și vrea să-l folosească drept un sistem de desktop (evident, cum am zis, e folosit mai mult pentru servere, routere... Mă tentează să-mi iau un mini-PC și să-l fac router cu OpenBSD!), mare atenție: există doar câteva browsere – Firefox, Chromium, Iridium... – care au fost patched cu pledge/unveil.

Aceste două mecanisme, specifice OpenBSD (SELinux poate fi doar parțial comparat), permit unui browser (sau oricare alt program modificat cu ele) acces implicit doar la propriile sale fișiere și la folder-ul Downloads (la fel ca Storage Scopes din GrapheneOS), iar programul în sine nu poate face niciun syscall atipic pentru un browser, ceea ce împiedică, de exemplu, încercarea extensiilor potențial malițioase de a accesa restul sistemului de operare! Înainte, pe Linux, foloseam diverse alte browsere precum Nyxt ori fork-uri de Firefox precum Vivaldi sau Zen, care aici nu există sau nu includ pledge/unveil; Nyxt se pare că nu merge deloc, din păcate, pentru că mi-ar fi fost un complement foarte bun pentru Emacs, al cărui browser intern (EWW), din câte știu, poate fi cel mult modificat să folosească Chromium pe post de motor... Dar nu le putem avea pe toate!

Să ne vedem cu bine!