Min första dag med Haiku: hon är oväntat bra

Min första dag med Haiku: hon är oväntat bra

TL:DR; En nybörjare provade Haiku för första gången och tyckte att det var fantastiskt. Speciellt jämfört med skrivbordsmiljöerna som finns tillgängliga på Linux

Jag har redan delat med mig av mina idéer (och besvikelser) angående #LinuxAnvändbarhet (del 1, del 2, del 3, del 4, del 5, del 6). I denna recension kommer jag att beskriva mina första intryck av haiku, ett operativsystem med öppen källkod för persondatorer. Ibland är första intryck användbart, men eftersom man bara får första intryck en gång sparade jag mitt här.

Min första dag med Haiku: hon är oväntat bra
Systemet jag skriver denna recension på

Kanske kommer de att vara användbara för Haiku-utvecklare eller andra intresserade.
Jag kan ha fel någonstans, eftersom jag bara beskriver min personliga (läs: blinda ögon) första upplevelse. Dessutom hjälpte vänliga människor på #haiku-kanalen på nätverket irc.freenode.net mig med tips - jag kommer också att publicera dem. Tack, Haiku-utvecklare!

Vad jag ville säga: Haiku är inte 100% perfekt ännu, men det har redan en solid arbetsmiljö.

Installation

Haiku-projektet tillhandahåller bilder att starta från CD eller DVD, bildas dagligen. Jag använde ett USB-3-minne. Jag har fått höra att uppstart från USB-3 kanske inte fungerar, men på mina två Intel-baserade testsystem fungerar det felfritt.

Jag startade själva installationsprocessen genom att ladda ner en bild för 64bit, som jag sedan skrev till en flashenhet med hjälp av programmet Etcher. Nedladdningen fungerar som EFI, och utan det - min applåd för att jag tillhandahållit en sådan bild.

Haiku använder sin egen BeFS filsystem för startpartitionen, även om stöd för FAT32 och NTFS i princip deklareras. I allmänhet räcker 600MB för systemet, men det behövs mer utrymme för ytterligare applikationer.

Som standard skapas en 600MB partition med BeFS och en 32GB partition med FAT3. Det finns en fil på FAT32 /EFI/BOOT/BOOTx64.EFI, vilket betyder att den kan starta på EFI-aktiverade system. Tyvärr hittade jag inga program för att öka storleken på BeFS, och jag hoppas att de i framtiden kommer att göra ett annat diskpartitionsschema, eftersom storleken på partitionsavbildningen är fixerad liten och det kanske inte finns tillräckligt med ledigt utrymme för ytterligare programvara. Det skulle vara trevligt om ytterligare programvarupaket lagrades på en andra FAT32-partition.

Samma lösning skulle vara en fördel för dem som vill komma åt filer direkt från andra system. Linux Det finns redan stöd för att läsa BeFS, det finns implementeringar för att läsa och skriva BeFS under SÄKRING.

Min första dag med Haiku: hon är oväntat bra
Haiku installatör

De gav mig råd: om du vill använda en mer rymlig partition, installera Haiku på en annan flashenhet.
För mig är detta steg i princip överflödigt, eftersom Haiku-installationsprogrammet inte vet hur man partitionerar diskar, utan bara startar DriveSetup-programmet, där du manuellt måste partitionera disken, lägga till en partition, som sedan formateras i BeFS, varefter kontrollen återgår till installatören. Du måste också installera starthanteraren manuellt med ett separat program. Tyvärr kunde jag inte starta från EFI med denna partition, eftersom det inte finns någon FAT32-partition med startfiler för EFI. Ett installationsprogram som kan automatiskt partitionera inklusive EFI-funktioner skulle vara till hjälp.

Min första dag med Haiku: hon är oväntat bra
BootManager installerar starthanteraren på disken

