11. Juni 2024

GIMP 3.0 - Sneak Peek

Jeg spottede lige ovre på LibreGraphics’ Youtube-kanal, at de havde uploadet en presentation fra GIMP-teamet, så den prakker jeg jer lige på her. Præsentationen varer lidt over 41 min. og den er vigtigere end selv TV-Avisen. Hæh.

GIMP 3 får bl.a.

* GTK3-support
* Wayland-support
* Non-destructive editing
* Touch support
* Basal CMYK-support

Det er endnu uvist hvornår GIMP 3 udgives, men det ser ud som om udviklingen er på sporet. Jeg glæder mig!

Video

2. Juni 2024

PopOS Cosmic Desktop

“SavyNik” på Youtube har lavet en video omhandlende de seneste ændringer på PopOS’ grafiske brugerflade Cosmic Desktop. PopOS udvikles af System76 og interesserede bidragsydere. Det ser rigtig godt ud, og viljen til at bidrage med udvidelser er stor i fællesskabet omkring Cosmic Desktop. Måske en fremtidig contender til “SimonOS”, som jeg skrev om for et par dage siden? En Linux-distribution kan sagtens have flere skrivebordmiljøer alt efter brugstype.

Cosmic Desktop er ikke en variant af GNOME, som det kunne se ud til ved første øjekast, men skrevet fra bunden i programmeringssproget Rust. Apps skrives med funktionsbiblioteket libcosmic, der er baseret på brugerfladedesignværktøjet Iced. Det er fedt at se “rigtige” Rust-native apps dukke op, som ikke bare er bindings til gammel C/C++-kode. Mange af de apps der er udviklet til Cosmic, er udviklet helt fra bunden.

Video

Links

System76s side om PopOS
Cosmic Desktop Github
Iced GUI toolkit

30. Maj 2024

Linux-drømme: “Min” Linux-distribution

Nu skrev jeg i går om problemerne med Linux - det ændrer dog ikke ved, at vi har et knaldgodt økosystem, prøv f.eks at besøge ubuntudanmark.dk, hvor der er en venlig, hjælpsom atmosfære.

I dette indlæg vil jeg prøve at skitsere mine idéer med en Linux-distribution med mit eget aftryk. Som jeg nævnte i tidligere indlæg, så ligger arbejdet nogle år ude i fremtiden, men derfor kan man jo godt drømme. Jo tættere på, vi kommer, jo mere ved vi så om, hvad der kan lade sig gøre.

Pre-boot

Hvis du har læst mit forrige indlæg, så skinner det nok igennem, at jeg synes Linux-miljøet, bruger for lidt krudt på at lave distributionerne forskellige. Sådan virkelig forskellige. Linux Mint går for at være en begyndervenlig Linux, og den er mere helstøbt end de fleste - men den mangler stadig bedre “onboarding”-muligheder.

Vi har aldrig rigtig fået en “bedstemorvenlig” Linux, selvom mange af værktøjerne eksisterer, og egentlig “bare” mangler lidt finpudsning. Der bliver brugt for lidt tid på integrationer, der gør funktionerne “lækre”. Det udspringer måske af, at vi kunne bruge flere grafiske designere og brugerflade-eksperter i Open Source-miljøet?

Da Windows 95 kom ud, prøvede Microsoft at lave en alternativ brugerflade til Windows, der hed Microsoft Bob - den blev ikke nogen succes, men jeg synes den var frisk i den forstand, at den forsøgte at gøre operativ systemets brugerflade til noget letforståeligt. Netop fordi vi ikke skal sælge et produkt og følge en hidsig forretningsstrategi i Linuxland, så kan vi eksperimentere alt det, vi lige lyster.

Jeg sidder selv med hjulene - i begge lejre, som hhv. kodenørd og grafisk designer. Jeg kender mig selv, og ved, at version 1 altid bliver noget crap, men jo mere finpudsning, jeg foretager, jo tættere kommer jeg på det, jeg egentlig ønsker. Arbejdet her vil være min mulighed for at gå mere agurk med low-level stuff, som jeg længe har ønsket, samtidig med, at jeg kan trække på min design-erfaring.

Jeg er ikke så bekymret for at gøre tingene anderledes, ej heller selvom det er “ilde set” i dele af community’et, for det viser, hvor mangfoldigt Linux kan være. Lidt ligesom Canonicals Ubuntu i starten, hvor de udviklede deres egen GUI - Unity og display server’en Mir. De måtte backtracke, fordi udviklingsarbejdet tog for mange ressourcer, og Unity er i dag GNOME med plugin-tilpasninger, men lever også videre under navnet Lomiri.

Der var mange, der ikke kunne lide det, Canonical gjorde, men det gjorde netop at der pludselig kom flere muligheder. Ubuntu er i dag stadig en af de mest brugte distroer. Det betyder ikke, at jeg er enig i alle deres strategier, men de skal dog have cadeau for at turde prøve noget andet.

Det ærgrede mig, at Canonical ikke havde mulighed for at føre Mir/Unity visionen ud i livet, men omvendt skal man heller ikke genopfinde den dybe tallerken, medmindre det giver mening.

En Opinionated Linux

“Min” Linux bliver en “opinionated” Linux rettet mod “Hr. og fru Danmark”. Den skal være så letvægt som overhovedet muligt, for styresystemet er egentlig ikke vigtigt for brugeren, det er hurtig og nem adgang til dine programmer til gengæld.
Derfor kommer vi til at handle at skralde overflødige ting væk. Jeg vil hellere lave en smal distribution end en, der forsøger at være alt for alle.

Derfor bliver der heller ikke en million pakker i det tilknyttede repository. Vi udvælger det, vi synes er creme de la’ creme, og arbejder videre med det, mens vi bygger vores eget økosystem, a’la GNOME Circle. Kvalitet over kvantitet. Det betyder jo ikke, at brugerne ikke vil kunne bidrage med nye pakker. Naturligvis. Men der skal være en vis standard.

Lidt flygtige opbygningstanker

* Brugervenligt… Nærmest Apple-pædagogisk
* Choose your adventure - skal du bare bruge en browser eller et fuldblods OS, udvid senere.
* Gemme så meget teknisk-mumbojumbo væk som overhovedet muligt. Computeren er et underholdnings/arbejdsværktøj for alle - ikke kun en legeplads for tekniknørder
* Minimal Debian-baseret (tænk Slax eller ChrunchBang++)
* x86-64 og ARM64 arkitekturer
* Understøtte større open source webapps via desktop-integration
* Fediverse integration (men på hvilken måde?)
* Wayland/Pipewire
* Root mountes som read-only, og programmer mappes til brugerens eget app-bibliotek i $HOME
* Init: OpenRC. Simpelt at ændre sin bootkonfiguration
* Online/Offline hybrid, m. IPFS-integration
* Fjerne snitfladen mellem cloud og ikke cloud.
* Nem adgang til theming - tilpas din desktop med HTML/CSS.
* NextCloud, Matrix og Jitsi-integration m.fl.
* Smertefri integration med åbne IOT-devices (det er alt for geeky i dag)
* Desktopmiljø: Ukendt, men en udvidelse af noget eksisterende
* ZFS-filsystem
* Flatpak og AppImages baseret-softwarecenter
* WASM runtime first class

28. Maj 2024

Problemerne med Linux

Affødt af en god diskussion på Fediverset (jeg poster på Mastodon), så vil jeg prøve at addressere nogle af problemerne med Linux, som jeg ser det fra min stol. Mit forrige indlæg bar præg af, at jeg er helt tosset med måden, Linux og andre Open Source-systemer udvikles på. Der er selvfølgelig områder, der kan og skal forbedres. Og i modsætning til IT-giganternes operativsystemer, så kan man faktisk gøre noget ved det selv.

Jeg forestiller mig her, at jeg har nogen som helst chance for at påvirke udviklingen i mit hjørne af verden. Det har jeg måske, lidt, for jeg kunne godt tænke mig at skabe min egen Linux-distribution, når jeg har søsat mine andre projekter - så et godt stykke ude i fremtiden.

Jeg kunne godt tænke mig at se, hvor langt man kan komme, hvis man tænker brugervenlighed ind som hovedfokus, og ikke kun fokuserer på de tekniske fremskridt. Jeg synes f.eks, de fleste brugerflader har mest værdi, når man lykkedes med gemme de tunge ting væk, og gøre dem forståelige for folk, der ikke er teknisk anlagte. Det er en ting, f.eks Apple excellerer i.

Nå, i gang med det lidt kedelige - du må ikke tro, at jeg nyder at finde dårligdomme, men omvendt, så er det også interessant at identificere de steder, der halter.

