
TL:DR; En nybörjare provade Haiku för första gången och tyckte att det var fantastiskt. Särskilt jämfört med arbetsmiljöer som finns på Linux.
Jag har redan delat med mig av mina idéer (och även besvikelser) rörande #LinuxUsability (, , , , , ). I den här recensionen kommer jag att beskriva mina första intryck av , ett operativsystem med öppen källkod för persondatorer. Ibland kan första intryck vara användbara, men eftersom man bara får första intryck en gång har jag sparat mina här.

Systemet jag skriver denna recension på
Kanske kan de vara användbara för Haikus utvecklare och andra intresserade.
Jag kan ha fel på vissa punkter eftersom jag bara beskriver en personlig (läsa: naiv) första upplevelse. Dessutom hjälpte vänliga människor på #haiku-kanalen i nätverket irc.freenode.net mig med tips – dem publicerar jag också. Tack till er, Haikus utvecklare!
Vad jag ville säga: Haiku är ännu inte 100% perfekt, men det finns redan en stabil arbetsmiljö.
Installation
Projektet Haiku tillhandahåller nerladdningar via CD eller DVD, Jag använde ett USB-3-minne. Jag blev informerad om att det kanske inte fungerar att starta från USB-3, men på mina två testsystem baserade på Intel fungerar allt perfekt.
Själva installationsprocessen började jag med att ladda ner en 64-bitars avbild, som jag sedan skrev till USB-minnet med hjälp av programmet . Starten fungerar både med och utan det – mina applåder för att tillhandahålla en sådan avbild.
Haiku använder sitt eget för startpartitionen, även om stöd för FAT32 och NTFS i princip har angetts. Generellt sett behöver systemet 600 MB, men för ytterligare applikationer behövs mer plats.
Som standard skapas en 600 MB-partition med BeFS och en FAT32-partition på 3 GB. På FAT32 finns en fil /EFI/BOOT/BOOTx64.EFI, vilket innebär möjligheten att starta på system som stöder EFI. Tyvärr har jag inte funnit några program för att öka storleken på BeFS, och jag hoppas att det i framtiden kommer att göras ett annat partitionsschema, eftersom storleken på partitionavbildningen är fastställd och kan vara otillräcklig för ytterligare mjukvara. Det skulle vara bra om ytterligare programpaket sparades på den andra FAT32-partitionen.
Denna lösning skulle bli en fördel för dem som vill få direktåtkomst till filer från andra system. Under Linux finns det redan stöd för att läsa BeFS, och det finns implementationer för både läsning och skrivning av BeFS under .

Haiku-installatören
Jag fick tipset: vill du använda en större partition – installera Haiku på en annan USB-enhet.
För mig är detta steg i princip överflödigt, eftersom Haiku-installatören inte kan partitionera diskar utan bara startar programmet DriveSetup, där man manuellt måste partitionera disken, lägga till en partition som sedan formateras till BeFS, varefter kontrollen återgår till installatören. Man måste också manuellt installera bootloadern med hjälp av ett separat program. Tyvärr lyckades jag inte starta med EFI vid denna partitionering, eftersom det fattas en FAT32-partition med startfiler för EFI. En installatör som kan göra automatisk partitionering, inklusive EFIs specifikationer, skulle inte vara fel.

