
TL:DR; En nybegynder prøvede Haiku for første gang og mente, at det var fantastisk. Især sammenlignet med de arbejdsomgivelser, der er tilgængelige på Linux.
Jeg har allerede delt mine idéer (og skuffelser) om #LinuxUsability (, , , , , ). I denne anmeldelse vil jeg beskrive mine første indtryk af , et open source styresystem til personlige computere. Nogle gange kan første indtryk være nyttige, men da man kun får første indtryk én gang, har jeg gemt mine her.

Systemet, som jeg skriver denne anmeldelse på
Måske vil de være nyttige for udviklerne af Haiku eller andre interesserede parter.
På nogle punkter kan jeg tage fejl, da jeg blot beskriver min personlige (læs: naiv) første oplevelse. Desuden hjalp venlige mennesker på #haiku-kanalen på irc.freenode.net mig med tips - dem vil jeg også offentliggøre. Tak til jer, udviklere af Haiku!
Hvad jeg gerne ville sige: Haiku er endnu ikke 100 % perfekt, men det har allerede et solidt arbejdsområde.
Installation
Haiku-projektet tilbyder images til download fra CD eller DVD, . Jeg brugte en USB-3-nøgle. Jeg fik at vide, at opstart fra USB-3 muligvis ikke ville fungere, men på mine to testsystemer baseret på Intel kører det uden problemer.
Selve installationsprocessen startede jeg med at downloade et 64-bit image, som jeg derefter brændte til USB-nøglen med programmet . Opstart fungerer både med , og uden det - mine klapsalver for at tilbyde et sådant image.
Haiku bruger sit eget til opstartspartitionen, selvom der generelt er erklæret støtte for FAT32 og NTFS. Generelt kræver systemet omkring 600 MB, men til ekstra applikationer kræves der mere plads.
Som standard oprettes der en partition på 600 MB med BeFS og en partition med FAT32 på 3 GB. På FAT32 findes der en fil /EFI/BOOT/BOOTx64.EFI, hvilket antyder muligheden for opstart på systemer med EFI-understøttelse. Desværre har jeg ikke fundet programmer til at øge størrelsen på BeFS, og jeg håber, at der i fremtiden vil blive lavet en anden partitioneringsskema, fordi størrelsen på partitionens billede er fast og måske ikke giver nok ledig plads til yderligere software. Det ville være godt, hvis ekstra softwarepakker kunne gemmes på den anden FAT32-partition.
Denne løsning ville være en fordel for dem, der ønsker direkte adgang til filer fra andre systemer. Under Linux er der allerede support til at læse BeFS, og der er implementationer til at læse-skrive BeFS under .

Haiku-installatøren
Jeg fik rådet: hvis du vil bruge en større partition - installer Haiku på en anden USB-nøgle.
For mig er dette trin i princippet overflødigt, da Haiku-installatøren ikke kan partitionere drev, men blotStarter programmet DriveSetup, hvor man manuelt skal partitionere drevet, tilføje partitionen, som derefter skal formateres til BeFS, hvorefter styringen returneres til installatøren. Desuden skal bootloaderen installeres manuelt ved brug af et separat program. Desværre lykkedes det ikke for mig at boote fra EFI med denne partitionering, da den mangler en FAT32-partition med bootfiler til EFI. En installer, der kan håndtere automatisk partitionering med hensyn til EFI, ville ikke have været dårligt.