Distributionerne skyder med spredehagl

Linux’ absolutte styrke ligger i dens fleksibilitet. Og alligevel ser man på Distrowatch en masse distributioner, der ligner hinanden. Folk kan jo gøre som de vil, det er det, frihed implicit betyder. Men jeg mener, at det vil være gavnligt, hvis der kom flere behovsbestemte Linux-distributioner. Lidt ligesom Ubuntu Studio og Lakka forsøger at gøre. Ubuntu Studio er en Ubuntu-distribution målrettet kreative mennesker, mens Lakka målretter sig til retrokonsol-folket.

Nogle mennesker spænderer 95% af deres dag på internettet - så behøver de ikke helt styresystem, hvor de måske ender med at bruge en ganske lille del af den samlede funktionalitet. Derfor kunne de spare diskpladsen og nøjes med en “skal”, hvor der bootes direkte ind i en browser. Se f.eks hvor hurtigt TinyCoreLinux booter, fordi den kan eksistere i en ramdisk. 12MB + evt. størrelsen på en browser. Hvad skal man så med en systempartition på flere gigabytes?

Skitsering af en behovsbestemt installation

Når du “adopterer” et nyt styresystem, så skal du først til at lære det at kende, og finde ud af hvilke programmer, der eksisterer. Jeg foreslår istedet, at man vender bøtten, og laver en installationen behovsbestemt. Det ville så kræve, at installationens dialog tog sig nogenlunde sådan ud:

Installationsprogram: “Hej, hvordan ønsker du at bruge din Linux?”
Person klikker: “Jeg er musiker”
Installationsprogram: Ok, her er nogle valg, der måske kunne interessere”
Skærm: “Ardour”, “LMMS”, “Jacks”, “Bitwig Studio” (Bitwig er kommerciel, men et godt alternativ til Ableton Live, hvis du vil køre Linux)

En spilentusiast ville måske få “Proton”, “Steam”, “Lutris” osv.

I dag får du en mængde standardprogrammer, som teamet bag OS’et håber du vil bruge, men som egentlig ender som fyld. Der er naturligvis programmer, man ikke kan komme uden om, men oplevelsen af et skræddersyet system ville være større. Du vil naturligvis stadig have Software Center eller Discover til at installere yderligere programmer med.

Fælles økosystem, og så alligevel ikke

Open Source-miljøet er meget projekt-inddelt, og projekterne arbejder ikke nødvendigvis sammen på tværs hele tiden. Derfor kan det godt tage tid, før integrationer mellem to programmer finder sted. GNOME og KDE-projekterne har lavet deres egne økosystemer indenfor Linux-fællesskabet, hvor de vedligeholder nogle bestemte typer software. Det tror jeg er den helt rigtige vej at gå, hvis man vil lave problemfri integration.

Her er et eksempel med cURL, hvor de venter på, at OpenSSL-projektet skal løse nogle ting, for at et nyt HTTP/3-library kan tages i brug. cURL og OpenSSL bruges også på Windows og MacOS.

Linux only software

Det her er potentielt en varm kartoffel. Men jeg mener, der mangler software, som kan få folk til at overveje at bruge Linux. Windows er altdominerende, fordi du kan få alt dertil. MacOS fungerer bedst i et Apple-økosystem, men nyder også godt af god integration med IoT-devices såsom Philips Hue osv. Linux favoriserer ikke noget bestemt, men desktop-udgaven af Linuxsystemer fejler ift. at tiltrække andre end os supernørder, fordi der mangler software med bred appel, så også mormor kan være med. Når der laves grafiske frontends, mangler der indimellem lige et lag glassur. Der mangler lige, at koderne hiver fat i nogle brugerflade-eksperter og får nogle fif.

Skal man gøre f.eks det grafiske miljø nysgerrigt, så skal man stille med noget, der fungerer lige så godt som Adobes grafiske pakke, og her har Adobe nogle års forspring. Vi har nu i mange år håbet, at der kommer en fuld-blods grafisk programpakke til Linux, der kan det hele, med dyb integration og samme strømlinede interface som Adobes. Du kan nå langt med GIMP, Inkscape, Krita, Davinci Resolve, Blender og Scribus. De er fede programmer, men de bærer stadig præg af, at de er udviklet af forskellige teams, og mangler bestemte funktionaliteter, der kan få folk til at overveje et skifte.

Jeg tror ikke, at de professionelle grafikere kommer, medmindre en mastodont som Adobe vælger at smide det hele Creative-pakken ovenpå en platformsuafhængig WASM-runtime. Måske sker det - de tester i hvert fald Photoshop i en browser, og så fjerner man jo al balladen med at skulle bygge til forskellige systemer.

Men…

Måske er det ved tiden, at vi ser på, om man kan udvikle et alternativ, der repekterer folks ønske om ikke at knytte sig til en abonnementsordning, som er Adobes cashcow. Det er lidt en skrøne, at folk der bruger Linux ikke vil betale for software - det, man ønsker er, at have friheden til at vælge, hvad man vil købe, og så at have lov til at rode med koderne, så man kan lave nye fede integrationer uden at blive banket i hovedet med et patent. Det kommer til at tage tid - lang tid - at udvikle en grafisk suite. Men der mangler et tilbud til dem, der vil have det hele i en pakke. Skal jeg være lidt polemisk, så kunne vi jo nærmest have nået at udvikle noget på det tid, vi har gået og sukket efter en løsning ;-)

Dårlig onboarding

Det her går igen i samtlige styresystemer der findes. Man tager simpelthen brugeren for lidt i hånden, når de sidder med deres systemer post-install. Mange af grundkoncepterne er de samme for en bruger med erfaring, men for en utrænet bruger, så er man nødt til at holde dem i hånden: Hvordan opretter jeg forbindelse til netværket? Hvordan kommer jeg på internettet? Hvordan sender jeg en email? Hvad er mine muligheder for support? Udsigten til at hænge i et forum er ikke sjov, så der skal udvikles nogle bedre hjælpefunktioner.

Upstream ejerskab

En af de problemområder, jeg synes, xz-infiltrationssagen belyste var, at Linux’ fødekæde er svag i forhold til, at distributionerne ikke tager ejerskab over de pakker, de hiver ind i distributionerne udefra. Man stoler lidt for meget på, at projekterne downstream selv løser deres problemer. Men hvert projekt har sine egne metoder at håndtere kriser på. Nogle arbejder metodisk med code reviews, andre gør ikke. I en verden som nogle mennesker desværre insisterer på at kaste ud i tumult, så er man nødt til at tjekke alle leder og kanter.

Linux er gået fra at være et fællesskabsbaseret hobbyprojekt til at være noget, som rigtig, rigtig mange mennesker og virksomheder baserer deres hverdag på. Det er alle steder, på servere, i mobiltelefoner til mindre embeddede devices. Derfor må pengestærke Linux-baserede virksomheder træde til, og hjælpe hobbykoderne økonomisk, så de ikke brænder ud, enten ved at øge deres sponsorater eller evt. ansætte dem. Det kniber det med, mens virksomhederne gerne vil nyde godt af arbejdet.

Nu kører jeg selv Ubuntu, og følger primært nyhederne derfra, og Ubuntu nåede heldigvis ikke at blive ramt af bagdøren, men det var der andre der gjorde - de distroer, som integrerer nye pakker hurtigere. Pakken med den inficerede xz-komponent var nået over i Ubuntu “proposed”-repo’et, og skulle ind i 24.04LTS, da bagdøren blev opdaget og fjernet. Det får mig til at tænke på, om tingene er blevet for komplekse, og om tingene sker for hurtigt. Man behøver ikke nødvendigvis at inkludere en opdateret minorversion af en pakke, medmindre der er en graverende bug.

Jeg er klar over, at “ejerskab” betyder at man så skal overvåge ændringer i adskillige tusinde pakker, og at det vil være en umulig opgave for en community-Linux uden automatisering. Men der er nogle dele af et styresystem, der vigtigere at holde opdateret end andre.

Kan alle lære at bruge Linux?

English auto-translation by Google

Det korte svar er ja, naturligvis!

Jeg er aktiv i vores lokale Linux-brugergruppe og der har vi folk over 70+ år, der styrer Linux med hård hånd, så selvfølgelig kan du lære det også.

Og nu da alle de store IT-giganter vil stoppe AI-funktioner ned i din hals, så bør du spørge dig selv, om ikke det er tid at overveje et skifte til en platform, der ikke er drevet af store forkromede forretningsplaner. Med i baggagen får du så også muligheden for at udvide levetiden på din computerhardware ganske betragteligt, for på Linux og BSD-platformene er der er ingen softwareproducenter, der har en aktie i at tvinge dig til at købe nyt hardware andet end når det går i stykker.

Har du en gammel Intel-baseret Mac kan du med fordel installere Linux på den, og når Apple om få år afliver M1-platformen ved ikke længere at udsende softwareopdateringer, så knald Linux på den og glæd dig over, at du stadig har noget hardware med liv i.

Du behøver ikke flyde med strømmen og lade IT-giganterne diktere, hvordan du bruger din computer - med Linux og andre open source-systemer kan du til enhver tid tilpasse dit system, som du har lyst.

Behold det gamle ved siden af

Der er ingen, der siger, du skal kyle det gamle styresystem helt ud - mit eget skifte skete gradvist over flere år. Linux kan sagtens eksistere sideløbende med dit andet system på samme disk. De fleste Linux-installationsprogrammer spørger dig om du vil beholde det gamle. Er du gamer, så skal du nok overveje stadig at dualboote Windows på din computer, for spilproducenterne smider for meget grus i maskineriet.

Selvom Proton, der driver Steam Deck’en, kan køre mange Windows-spil, så betyder spilproducenternes anticheat-systemer ofte, at spil ikke virker på Linux. Når det så er sagt, så forbedres mulighederne dag for dag, og derfor findes mange af de programmer, du kender, også til Linux. Chrome, Spotify, VLC, Steam, Blender, Thunderbird, GIMP, Krita, Inkscape, osv. De er der alle.

MitID fungerer også, selvom Digitaliseringsstyrelsen ikke understøtter Linux officielt. Der er en mindre bug i Firefox, når man trykker “Åbn MitID app”, så går den ikke til næste skærmbillede, men den kommunikerer stadig med MitID, for din MitID-app på telefonen går videre til næste trin med QR-koden sekundet efter du har åbnet den. Så det virker dog.

Det er typisk offentlig dansk IT ikke at understøtte Linux (herunder ChromeOS, selvom skolevæsnet bruger dem) Når Digitaliseringsstyrelsen aktivt fravælger mindre desktop-platforme, så kultiverer de også duopolerne Microsoft og Apple, og er aktivt med til at forhindre ethvert fremskridt, der kan åbne markederne til forbrugernes fordel.

Giv det tid

Jeg vil ikke lyve, det kommer til at koste en del frustrationer at skifte. Du skal lære et helt nyt økosystem at kende, men jeg lover dig, at det er sliddet værd. Det kræver tilløb og vilje at aflære det, man allerede ved. For du kommer med x års erfaring i baggagen fra et andet system.

De fleste tror stadig, at Linux er et system for nørder, der elsker at tæske kommandoer ind på en kommandolinie, men stort set alle Linux-distributioner har et software center i dag, hvor du henter programmer fra, så behøver du praktisk talt kun røre terminalen/kommandolinien, når du skal lave administrative ting. Der findes der som regel også en “peg-og-klik”-måde at gøre det på.

Og så må jeg sige, at det på det varmer meget at vide, at Linux bygges af et verdensomspændende fællesskab af både private og virksomheder. Selvfølgelig bidrager de nogle gange til Linux-kernen for at forbedre deres egne produkter, men alt tæller i det store regnskab, for alle får gavn af de bidrag der kommer ind. Sidstnævnte tjener stadig styrtende med penge på konsulenttjenester, clouddrift osv.

Jeg ville ønske, at verden var drevet på den måde altid, og ikke af lurvede strategier og folk der profitterer på, at lave aflukkede software og hardware-miljøer. Måske en dag, når verden træder et trin op på bevidsthedsstigen.

Til sidst

Prøv Linux, og prøv undervejs at fordybe dig i fællesskabet omkring det, det giver det hele en ekstra dimension. Jeg garanterer dig, at det er en oplevelse, uanset hvilken sti, du vælger fremad.

NB: Jeg linker nedenunder til mine begynder-favoritvalg - både Linux Mint og Zorin er baseret på “storebror” Ubuntu, men tilbyder funktioner, der gør at du lettere kan glide fra Windows over i et Linux-miljø. Distrowatch er medtaget for at give dig et billede af, hvor mangfoldigt Linux og BSD-miljøet er.

Links

Linux Mint
ZorinOS
Ubuntu
Distrowatch