BootManager installerar startprogrammet på disken
Själva installationsprocessen tar drygt tre minuter, vilket är ganska snabbt. Samtidigt kopieras hela systemet, som består av "bara" 4751 filer. Anledningen till detta är att det mesta programvaran är paket som hpkg-filer (som liknar Snap-paket i Linux-system), som aldrig installeras utan bara monteras. Vad som är intressant är att det finns ganska många "fria" filer, till exempel png. Varför är de inte packeterade?
Som jag redan nämnt levereras till och med operativsystemets kärna i form av en hpkg-fil. (Jag nämnde de 4751 filerna eftersom jag körde HaikuDepot innan installationen som laddade ner massor av saker. En ren installation verkar uppenbarligen inte innehålla alla dessa filer och kan installeras snabbare med cirka 200 paket. Fantastiskt! Som jag fått höra, ignoreras inte nedladdade filer vid installationen – detta är . Oj, och här har vi tydligen den första felrapporten, skriven på min begäran).
Första uppstarten
Systemet startar och visar en trevlig uppstartsscreen, men sedan stannar det: efter uppstarten visar mitt grafikkort (Radeon) en svart skärm.
Jag fick rådet att starta i säkert läge med en upplösning på 1024x768 på en FullHD-skärm. I princip skulle man kunna fixa bootloadern för att få det att fungera med FullHD, men på en annan dator med ett grafikkort från Intel fungerade allt utan problem.
Systemet fungerar responsivt från ett USB-minne, förmodligen eftersom ingenting skrivs till USB-minnet under drift, så jag hoppas kunna använda USB-minnet som mitt primära arbetsystem. Du får ett riktigt system när du laddar från USB, till skillnad från de tröga 'live' Linux-bilderna.
Under start blinkar inte skärmen, inga kärnmeddelanden visas, det känns inte som om Xorg är fastsatt vid kärnan med blå tejp. Till skillnad från typiska Linux-distributioner är kärnan och GUI här skapade och anpassade för varandra!
Det finns ingen inloggningstjänst eftersom systemet är utformat för en användare. Allt är enkelt, precis vad som krävs för en personlig dator.
Behöver du stöd för flera användare – ge dem var sitt USB-minne, som kostar mindre än $5 vardera.
Första intrycken av arbetsmiljön
Om man jämför första känslan – det liknar mer en Mac än till exempel Linux med Gnome. 'Command'-tangenten fungerar precis som på Mac. Bra!

Inget slår den rumsliga filhanteraren, den ger verkligen en känsla av gamla goda Mac!
(som Macintosh System 1.0), tyvärr minns inte varje fönster sina inställningar (till exempel visning som lista eller som ikoner). Som jag har blivit informerad om – detta är ett fel som jag tror kommer att vara enkelt att fixa. (Tyvärr, är svårt – det används ett originalsystem som inte är baserat på GitLab eller GitHub, och som man inte heller kan logga in på med deras hjälp). Filer får sina egna ikoner, det är inga problem med individuella filer på skrivbordet och ikoner.
Bra! Mycket bättre än arbetsmiljöer för Linux, det känns enkelt.
Performance
Operativsystemet fungerar snabbt även på svag hårdvara som netbooks med Atom. Man känner inte av uppblåsta programskikt. Bra!
sa att LibreOffice, känslan är att det fungerar snabbare än på andra operativsystem, men jag har inte kontrollerat det än.

Bryan Lunduke. Haiku OS Beta – recension och intryck
Kommandoraden
Det finns en terminal. Trots några små skillnader från Linux så anpassade jag mig snabbt, det är faktiskt en vanlig bash, vilket gladde mig mycket.
Välkommen till Haiku-skalet.
I det kan du enkelt starta applikationer som finns på $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/preferencesWow! “.” in $PATH! This means you can run commands directly from the current directory (Linux users once told me the world would explode if I tried to do that). Great!

bash, launched in the Haiku terminal
What's cool about the terminal is that you can press ctrl + c to copy, just like in other applications, unlike Linux desktop environments where you have to press ctrl + shift + c in the terminal.
The little things that demonstrate the integrity of the whole system.
File system structure
The partition from which the boot is loaded is mounted in /boot. How easy!
No clutter /etc, /usr, /bin... Just /home och /system. Clean, simple, clear. Nice! (Not quite: they exist, but are hidden. Why? Because /bin detta /system/bin, there’s no need to display this in Tracker, but the scripts still use it. I think the developers should remove outdated things made for compatibility as it only complicates understanding.)
packagefs
I mentioned earlier about hpkg files, which are somewhat similar to packages on Linux, but they are not installed, they are simply mounted (like snap packages). The file system that does this magic is called packagefs. It mounts hpkg files over others, thus creating the entire directory /system.
The mount command, unfortunately, does not show what is mounted.
~> 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)I was advised to try mountvolume, which would show the mounted partitions, but unfortunately, it also doesn’t show the mount points with packagefs (it will only show those related to partitions or disk images). [Fortunately, if you run mount or df somewhere on a host with docker, you can scroll a couple of screens! — översättarens anm.] But you can pull a trick with 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/1Som man kan se, /system och /home/config inuti /boot this is exactly packagefs.
People who know me are aware that I am a fan of drag-and-drop support in file managers: for example, I use NeXT-style application sets, or .
In any case, there are downsides to this format of software distribution as well. Can packagefs combine the best of both worlds?
Som du kan se, i mitt fall (systempartitionen är fylld, men jag vill installera program) skulle det vara mer praktiskt att ladda ner program direkt via webbläsaren, precis som jag gör med filer. .dmg för Mac eller AppImage. packagefs lever i kärnan, så det är inte ett filsystem för FUSE (även om jag vet att FUSE också finns i Haiku). Jag har också hört att det kan komma fler "packagefs-zoner" i framtiden, vilket troligen betyder att jag kan ange packagefs för att lagra paket, till exempel på separata partitioner. Det tilltalar mig — om partitionen är på ett avtagbart medium kan jag sätta mig vid en annan dator och få fungerande program där.
Det sades också att installeringen av paket fungerar genom drag-and-drop: det är tillräckligt att dra filen till /system/packages eller i /home/config/packages för installation, och om man drar filen därifrån — tas den bort. Om man drar ett paket med otillfredsställda beroenden — kommer systemet att begära att de installeras först.
Först var jag osäker på hur packagefs hanterar flera versioner av samma paket; vad händer om jag till exempel vill installera olika versioner av gcc eller andra GUI-program? (En av utvecklarna sa, citat: "själva packagefs innehåller inget som hindrar installationen av flera paket med samma namn, men eftersom libsolv från OpenSuse används för att lösa beroenden, och den inte tillåter det, har det förbjudits för HaikuDepot i inställningarna". Jag kan förklara varför jag gillar idén med .app-paket, AppDir och AppImages).
Dynamiska bibliotek
Finns det teknik för dynamiska bibliotek? Ja, det blir tydligt när du till exempel kör ett program med saknade bibliotek genom dubbelklick.

Kan du tänka dig något sådant i gnome, kde eller xfce?
I Linux skulle en sådan körning inte visa något. Låt oss se hur snabbt det går i olika miljöer:
- GNOME:
- KDE:
- XFCE:
- MATE:
Vad sägs om kontrollerna?
~> ldd
bash: ldd: kommandot hittades inteDu måste använda alternativet:
~> objdump -x /bin/bash | grep NEEDED
NEEDED libreadline.so.7
NEEDED libhistory.so.7
NEEDED libncurses.so.6
NEEDED libintl.so.8
NEEDED libroot.soI princip libtommath.so.0 skulle det vara bättre, eftersom det ytterligare visar banorna från vilka biblioteken kommer att laddas.
Och varifrån laddas de egentligen?
~> echo $LIBRARY_PATH
%A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/libSå det går bra att placera biblioteken bredvid körbar fil och det kommer "bara att fungera". Hur bra är inte det! Man kan enkelt koppla individuella bibliotek till applikationen utan trassel med rpath eller att ställa in variabeln LD_LIBRARY_PATH som på Linux. Bra!
Det finns ett bibliotek (som är förfärligt på Linux) /boot/system/lib/libstdc++.so.6.0.24.
Vad händer om applikationen kräver en nyare version än den som finns i /boot/system/lib?
Vanliga användare kommer nog att uppgradera till den senaste versionen, eftersom det inte finns någon användare "Administrator" med root-lösenordet [författaren antyder enkelheten — översättarens anm.].
Nåväl, så verkar det i alla fall. (I verkligheten är "användaren" en motsvarighet till root. Man kan ställa in ett lösenord med kommandot passwd, varefter man anger PermitRootLogin=yes på sshd_config, och sedan kan man ansluta utifrån via ssh. Utvecklarna sa till mig att som standard körs alla applikationer under root. I slutändan kanske de förbättrar detta... Men jag är inte säker på om jag kommer gilla det.)
Eftersom det inte finns några Haiku-distributioner har inte applikationsutvecklarna heller tillgång till nyare versioner än de som finns tillgängliga för nedladdning i ditt system. Resultatet: färre besvikelser, saker "bara fungerar". Utmärkt förenkling! Jag gillar det.
Resurser och registrator
Som nämnts tidigare får applikationer typ och ikon, så du slipper krångla med filer på skrivbordet och liknande. Jag fick veta att det finns en särskild tjänst-registrator som känner till applikationer, filtyper och ikoner. Den informeras alltid vid installation av ett paket eller när en fil markeras för körning (med programmet chmod eller mimeset).
Det påminner om på Mac. Och det är just det som Utmärkt!
Binära filer får inbyggda ikoner i form av resurser, så du behöver ingen separat ikon utöver filer på skrivbordet. Nästan som det var på Macintosh System 1. Coolt!

Typ av applikationer, stödda dokumenttyper, inbyggda resurser och versionsinformation
Tracker (filhanterare) markerar automatiskt binära filer som körbara. Det här har jag längtat efter från skrivbordsmiljöer på Linux i mer än 10 år.
Allt detta är ganska underhållande. Visst är det fantastiskt! Livet blir så enkelt. Det är mer sofistikerat och liknar Mac mer än på Linux. Eller så här...

En Linux-applikation utan installerad exekveringsbit
I Gnome möjlighet att köra exekverbara filer från filhanteraren, men gemenskapen reserde en röst — och allt återställdes.
Jag fick också höra att applikationer använder funktionen find_paths() istället för hårdkodade /usr/bin och /usr/share (ett gemensamt kännetecken för arbetsmiljöer på Linux), vilket innebär att de kan flyttas i filsystemet. Jag applåderar stående! .
Vad som överraskade mig
- Anmärkningsvärt var att
/bootdet är en monteringspunkt för partitionen där systemet laddas. Varför inte "/"? Eller/Haiku? (Пояснение: действительно,/bootdet är alltid startpartitionen, den visas på skrivbordet som "Haiku", vilket är dess namn. Titta på "/" som en motsvarighet till skrivbordet i Mac System 1, roten i hierarkin, som faktiskt inte existerar på diskarna). - Monteringspunkten för användarinstallerade paket är
/home/config. Varför inte bara/home? (Один из разработчиков пояснил мне, что они не хотят засорять домашний каталог, но мне кажется, config — название неудачное, потому что внутри есть подкаталогbin/, så det handlar inte bara om att lagra inställningar). - Vad är licensen för allt? Till exempel i i "Om programmet" finns det ingen tydlig angivelse. I fältet "Om detta system" står det att koden för Haiku är under MIT-licensen. Utmärkt! (Jag blev också informerad om att WebPositive levereras med operativsystemet under samma licens, men dess WebKit-motor levereras för det mesta under BSD tvåpunktslicensen).
Vad som inte fungerade som jag förväntade mig
Först och främst blev jag imponerad av nivån av hårdvarustöd. På min netbook baserad på Atom fungerade allt, inklusive WLAN. Men det finns vissa egenskaper i driften.
- Total brist på funktionalitet på Macintosh-hårdvara, oavsett EFI-läge eller BIOS-emulering ("Windows"). Systemet hänger helt om man väljer ikonen i Mac-laddaren. Jag fick veta att detta är och man kan starta upp med , men dessa inställningar är för mig för komplexa.
- Grafikaccelerering. Det verkar som att det inte går att använda Radeon än (jag fick en svart skärm), men det är inte heller helt enkelt på Intel. Videobehovet i WebPositive är endast programvarubaserat, inklusive H.264. Det är förvånande, eftersom den ursprungliga inriktningen var på video. En av utvecklarna förtydligade att video i WebPositive fungerar med hjälp av hack för att undvika fördröjningar.
- Ingen ljud? "Drivrutiner för ljudkort är fortfarande ett problem", sa utvecklaren. Troligen behövs någon för att stödja HDA-drivrutinen på samma sätt som USB-3. Just nu räcker det med en kall omstart från ett annat operativsystem för att få ljud, och jag tror att detta kommer att åtgärdas snart.
- Kontroller för ljusstyrka och volym fungerar inte. (Det finns redan en grund i form av appen Shortcuts: man kan skapa kopplingar mellan valfria tangentkombinationer och vilka funktioner man vill, men för tillfället kan Haiku inte hantera mediaknappar. Finns det några frivilliga?)
- Tvåfingerstyrning av touchpaden fungerar inte direkt. Det finns en inställningspanel som meddelade att "No touchpad found, the settings will have no effect." ( med ELAN Input Device, ACPI ETD050A).
- Med den befintliga appen för att läsa filer från digitalkameror och smartphones på Android fungerade inte synkroniseringen i MTP- och PTP-lägen. Det skulle vara utmärkt om de monterades som andra partitioner i systemet.
- Att stänga locket på bärbara datorer verkar inte fungera. (Jag vet att Haiku fortfarande inte arbetar med ACPI: stöd är implementerat men inte aktiverat som standard; det finns ingen ominitialisering av drivrutinen)
- Jag kunde inte skapa ett konto i bugtracker eftersom inte fungerar i WebPositive.
Applikationer
Det primära syftet med operativsystemet är att köra applikationer. Jag var orolig för att det inte skulle finnas applikationer för verkligt arbete på Haiku. Lyckligtvis hade jag fel, eftersom det finns hopp om förbättringar — när Haiku börjar användas oftare.
(ett program för visuell layout) finns, och det är en ganska komplex app baserad på Qt. Det finns också (IDE).
Jag blev intresserad av om det idag skrivs inhemska Be-applikationer för Haiku med inhemska verktyg (om de finns) eller om det räcker med att använda QtCreator (vilket skulle underlätta porteringen av plattformsoberoende applikationer). Utvecklarna bakom Haiku föredrar tydligt inhemska applikationer för Haiku. Är det sant? Jag är tveksam till att applikationer för verkligt arbete är icke-plattformsoberoende (alla applikationer jag använder i mitt arbete är plattformsoberoende).
Stöd för WxWindows-applikationer utannonseras.
Avsaknaden av stöd för Gtk+ är frustrerande. Det betyder att det inom en snar framtid inte kommer att finnas Gimp på Haiku (åtminstone tror jag det), men det finns ett alternativ i form av Krita!
Jag tror också att det behövs ett enkelt och begripligt sätt att skapa applikationer för Haiku, — med hjälp av Travis CI och GitLab CI.
Vart är vi på väg?
Kommer Haiku att fastna i BeOS UX-konceptet? Jag tror att för att vara attraktiv måste det noggrant överväga nya UX-scheman vid deras godkännande, samtidigt som det förblir troget sina grunder.
Till exempel:
- Förbli enkel, utan de 100 500 alternativen som gör Linux "komplicerat".
- Använda en pekare istället för en konstig hand.
- Kommer det att finnas en Dock? (Jag är medveten om att det finns något som heter Dock som , ännu mer likt Dock , men den ursprungliga BeOS hade redan en Dock 1998!)
- Globalt meny? (Uppenbarligen inte, eftersom ser ingen speciell fördel).
- Snabbt fönsterbyte? (Det har sagts att man kan försöka aktivera "", genom att hålla nere Windows-tangenten medan man drar fönstret, men det är inte intuitivt, och dessutom fungerar det inte för mig).
- Animation för att öppna och stänga fönster?
- Skuggor bakom fönster?
- Stöd för teman, som i Aqua? (Ja, det är möjligt, det finns infrastruktur och verktyg, till exempel , men någon måste skapa teman. Jag skulle prova själv, jag har fått veta att det finns dokumentation i /xref/haiku/headers/os/interface/ControlLook.h, но не сейчас).
Det är subtila nyanser, och systemet ska inte förlora sin unika identitet.
Slutsats
Haiku har verkligen öppnat mina ögon, och visat hur en arbetsmiljö "bara fungerar".
Mer än 10 år sedan bytte jag från Mac till Linux och har sedan dess letat efter samma nivå av finess och skönhet, och Haiku matchar detta på många sätt.
Ärligt talat, det finns brister, men överraskande nog fungerar många saker, inklusive hårdvarukomponenter som WLAN eller skrivare, "bara".
Men först och främst har systemet en konceptuell arbetsmiljö, som saknas i arbetsmiljöer på Linux.
Att ha ett enhetligt system (och inte bara en kärna och olika konkurrerande användarmiljöer) gör allt enklare och mer konsekvent.
Frånvaron av olika distributioner gör allt ännu enklare.
Att räkna med att endast en användare arbetar i systemet minskar också komplexiteten.
Resultatet: ett mycket enkelt, sofistikerat, minimalistiskt system på många sätt, skapat för "vanliga dödliga" snarare än för UNIX-systemadministratörer.
Det finns hopp om att när det här systemet blir mer populärt (vilket är oundvikligt), så kommer dess komplexitet inte att öka.
Jag skrev redan om #LinuxUsability i förra artikeln. Det är trevligt att veta att Haiku löser många av de lyfta .
En dag räckte för att övertyga mig: jag vill använda denna arbetsmiljö för mitt dagliga arbete och letar dessutom efter alternativ för mitt bidrag till systemets utveckling.
Prova själv! Projektet Haiku tillhandahåller bilder för nedladdning via DVD eller USB, . För installationen räcker det med att ladda ner en bild och skriva den på ett USB-minne med hjälp av .
Från översättarens sida: detta är bara den första artikeln i serien om Haiku, övriga väntar på översättning och kommer att publiceras senare.
Källa: habr.com