BootManager installerer bootloaderen på drevet
Selve installationsprocessen tager lidt under tre minutter, hvilket er ret hurtigt. På dette tidspunkt kopieres hele systemet, som består af "kun" 4751 filer. Årsagen til dette er, at størstedelen af softwaren er pakket ind i hpkg-filer (lidt ligesom Snap-pakker i Linux-systemer), som aldrig installeres, men blot monteres. Interessant nok er der en del "frie" filer, for eksempel png. Hvorfor er de ikke pakket?
Som jeg allerede har sagt, leveres selv operativsystemets kerne i form af en hpkg-fil. (jeg nævnte 4751 filer, da jeg kørte HaikuDepot før installationen, som downloadede en masse filer. En ren installation indeholder åbenbart ikke alle dem og kan installeres hurtigere med omkring 200 pakker. Sejt! Som nogen sagde til mig, at de downloadede filer ikke ignoreres under installationen - det er . Wow, og her ser det ud til at være den første fejlrapport, der er skrevet på min foranledning).
Første opstart
Systemet starter og viser en pæn intro, men bremser så op: efter opstarten viser mit grafikkort (Radeon) en sort skærm.
Jeg fik rådet at boote i sikker tilstand med en opløsning på 1024x768 på en FullHD-skærm. Man kunne i princippet have arbejdet med bootloaderen for at få det til at fungere i FullHD, men på en anden computer med et Intel-grafikkort fungerede det uden problemer.
Systemen fungerer responsivt fra USB-drev, angiveligt fordi der ikke skrives til drevet under arbejdet, så jeg håber at kunne bruge USB-drevet som mit primære arbejdsystem. Du får et ægte system ved opstart fra USB, i modsætning til de langsomme 'live' Linux-billeder.
Under opstart blinker skærmen ikke, der er ingen kernel-meddelelser, og der er ikke den fornemmelse af, at Xorg er fastgjort til kernen med blå tape. I modsætning til typiske Linux-distributioner er kernen og GUI her skabt og tilpasset hinanden!
Der er ingen login-prompt, da systemet er designet til én bruger. Det er simpelt, præcis det, der kræves til en personlig computer.
Har du brug for support til flere brugere - del USB-drev ud til dem, som hver især koster ikke mere end $5.
Første indtryk af arbejdsomgivelserne
Sammenlignet med det første indtryk - det ligner mere Mac end, for eksempel, Linux med Gnome. 'Command'-tasten fungerer præcis som på Mac. Godt!

Intet kan sammenlignes med den rumlige filhåndtering, det føles som den gamle gode Mac!
(ligesom Macintosh System 1.0), desværre gemmer hvert vindue ikke sine indstillinger (for eksempel visning som liste eller ikoner). Ifølge hvad jeg har fået fortalt — dette er en fejl, som jeg formoder vil være let at rette. (Desværre, er svært — det bruger et originalt system, der ikke er baseret på GitLab eller GitHub, og man kan heller ikke logge ind med dem). Filer får deres ikoner, der er ingen problemer med individuelle filer på skrivebordet og ikoner.
Godt! Meget bedre end Linux-arbejdsomgivelser, simpliciteten kan mærkes.
Ydeevne
Operativsystemet kører hurtigt selv på lavstrømsudstyr som en netbook med Atom. Man mærker ikke tunge lag af software. godt!
sagde, at LibreOffice virker hurtigere end på andre operativsystemer, men jeg har ikke verificeret dette endnu.

Bryan Lunduke. Haiku OS Beta - anmeldelse og indtryk
Kommandolinje
Der er en terminal inkluderet. Generelt, på trods af de små forskelle fra Linux, kom jeg hurtigt ind i det, det er faktisk almindelig bash, hvilket glædede mig meget.
Velkommen til Haiku shell.
Her kan du nemt lancere applikationer, der er 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 folks once told me the world would explode if I tried to do that). Great!

bash, launched in the Haiku terminal
What's also cool in 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.
Little things that show the integrity of the entire system.
File system structure
The partition from which the boot is loaded is mounted in /boot. So simple!
No clutter /etc, /usr, /bin… Just /home og /system. Clean, simple, clear. Good! (Not quite: they exist, but are hidden. Why? Because /bin dette /system/bin, there's no need to display this in Tracker, but scripts still use it. I think developers should get rid of outdated things made for compatibility, as it only complicates understanding.)
packagefs
I mentioned previously 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 on top of others, resulting in the entire directory \/system being created in this way.
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 will show mounted partitions, but unfortunately, it also does not show 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! — oversætterens bemærkning] 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 det fremgår, /system og /home/config indenfor /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 drawbacks to this format of software distribution. Can packagefs combine the best?
Som man kan se, i mit tilfælde (systempartitionen er fuld, men jeg ønsker at installere applikationer) ville det være mere elegant at downloade applikationer et andet sted ved at bruge browseren, præcis som jeg gør med filer. .dmg til Mac eller AppImage. packagefs lever i kernen, så det er ikke et filsystem til FUSE (selvom jeg ved, at FUSE også findes i Haiku). Jeg har også hørt, at der måske i fremtiden vil blive lavet flere "packagefs-zoner", hvilket sandsynligvis betyder, at jeg kan angive, at packagefs skal gemme pakker, for eksempel på separate diskpartitioner. Det kunne jeg godt lide - for hvis diskpartitionen er på et flytbart medie, kan jeg sætte mig ved en anden computer og få funktionelle applikationer der.
Det blev også nævnt, at installationsmetoden med drag-and-drop også fungerer: man skal blot trække filen ind. /system/packages eller på /home/config/packages for installation, og hvis man trækker filen ud derfra, vil den blive slettet. Hvis man trækker en pakke med udeblevne afhængigheder, vil systemet anmode om, at de skal installeres først.
Først var jeg ikke klar over, hvordan packagefs håndterer flere versioner af den samme pakke. Hvad sker der, hvis jeg ønsker at installere forskellige versioner af gcc, eller andre GUI-programmer? (En af udviklerne sagde, citat: "selve packagefs indeholder ikke noget, der forhindrer installationen af flere pakker med det samme navn, men da libsolv fra OpenSuse bruges til at løse afhængigheder, hvilket ikke tillader dette, blev det forbudt for HaikuDepot i indstillingerne." Jeg kan forklare, hvorfor jeg kan lide ideen om .app-pakker, AppDir og AppImages).
Dynamiske biblioteker
Findes der teknologi til dynamiske biblioteker? Ja, det kan ses, for eksempel når du dobbeltklikker på en applikation med manglende biblioteker:

Kan du forestille dig noget lignende i gnome, kde eller xfce?
I Linux ville en sådan start ikke vise noget. Lad os se, hvor lang tid det tager i forskellige miljøer:
- GNOME:
- KDE:
- XFCE:
- MATE:
Hvad med tjekene?
~> ldd
bash: ldd: kommando ikke fundetSkal bruge et alternativ:
~> 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 princippet ldd ville være bedre, da det yderligere viser stierne, hvorfra bibliotekerne vil blive indlæst.
Og hvor indlæses de reelt fra?
~> echo $LIBRARY_PATH
%A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/libSå man kan placere biblioteker ved siden af programmet, og det vil "bare fungere". Hvor fantastisk! Man kan nemt tilslutte separate biblioteker til applikationen uden besvær med rpath eller at sætte LD_LIBRARY_PATH variablen som på Linux. Godt!
Der er et bibliotek (frygteligt på Linux) /boot/system/lib/libstdc++.so.6.0.24.
Hvad hvis applikationen kræver en nyere version end den, der findes i /boot/system/lib?
Den almindelige bruger vil sikkert opgradere til den nyeste version, fordi der ikke findes en "Administrator"-bruger med root-adgang på dette system [forfatteren antyder enkelheden — oversætterens bemærkning].
Nå, i det mindste ser det sådan ud. (I virkeligheden er "brugeren" en erstatning for root. Man kan sætte en adgangskode med kommandoen passwd, hvorefter man angiver PermitRootLogin=yes i sshd_config, så kan man herefter tilslutte sig udefra via ssh. Udviklerne fortalte mig, at som standard kører alle applikationer som root. I sidste ende vil de måske komme til at ændre dette… Men jeg er ikke sikker på, at jeg vil kunne lide det.)
Da der ikke findes Haiku-distributioner — har applikationsudviklere heller ikke adgang til nyere versioner end dem, der er tilgængelige for download på dit system. Resultatet: færre skuffelser, ting "bare fungerer". En fantastisk forenkling! Jeg kan virkelig godt lide det.
Ressourcer og registrator
Som nævnt tidligere, får applikationer en type og et ikon, så du ikke behøver at rode med filer på skrivebordet og lignende. Jeg blev informeret om, at der findes en særlig service-registrator, der ved om applikationer, filtyper og ikoner. Den bliver altid underrettet ved installation af en pakke eller ved markering af en fil til udførelse (ved at bruge programmet chmod eller mimeset).
Det minder lidt om på Mac. Og det er noget, der . Fantastisk!
Binære filer får indbyggede ikoner som ressourcer, så du ikke behøver et separat ikon udover filerne på skrivebordet. Næsten som det var på Macintosh System 1. Cool!

Applikationstyper, understøttede dokumenttyper, indbyggede ressourcer, og versionsinformation
Tracker (filhåndtering) markerer automatisk binære filer som udførlige. Det er det, jeg har ventet på fra arbejdsomgivelserne på Linux i over 10 år.
Alt dette er meget underholdende. For det er jo fantastisk! Livet bliver så enkelt. Det er mere elegant og ligner Mac mere end på Linux. Eller det her...

Linux-applikation uden installeret eksekveringsbit
I Gnome muligheden for at køre eksekverbare filer fra filhåndtereren, men fællesskabet skabte en opstand — og alt blev genoptaget.
Jeg fik også fortalt, at applikationer bruger funktionen find_paths() i stedet for hårdt specificerede /usr/bin og /usr/share (en generel egenskab ved arbejdsomgivelser på Linux), hvilket betyder mulighed for at flytte dem rundt i filsystemet. Jeg klapper stående! .
Hvad der overraskede mig
- Fik mig til at undre mig over, at
/bootdette er monteringspunktet for partitionen, hvorfra systemet indlæses. Hvorfor ikke "/"? Nå, eller/Haiku? (Пояснение: действительно,/bootdet er altid boot-partitionen, den vises på skrivebordet som "Haiku", fordi det er dens navn. Se på "/" som en analog til skrivebordet i Mac System 1, roden af hierarkiet, som reelt ikke eksisterer på diskene). - Monteringspunktet for brugerinengerede pakker er
/home/config. Hvorfor ikke bare/home? (Один из разработчиков пояснил мне, что они не хотят засорять домашний каталог, но мне кажется, config — название неудачное, потому что внутри есть подкаталогbin/, så det er ikke kun opbevaring af indstillinger). - Hvad er licensen for det hele? For eksempel i er der ingen klar angivelse, når man ser på "Om programmet". I feltet "Om dette system" står der, at koden til Haiku er under MIT-licensen. Fantastisk! (Jeg fik også at vide, at WebPositive leveres med operativsystemet under den samme licens, men dens WebKit-motor leveres stort set under BSD med to punkter).
Hvad der ikke fungerede som jeg havde forventet
Først og fremmest blev jeg overrasket over niveauet af hardware-support. På min netbook baseret på Atom fungerede alt, inklusive WLAN. Men der er nogle særheder i driften.
- Total uanvendelighed på Macintosh-hardware, uanset om det er i EFI-mode eller BIOS-emulering ("Windows"). Systemet fryser blot, hvis man vælger ikonet i Mac-opstarteren. Jeg fik at vide, at det og man kan starte op ved at bruge , men disse indstillinger er for mig for komplekse.
- Grafik acceleration. Det ser ud til, at det ikke er muligt at bruge Radeon (jeg fik en sort skærm), men heller ikke på Intel er alt glat. Video acceleration i WebPositive er kun software, inklusive H.264. Forbløffende, for den oprindelige orientering er mod video. En af udviklerne præciserede, at video i WebPositive fungerer ved at bruge bremsehacks.
- Ingen lyd? "Drevne til lydkortene er stadig ude af drift," sagde udvikleren. Det er sandsynligt, at der er brug for nogen til at støtte HDA-driveren på samme måde som USB-3. I øjeblikket er det nok med en varm genstart fra et andet operativsystem for at få lyd, og jeg tror, at det vil blive løst på et eller andet tidspunkt.
- Funktionerne til lysstyrke og lydstyrke fungerer ikke. (Der er allerede et grundlag i form af Shortcuts-app: Man kan binde enhver tastekombination til en hvilken som helst ønsket funktion, men indtil videre kan Haiku ikke arbejde med medietasterne. Måske er der frivillige?)
- To-fingers kontrol af touchpad. Virker ikke ud af boksen. Der er en indstillingspanel, som fortalte, at "Ingen touchpad fundet, indstillingerne vil ikke have nogen effekt." ( med ELAN Input Device, ACPI ETD050A).
- Med den nuværende app til at læse filer fra digitalkameraer og smartphones på Android fungerede synkroniseringen ikke i MTP- og PTP-tilstande. Det ville være fantastisk, hvis de kunne monteres som andre partitioner i systemet.
- Lukningen af bærbare computere ser ikke ud til at blive behandlet. (Jeg ved, at Haiku stadig ikke fungerer med ACPI: støtte er implementeret, men ikke aktiveret som standard; der er ingen geninitialisering af driveren)
- Jeg kunne ikke oprette en konto i bugtracker, da ikke fungerer i WebPositive.
Applikationer
Det primære formål med operativsystemet er at køre applikationer. Jeg var bange for, at der ikke ville være applikationer til reelt arbejde under Haiku. Heldigvis tog jeg fejl, da der er håb om forbedringer — når Haiku bliver brugt oftere.
(layout-applikation) findes, og det er en ret kompleks applikation baseret på Qt. Der findes også (IDE).
Jeg blev nysgerrig efter, om der i dag skrives native Be-applikationer til Haiku ved hjælp af native værktøjer (hvis de eksisterer), eller om det er tilstrækkeligt at bruge QtCreator (hvilket vil lette porteringen af tværplatformsapplikationer). Udviklernes holdning i Haiku er — "udtrykkeligt" at foretrække native applikationer til Haiku. Er det sandt? Jeg er dog i tvivl om, hvorvidt applikationer til reelt arbejde ikke er tværplatformmæssige (alle de applikationer, jeg bruger i mit arbejde, er tværplatformmæssige).
Der er erklæret støtte for WxWindows-applikationer.
Manglen på støtte til Gtk+ er skuffende. Det betyder, at der i den nærmeste fremtid ikke vil være Gimp på Haiku (nå, det tror jeg), men der er en erstatning i form af Krita!
Jeg mener også, at der er behov for en enkel og klar måde at skabe applikationer til Haiku på, — ved at bruge Travis CI og GitLab CI.
Hvor bevæger vi os hen?
Vil Haiku blive fanget i BeOS UX-konceptet? Jeg mener, for at forblive attraktivt skal der omhyggeligt overvejes nye UX-mønstre, når de vedtages, samtidig med at man forbliver tro mod sine rødder.
For eksempel:
- Forbliv enkel, uden de 100500 muligheder, der gør Linux "kompleks".
- Brug en pil som musens cursor i stedet for en mærkelig hånd.
- Vil der være en Dock? (Jeg er klar over, at der er noget, der ligner Dock, kaldet , endnu tættere på Dock , men den oprindelige BeOS havde allerede en Dock tilbage i 1998!)
- Global menu? (Åbenlyst ikke, da ikke ser nogen særlig fordel).
- Hurtig vinduesvending? (Det blev sagt, at man kunne prøve at aktivere "", mens man holder Windows-tasten nede ved at trække vinduet, men det er ikke intuitivt, og desuden — det virker ikke for mig).
- Animation af vinduers åbning og lukning?
- Skygger bag vinduerne?
- Support for temaer som i Aqua? (Ja, det er muligt, der er infrastruktur og værktøjer, som f.eks. , men nogen skal skabe temaer. Jeg ville prøve selv, jeg fik at vide, at der er dokumentation i /xref/haiku/headers/os/interface/ControlLook.h, но не сейчас).
Det er fine nuancer, der skal tages i betragtning, så systemet ikke mister sin unikke identitet.
Konklusion
Haiku har virkelig åbnet mine øjne, vist mig, hvordan et arbejdsområde "bare fungerer".
For over 10 år siden skiftede jeg fra Mac til Linux og har siden søgt det samme niveau af raffinement og skønhed, og Haiku leverer i mange henseender.
Ærligt talt er der fejl, men overraskende mange ting, inklusive hardware, f.eks. WLAN eller printere, "bare fungerer".
Men først og fremmest har systemet et koncept for et arbejdsområde, som mangler i arbejdsområderne på Linux.
Det at have et sammenhængende system (og ikke blot en kerne og forskellige konkurrerende brugergrænseflader) gør alt enkelt og konsistent.
Fraværet af forskellige versioner (distributioner) gør det endnu enklere.
Forventningen om kun én bruger i systemet reducerer kompleksiteten yderligere.
Resultatet: et meget enkelt, raffineret, minimalistisk system i mange henseender, skabt til "almindelige mennesker", ikke til UNIX-systemadministratorer.
Der er håb om, at når dette system bliver mere populært (hvad der er uundgåeligt), vil dets kompleksitet ikke stige.
Jeg har allerede skrevet om #LinuxUsability i den forrige artikelcyklus. Det er rart at vide, at Haiku løser mange af de berørte .
En dag var nok til, at jeg kunne konstatere: Jeg vil bruge dette arbejdsområde til dagligt arbejde, og jeg ser også efter måder, hvorpå jeg kan bidrage til udviklingen af systemet.
Prøv selv! For projektet Haiku tilbyder billeder til download fra DVD eller USB, . For installationen er det nok at downloade billedet og skrive det til en USB-nøgle ved hjælp af .
Fra oversætterens forfatter: Dette er kun den første artikel i cyklussen om Haiku, de øvrige venter på oversættelse og vil blive offentliggjort senere.
Kilde: habr.com