Själva installationsprocessen tar strax under tre minuter, vilket är ganska snabbt. Den kopierar hela systemet, som "bara" består av 4 751 filer. Detta beror på att de flesta programvaror är paketerade som hpkg-filer (något liknande Snap-paket i Linux (system) som aldrig installeras, utan helt enkelt monteras. Intressant nog finns det en hel del "gratis" filer, som till exempel png. Varför är de inte paketerade?

Som jag redan sa kommer till och med operativsystemets kärna i form av en hpkg-fil. (Jag pratade om 4751 filer eftersom jag körde HaikuDepot innan installationen, vilket laddade ner en massa saker. En ren installation verkar inte innehålla alla, och kan installeras snabbare med cirka 200 paket. Coolt! Vad jag får höra är att nedladdade filer inte ignoreras under installationen - detta är mjukvarufel. Wow, det ser ut som att detta är den första felrapporten som skrivits på mitt förslag).

Första stöveln

Systemet startar, visar en trevlig startskärm och stannar sedan: efter laddning visar mitt grafikkort (Radeon) en svart skärm.

Jag fick rådet att starta upp skärmen i säkert läge med en upplösning på 1024x768 på en FullHD-skärm. I princip gick det att mixtra med bootloadern för att få den att fungera med FullHD, men på en annan dator med ett Intel-grafikkort fungerade allt felfritt.

Själva systemet fungerar responsivt från ett USB-minne, tydligen eftersom ingenting skrivs till USB-minnet under drift, så jag hoppas kunna använda USB-minnet som mitt primära arbetssystem. Du får ett riktigt system när du startar från USB, till skillnad från de tröga "live"-systemen. Linux bilder.

Det finns inget skärmflimmer under uppstart, inga kernelmeddelanden och ingen känsla av att Xorg är limmad på kärnan med blå tejp. Till skillnad från vanliga distributioner. Linux, kärnan och det grafiska gränssnittet skapas och justeras för varandra här!

Det finns ingen inloggningsfråga eftersom systemet är gjort för en enskild användare. Allt är enkelt, precis vad som krävs för en persondator.

Om du behöver support från flera användare, ge dem en flash-enhet, som var och en inte kostar mer än $5.

Första intryck av arbetsmiljön

Om man jämför det första intrycket så är det mer som en Mac än till exempel Linux Med Gnome. "Kommandotangenten" fungerar exakt likadant som på Mac. Toppen!

Min första dag med Haiku: hon är oväntat bra
Ingenting slår en rumslig filhanterare som känns som en gammal bra Mac!

Standardfilhanteraren är rumslig (som Macintosh System 1.0) kommer tyvärr inte varje fönster ihåg sina inställningar (till exempel visning som en lista eller som ikoner). Som jag fick höra är detta ett misstag, som jag tror inte kommer att vara svårt att rätta till. (Tyvärr, skriv rapporter till "mimocrocodile" i bugtracker för Haiku svårt - ett originalsystem används, inte baserat på GitLab eller GitHub, vilket också är omöjligt att logga in med deras hjälp). Filer får sina egna ikoner, det är inga problem med separata filer på skrivbordet och ikoner.
Bra! Mycket bättre än skrivbordsmiljöer för Linux, man kan känna enkelheten.

Производительность

Operativsystemet fungerar snabbt även på utrustning med låg effekt som en Atom netbook. Det finns inga uppsvällda lager av programvara. Bra!

Lunduke sa att LibreOffice verkar fungera snabbare än på andra operativsystem, men jag har inte testat detta än.

Spela upp video

Bryan Lunduke. Haiku OS Beta - recension och intryck

Kommandorad

Kompositionen inkluderar en terminal. I allmänhet, trots mindre skillnader med Linux Jag vande mig direkt; det är faktiskt bara vanligt party, vilket gjorde mig väldigt glad.

Welcome to the Haiku shell.
In it, you can easily launch applications that are on the $PATH:
~> Touchpad
~> echo $PATH
.:/boot/home/config/non-packaged/bin:/boot/home/config/bin:/boot/system/non-packaged/bin:/bin:/boot/system/apps:/boot/system/preferences

Wow! "."I $PATH! Det betyder att du kan köra kommandon direkt från den aktuella katalogen (Linuxoids sa en gång till mig att världen skulle explodera om jag försökte det). Stor!

Min första dag med Haiku: hon är oväntat bra
bash som körs i Haiku-terminalen

En annan cool sak med terminalen är att du kan trycka ctrl + c för att kopiera, precis som i andra applikationer, till skillnad från i skrivbordsmiljöer. Linux, där du behöver trycka ctrl + shift + c i terminalen.
Små saker som visar hela systemets integritet.

Filsystemstruktur

Partitionen som nedladdningen kommer från är monterad i /boot. Hur enkelt!
Ingen hög /etc, /usr, /bin… Bara /home и /system. Rent, enkelt, begripligt. Bra! (Inte riktigt: de finns där, men dolda. Varför? För /bin detta /system/bin, det finns inget behov av att visa detta i spåraren, men skripten använder det fortfarande. Jag tycker att utvecklare borde bli av med föråldrade saker som gjorts för kompatibilitet eftersom det bara gör det svårare att förstå.)

paketfs

Jag nämnde tidigare om hpkg-filer, vilka är något liknande paket på Linux, men de installeras inte, bara monteras (som snap-paket). Filsystemet som gör denna magi kallas packagefs. Det monterar hpkg-filer ovanpå andra filer, vilket resulterar i att hela /system-katalogen skapas på detta sätt.

Monteringskommandot visar tyvärr inte vad som är monterat.

~> mount
usage: mount [-ro] [-t fstype] [-p parameter] [device] directory
-ro mounts the volume read-only
-t specifies the file system to use (defaults to automatic recognition)
-p specifies parameters to pass to the file system (-o also accepted)
if device is not specified, NULL is passed (for in-memory filesystems)

Jag blev rekommenderad att prova mountvolume, som kommer att visa monterade partitioner, men tyvärr visar den inte heller monteringspunkter med packagefs (den visar bara de som är associerade med partitioner eller diskbilder). [Lyckligtvis, om du kör mount eller df någonstans på en värd med docker, kan du bläddra igenom ett par skärmar! — cirka. översättare] Men du kan göra ett trick med df:

~> df -h

Mount Type Total Free Flags Device
----------------------------------
/boot bfs 600.0 MiB 6.0 KiB QAM-P-W /dev/disk/usb/0/0/0
/boot/system packagefs 4.0 KiB 4.0 KiB QAM-P -
/boot/home/config packagefs 4.0 KiB 4.0 KiB QAM-P -
/no name fat 2.8 MiB 2.3 MiB - M-PRW /dev/disk/usb/0/0/1

Som sett, /system и /home/config inom /boot detta är bara packagefs.
Folk som känner mig vet att jag är ett fan av dra-och-släpp-stöd i filhanterare: jag använder till exempel applikationspaket i NeXT-stil, eller AppImages.
I vilket fall som helst finns det nackdelar med detta format av mjukvarudistribution. Kan paketfs kombinera det bästa?

Som du kan se, i mitt fall (systempartitionen är full, men jag vill installera applikationer), skulle det vara mer elegant att ladda ner applikationer någonstans med hjälp av en webbläsare, precis som jag gör med filer .dmg för Mac eller AppImage. packagefs bor i kärnan, så det är inte ett filsystem för FUSE (även om jag vet att Haiku också har FUSE). Jag har också fått höra att det kan finnas ytterligare "packagefs-zoner" i framtiden, vilket med största sannolikhet betyder att jag till exempel kommer att kunna säga åt packagefs att lagra paket på separata diskpartitioner. Jag gillar det här - trots allt, om diskpartitionen är på flyttbara media kan jag sätta mig vid en annan dator och köra applikationer där.

De sa också att installation av paket också fungerar med dra-och-släpp-metoden: dra bara filen till /system/packages eller /home/config/packages för installation, och om du extraherar filen därifrån, kommer den att raderas. Om du drar ett paket med otillfredsställda beroenden kommer systemet att begära deras preliminära installation.

Först var det inte klart för mig hur packagefs hanterar flera versioner av samma paket, vad händer om jag vill installera till exempel olika versioner av gcc, eller andra GUI-program? (En av utvecklarna sa, citat: "packagefs i sig innehåller inget som hindrar flera paket med samma namn från att installeras, men eftersom OpenSuses libsolv används för beroendeupplösning, vilket inte tillåter detta, var det förbjudet att göra det och HaikuDepot själv i inställningarna." Jag kan förklara varför jag gillar idén med .app, AppDir och AppImages-paket).

Dynamiska bibliotek

Finns det dynamisk biblioteksteknik? Ja, detta är synligt, till exempel om du startar ett program med saknade bibliotek genom att dubbelklicka:

Min första dag med Haiku: hon är oväntat bra
Kan du föreställa dig detta i gnome, kde eller xfce?

В Linux En sådan här uppskjutning skulle inte avslöja någonting. Låt oss se hur lång tid det tar i olika miljöer:

Hur är det med checkar?

~> ldd
bash: ldd: command not found

Du måste använda ersättningen:

~> objdump -x /bin/bash | grep NEEDED
NEEDED libreadline.so.7
NEEDED libhistory.so.7
NEEDED libncurses.so.6
NEEDED libintl.so.8
NEEDED libroot.so

I princip ldd skulle vara bättre eftersom det dessutom visar vägarna där biblioteken kommer att laddas från.
Var är de egentligen laddade ifrån?

~> echo $LIBRARY_PATH
%A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/lib

Så du kan lägga bibliotek bredvid den körbara filen, och det kommer "bara att fungera". Så coolt! Du kan helt enkelt inkludera enskilda bibliotek i din applikation utan att behöva mixtra med rpath eller ställa in variabeln LD_LIBRARY_PATH som i LinuxBra!

Det finns ett bibliotek (hemskt på Linux) /boot/system/lib/libstdc++.so.6.0.24.
Vad händer om programmet kräver en version som är nyare än den i /boot/system/lib?
Den genomsnittliga användaren skulle förmodligen uppgradera till den senaste versionen eftersom det inte finns någon "Administratör"-användare med root-lösenord på detta system [författaren antyder enkelhet - cirka. översättare].
Nåväl, så ser det i alla fall ut. (Faktiskt är "användare" motsvarigheten till root. Du kan ställa in ett lösenord med kommandot passwd, ange sedan PermitRootLogin=yes в sshd_config, och sedan kan du ansluta externt via ssh. Utvecklarna sa till mig att alla applikationer som standard startas som root. De kanske kommer att lösa det så småningom... Men jag är inte säker på om jag kommer att gilla det.)

På grund av det faktum att det inte finns några distributioner av Haiku har applikationsutvecklare inte heller tillgång till versioner som är nyare än de som är tillgängliga för nedladdning på ditt system. Resultatet: mindre frustration, saker "bara fungerar." Bra förenkling! Jag gillar det.

Resurser och registrator

Som nämnts ovan får appar en typ och en ikon, så du behöver inte bråka med skrivbordsfiler och liknande. Jag fick höra att det finns en speciell registrartjänst som känner till applikationer, filtyper och ikoner. Det meddelas alltid när ett paket installeras eller en fil markeras för körning (med hjälp av programmet chmod eller mimeset).
Påminner mig om något Lanseringstjänster på Mac. Men det här är vad är frånvarande från arbetsmiljöer på Linux. Stor!

Binära filer får inbyggda ikoner som resurser, så du behöver inte en separat ikon utöver filerna på skrivbordet. Nästan samma som det var på Macintosh System 1. Coolt!

Min första dag med Haiku: hon är oväntat bra
Programtyper, dokumenttyper som stöds, inbyggda resurser och versionsinformation

Tracker (filhanteraren) markerar automatiskt binärfiler som körbara. Det här är vad jag förväntade mig av skrivbordsmiljöer på Linux i mer än 10 år.
Allt detta är mycket tillfredsställande. Det är coolt! Livet blir så enkelt. Det är snyggare och mer Mac-liknande än XDG på LinuxEller det här...

Min första dag med Haiku: hon är oväntat bra
Ansökan på Linux utan att den körbara biten är satt

I Gnome tog bort möjligheten att starta körbara filer från en filhanterare, men samhället skapade väsen - och allt returnerades.
Jag fick också veta att applikationer använder funktionen find_paths() istället för hårdkodade /usr/bin и /usr/share (ett vanligt drag i arbetsmiljöer på Linux), vilket innebär att de kan flyttas runt i filsystemet. Stående ovationer! På Linux det är lika komplicerat som vanligt.

Vad förvånade mig

  • Jag var förvirrad över det /boot Detta är partitionsmonteringspunkten från vilken systemet startar. Varför inte"/"? Tja eller /Haiku? (Förklaring: verkligen, /boot Detta är alltid startpartitionen, den visas på skrivbordet som "Haiku" eftersom det är dess namn. Titta på "/"som en analog till skrivbordet i Mac System 1, roten till en hierarki som faktiskt inte finns på diskar).
  • Monteringspunkten för användarinstallerade paket är /home/config. Varför inte bara /home? (En av utvecklarna förklarade för mig att de inte vill förorena hemkatalogen, men jag tycker att config är ett dåligt namn eftersom det finns en underkatalog inuti bin/, så det är inte bara att lagra inställningar).
  • Vad är licensen för allt? Till exempel i Webpositiv webbläsare när du tittar på "Om" finns det ingen explicit indikation. Fältet "Om det här systemet" säger att Haiku-koden är under MIT-licensen. Stor! (Jag fick också veta att WebPositive kommer med ett operativsystem under samma licens, men dess WebKit-motor kommer mestadels under tvåpunkts BSD).

Det som inte fungerade som jag förväntade mig

Det första som slog mig var nivån på hårdvarustöd. Allt fungerade på min Atom-baserade netbook, inklusive WLAN. Men det finns en del egenheter i arbetet.

  • Fullständig funktionsoduglighet på Macintosh-hårdvara, oavsett EFI-läge eller BIOS-emulering (Windows"). Systemet fryser helt enkelt om jag väljer ikonen i Mac-starthanteraren. Jag fick höra att detta berömt inslag och du kan starta med REFIT, men dessa inställningar är för komplicerade för mig.
  • Grafikacceleration. Det ser ut som att det inte går att använda Radeon ännu (jag hade en svart skärm), men det går inte smidigt på Intel heller. Videoacceleration i WebPositive är endast programvara, inklusive H.264. Det är förvånande, eftersom den första orienteringen är på video. En av utvecklarna förtydligade att videon i WebPositive fungerar med långsamma hack.
  • Inget ljud? "Ljudkortsdrivrutiner är fortfarande i förändring," sa utvecklaren. Det behöver förmodligen någon som stödjer HDA-drivrutinen på ett liknande sätt som USB-3. Nu, för att få ljud, räcker det med en varm omstart från ett annat operativsystem, och jag tror att detta kommer att fixas på något sätt.
  • Knapparna för ljusstyrka och volymkontroll fungerar inte. (Grunden finns redan i form av applikationen Genvägar: du kan binda vilken kortkommandon som helst till vilken funktion du vill, men än så länge vet inte Haiku hur man arbetar med medianycklar. Kanske finns det frivilliga?)
  • Styrplatta med två fingrar. Fungerar inte ur lådan. Det finns en inställningspanel som sa "Ingen pekplatta hittades, inställningarna har ingen effekt." (Känt problem med ELAN Input Device, ACPI ETD050A).
  • Med den befintliga applikationen för att läsa filer från digitalkameror och smartphones Android Jag kunde inte synkronisera i MTP- och PTP-lägen. Det vore bra om de kunde monteras som andra partitioner i systemet.
  • Att stänga locket till den bärbara datorn verkar inte hanteras. (Jag vet att Haiku fortfarande inte fungerar med ACPI: support är implementerat, men inte aktiverat som standard; ingen ominitiering av drivrutinen)
  • Jag kunde inte skapa ett konto på bugtracker eftersom det inte fungerar captcha i WebPositive.

Appar

Huvudsyftet med operativsystemet är att starta applikationer. Jag var rädd att det inte skulle finnas några ansökningar om riktigt arbete under Haiku. Lyckligtvis hade jag fel, för det finns hopp om förbättring – när Haiku används oftare.
Scribus (applikation för visuell layout) är, och det är en mycket komplex applikation baserad på Qt. Det finns också QtCreator (ID).

Jag undrade om folk skriver infödda Be-appar för Haiku idag med hjälp av inbyggda verktyg (om de finns), eller om det räcker med att använda QtCreator (som kommer att göra det enklare att portera appar över plattformar). Haiku-utvecklarnas position är en "tydlig" preferens för infödda applikationer för Haiku. Är det sant? Jag tvivlar på att applikationer för riktigt arbete inte är plattformsoberoende (alla applikationer som används i mitt arbete är plattformsoberoende).

Wx-stöd tillkännagivetWindows приложений.

Bristen på Gtk+-stöd är frustrerande. Det betyder att det inte blir Gimp på Haiku inom kort (ja, tror jag), men det finns en ersättare i form av Krita!

Jag tror också att det måste finnas ett enkelt och tydligt sätt att skapa applikationer för Haiku, så här - använder Travis CI och GitLab CI.

Vart ska vi?

Kommer Haiku att fastna med BeOS UX-konceptet? Jag tror att för att vara attraktiv måste den noggrant kalibrera nya UX-designer när den anammas, samtidigt som den förblir trogen dess grunder.
Till exempel:

  • Håll dig enkel, utan de där 100500 alternativen som gör det Linux "komplex".
  • Använd en pilmarkör för musen istället för en konstig hand.
  • Kommer det att finnas en brygga? (Jag är medveten om att det finns något som heter Dock LaunchBox, ännu närmare Dock LnLauncher, men den ursprungliga BeOS hade redan en docka redan 1998!)
  • Global meny? (Självklart inte, sedan JLG ser ingen speciell fördel).
  • Snabbt fönsterbyte? (De sa att du kan försöka aktivera "Stack & Tile", håll nere tangenten Windows när man drar ett fönster, men det är inte intuitivt, och dessutom fungerar det inte för mig).
  • Animation av att öppna och stänga fönster?
  • Skuggor utanför fönstren?
  • Temastöd som i Aqua? (Ja, det kan du, det finns infrastruktur och verktyg, till exempel, HaikuThemeManager, men någon måste skapa trådarna. Jag skulle prova själv, jag fick veta att det finns dokumentation i https://xref.plausible.coop/source /xref/haiku/headers/os/interface/ControlLook.h, men inte nu).

Dessa är subtila nyanser, med hänsyn till vilka systemet inte bör förlora sin unika individualitet.

Slutsats

Haiku öppnade verkligen mina ögon, visade mig hur arbetsmiljön "bara fungerar".
För över 10 år sedan bytte jag från en Mac till en Linux och har sökt efter samma nivå av sofistikering och skönhet sedan dess, och Haiku lever upp till det på många sätt.

För att vara rättvis, det finns brister, men ett överraskande antal saker, inklusive hårdvara som WLAN eller skrivare, "bara fungerar."

Men först och främst har systemet ett koncept av en arbetsmiljö som saknas i arbetsmiljöerna på Linux.

Att ha ett komplett system (snarare än en kärna och olika konkurrerande användarmiljöer) gör allt enkelt och konsekvent.

Avsaknaden av olika byggen (distributioner) gör allting ännu enklare.

Att bara lita på en användare per system minskar komplexiteten ytterligare.

Resultatet: ett mycket enkelt, sofistikerat, minimalistiskt system i många avseenden, designat för "bara dödliga" och inte för UNIX-systemadministratörer.

Förhoppningen är att när detta system blir mer populärt (som det oundvikligen kommer att göra), kommer dess komplexitet inte att öka.

Jag har redan skrivit om #LinuxAnvändbarhet i föregående artikelserie. Det är trevligt att veta att Haiku tar upp många av de problem som togs upp. problem, inklusive generella sådana, som plågar arbetsmiljöerna i Linux.

En dag räckte för att jag skulle bli övertygad: Jag vill använda den här arbetsmiljön för det dagliga arbetet, och jag letar också efter alternativ för mitt bidrag till utvecklingen av systemet.

Prova själv! När allt kommer omkring ger Haiku-projektet bilder för uppstart från DVD eller USB, bildas dagligen. För att installera, ladda bara ner bilden och skriv den till en flashenhet med hjälp av Etcher.

Från författaren till översättningen: detta är bara den första artikeln i serien om Haiku, resten väntar på översättning och kommer att publiceras senare.

Källa: will.com

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster