
TL:DR; En nybegynner prøvde Haiku for første gang og syntes det var fantastisk. Spesielt sammenlignet med skrivebordsmiljøene som er tilgjengelige på Linux
Jeg har allerede delt mine ideer (og skuffelser) angående #LinuxBrukervennlighet (, , , , , ). I denne anmeldelsen vil jeg beskrive mine førsteinntrykk av , et operativsystem med åpen kildekode for personlige datamaskiner. Noen ganger er førsteinntrykk nyttig, men siden du bare får førsteinntrykk én gang, har jeg lagret mitt her.

Systemet jeg skriver denne anmeldelsen om
Kanskje de vil være nyttige for Haiku-utviklere og/eller andre interesserte.
Jeg kan ta feil et sted, siden jeg bare beskriver min personlige (les: med et rett ansikt) første opplevelse. I tillegg hjalp vennlige folk på #haiku-kanalen på irc.freenode.net meg med tips – jeg vil publisere dem også. Takk til Haiku-utviklerne!
Det jeg ville si er at Haiku ikke er 100 % perfekt ennå, men det har allerede et solid arbeidsmiljø.
Installasjon
Haiku-prosjektet tilbyr avbildninger for oppstart fra CD eller DVD, Jeg brukte en USB-3-minnepinne. Jeg ble fortalt at oppstart fra USB-3 kanskje ikke ville fungere, men på mine to Intel-baserte testsystemer fungerer alt feilfritt.
Jeg startet installasjonsprosessen ved å laste ned 64-biters imaget, som jeg deretter skrev til en flash-stasjon ved hjelp av programmet. Nedlastingen fungerer som med , og uten den – min applaus for å ha gitt et slikt bilde.
Haiku bruker sin egen for oppstartspartisjonen, selv om det i prinsippet er deklarert støtte for FAT32 og NTFS. Generelt er 600 MB nok for systemet, men tilleggsapplikasjoner krever mer plass.
Som standard opprettes en 600 MB partisjon med BeFS og en 32 GB FAT3-partisjon. Det finnes en fil på FAT32. /EFI/BOOT/BOOTx64.EFI, som innebærer muligheten til å starte opp på systemer med EFI-støtte. Dessverre fant jeg ingen programmer for å øke størrelsen på BeFS, og jeg håper at de i fremtiden vil lage et annet diskpartisjoneringsskjema, fordi størrelsen på partisjonsbildet er satt til å være liten, og det kan hende det ikke er nok ledig plass til tilleggsprogramvare. Det hadde vært fint om flere programvarepakker ble lagret på en annen FAT32-partisjon.
Den samme løsningen ville være en fordel for de som ønsker å få tilgang til filer direkte fra andre systemer. Linux Det finnes allerede støtte for lesing av BeFS, og det finnes implementeringer for lesing og skriving av BeFS under .

Haiku-installasjonsprogram
Jeg fikk råd: hvis du vil bruke en større partisjon, installer Haiku på en annen flash-stasjon.
For meg er dette trinnet i utgangspunktet unødvendig, siden Haiku-installasjonsprogrammet ikke kan partisjonere disker, men bare starter DriveSetup-programmet, der du partisjonerer disken manuelt, legger til en partisjon, som deretter formateres i BeFS, hvoretter kontrollen går tilbake til installasjonsprogrammet. Du må også installere bootloaderen manuelt ved hjelp av et separat program. Dessverre klarte jeg ikke å starte opp fra EFI med en slik partisjon, siden det ikke finnes noen FAT32-partisjon med oppstartsfiler for EFI. Et installasjonsprogram som kan partisjonere automatisk, inkludert EFI-funksjoner, ville være nyttig.

BootManager installerer oppstartslasteren på disken
Selve installasjonsprosessen tar litt under tre minutter, noe som er ganske raskt. Den kopierer hele systemet, som «bare» består av 4751 filer. Dette er fordi mesteparten av programvaren er pakket som hpkg-filer (noe som ligner på Snap-pakker i Linux (systemer) som aldri installeres, men bare monteres. Interessant nok finnes det ganske mange «gratis» filer, som for eksempel png. Hvorfor er de ikke pakket?
Som sagt, selv kjernen til operativsystemet kommer som en hpkg-fil. (Jeg sa 4751 filer fordi jeg kjørte HaikuDepot før installasjonen, som lastet ned en haug med ting. En ren installasjon inneholder sannsynligvis ikke alle, og kan installeres raskere med omtrent 200 pakker. Kult! Jeg har blitt fortalt at det faktum at nedlastede filer ikke ignoreres under installasjonen er ...) Wow, her ser det ut som den første feilrapporten som ble skrevet på forespørsel fra meg).
Første støvel
Systemet starter opp og viser et fint velkomstskjermbilde, og fryser deretter: etter oppstart viser skjermkortet mitt (Radeon) en svart skjerm.
Jeg ble rådet til å starte opp i sikkermodus med en skjermoppløsning på 1024x768 på en FullHD-skjerm. I prinsippet var det mulig å tukle med oppstartslasteren for å få FullHD til å fungere, men på en annen datamaskin med et Intel-skjermkort fungerte alt feilfritt.
Selve systemet fungerer responsivt fra en flash-stasjon, tydeligvis fordi ingenting skrives til flash-stasjonen under drift, så jeg håper å bruke flash-stasjonen som mitt primære arbeidssystem. Du får et ekte system når du starter opp fra USB, i motsetning til de trege "live"-systemene. Linux bilder.
Det er ingen flimring på skjermen under oppstart, ingen kjernemeldinger, og ingen følelse av at Xorg er limt til kjernen med blå teip. I motsetning til typiske distribusjoner. Linux, kjernen og det grafiske brukergrensesnittet er laget og justert for hverandre her!
Det er ingen påloggingsforespørsel ettersom systemet er laget for én bruker. Alt er enkelt, akkurat det som kreves for en personlig datamaskin.
Hvis du trenger støtte for flere brukere, gi dem hver sin flash-stasjon, som hver koster ikke mer enn $5.
Første inntrykk av arbeidsmiljøet
Hvis du sammenligner førsteinntrykket, er det mer som en Mac enn for eksempel Linux Med Gnome. «Kommando»-tasten fungerer akkurat på samme måte som på Mac. Flott!

Ingenting slår den spatiale filbehandleren, det føles som en god gammeldags Mac!
(som Macintosh System 1.0), husker dessverre ikke hvert vindu innstillingene sine (for eksempel visning som en liste eller som ikoner). Som jeg ble fortalt – dette er en feil, som jeg tror ikke vil være vanskelig å fikse. (Dessverre, komplisert - det brukes et originalt system, ikke basert på GitLab eller GitHub, som det også er umulig å logge inn på ved hjelp av). Filene får sine egne ikoner, ingen problemer med individuelle filer på skrivebordet og ikoner.
Bra! Mye bedre enn skrivebordsmiljøer for Linux, du kan føle enkelheten.
Производительность
Operativsystemet fungerer raskt selv på maskinvare med lavt strømforbruk, som en Atom-nettbook. Det er ingen følelse av oppblåste programvarelag. Bra!
sa at LibreOffice føles raskere enn andre operativsystemer, men det har jeg ikke testet ennå.

Bryan Lunduke. Anmeldelse og inntrykk av Haiku OS Beta
Kommandolinje
Sammensetningen inkluderer en terminal. Generelt sett, til tross for mindre forskjeller med Linux Jeg ble vant til det med en gang; det er egentlig bare vanlig fest, noe som gjorde meg veldig 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/preferencesWow!."I $PATH! Dette betyr at du kan kjøre kommandoer direkte fra gjeldende katalog (Linux-brukere fortalte meg en gang at verden ville eksplodere hvis jeg prøvde det). Supert!

bash kjører i Haiku-terminalen
En annen kul ting med terminalen er at du kan trykke ctrl + c for å kopiere, akkurat som i andre applikasjoner, i motsetning til i skrivebordsmiljøer. Linux, der du må trykke ctrl + shift + c i terminalen.
Små ting som viser integriteten til hele systemet.
Filsystemstruktur
Skilleveggen som støvelen kommer fra er montert i /bootSå enkelt!
Ingen haug /etc, /usr, /bin… Bare /home и /systemRent, enkelt, tydelig. Bra! (Ikke helt: de er der, men skjult. Hvorfor? Fordi /bin dette /system/bin, det er ikke nødvendig å vise det i Tracker, men skript bruker det fortsatt. Jeg synes utviklere bør kvitte seg med eldre ting som er laget for kompatibilitet, da det bare gjør det vanskeligere å forstå.)
pakker
Jeg nevnte tidligere om hpkg-filer, som ligner noe på pakker på Linux, men de installeres ikke, bare monteres (som snap-pakker). Filsystemet som gjør denne magien kalles packagefs. Det monterer hpkg-filer oppå andre filer, noe som resulterer i at hele /system-katalogen opprettes på denne måten.
Mount-kommandoen viser dessverre ikke hva som er montert.
~> 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)Jeg ble anbefalt å prøve det mountvolume, som vil vise monterte partisjoner, men dessverre viser den heller ikke monteringspunkter med packagefs (den vil bare vise de som er tilknyttet partisjoner eller diskavbildninger). [Heldigvis, hvis du kjører mount eller df et sted på docker-verten, kan du bla gjennom et par skjermbilder! — ca. oversetter] Men du kan gjøre et triks 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/1Som sett, /system и /home/config innenfor /boot Dette er akkurat packagefs.
De som kjenner meg vet at jeg er en fan av dra-og-slipp-støtte i filbehandlere: for eksempel bruker jeg NeXT-lignende programpakker, eller .
Uansett finnes det ulemper med dette formatet for programvaredistribusjon. Vil packagefs kunne kombinere det beste?
Som du kan se, i mitt tilfelle (systempartisjonen er full, men jeg vil installere programmer) ville det være mer elegant å laste ned programmer et sted ved hjelp av en nettleser, akkurat som jeg gjør med filer. .dmg for Mac eller AppImage. packagefs ligger i kjernen, så det er ikke et filsystem for FUSE (selv om jeg vet at Haiku også har FUSE). Jeg har også blitt fortalt at det kan være flere "packagefs-soner" i fremtiden, noe som sannsynligvis betyr at jeg vil kunne fortelle packagefs å lagre pakker på separate diskpartisjoner, for eksempel. Det er greit for meg, siden hvis diskpartisjonen er på en flyttbar stasjon, kan jeg sette meg ned ved en annen datamaskin og ha applikasjonene kjørende der.
De sa også at dra-og-slipp-metoden også fungerer for å installere pakker: bare dra filen til /system/packages eller /home/config/packages for installasjon, og hvis du henter filen derfra, vil den bli slettet. Hvis du drar en pakke med udekkede avhengigheter, vil systemet be om en foreløpig installasjon av dem.
Først var jeg forvirret over hvordan packagefs håndterer flere versjoner av samme pakke, hva om jeg for eksempel vil installere forskjellige versjoner av gcc, eller andre GUI-programmer? (En av utviklerne sa, sitat: «packagefs i seg selv inneholder ikke noe som forhindrer installasjon av flere pakker med samme navn, men siden den bruker libsolv fra OpenSuse for avhengighetsløsning, som ikke tillater dette, ble HaikuDepot selv også forbudt å gjøre det i innstillingene.» Jeg kan forklare hvorfor jeg liker ideen om .app-pakker, AppDir og AppImages).
Dynamiske biblioteker
Finnes det en dynamisk bibliotekteknologi? Ja, den er synlig, for eksempel hvis du kjører et program med manglende biblioteker ved å dobbeltklikke:

Kan du forestille deg dette i Gnome, KDE eller XFCE?
В Linux En slik oppskytning ville ikke avsløre noe. La oss se hvor lang tid det tar i forskjellige miljøer:
- GNOME:
- KDE:
- XFCE:
- KAMERAT:
Hva med sjekker?
~> ldd
bash: ldd: command not foundDu må bruke en erstatning:
~> 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 prinsippet ldd ville vært bedre, siden det i tillegg viser stiene der bibliotekene lastes inn.
Hvor er de egentlig lastet ned fra?
~> echo $LIBRARY_PATH
%A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/libSå du kan legge biblioteker ved siden av den kjørbare filen, og det vil «bare fungere». Så kult! Du kan ganske enkelt inkludere individuelle biblioteker i applikasjonen din uten å fikle med rpath eller sette LD_LIBRARY_PATH-variabelen slik som i LinuxGreit!
Det er et bibliotek (forferdelig på Linux) /boot/system/lib/libstdc++.so.6.0.24.
Hva om et program krever en nyere versjon enn den i /boot/system/lib?
En vanlig bruker vil sannsynligvis oppgradere til den nyeste versjonen, fordi det i dette systemet ikke finnes noen "administrator"-bruker med et root-passord [forfatteren hinter til enkelhet - ca. oversetter].
Vel, i hvert fall ser det slik ut. (I virkeligheten er «bruker» det samme som root. Du kan angi et passord med kommandoen passwd, og spesifiser deretter PermitRootLogin=yes в sshd_config, og så kan du koble til utenfra via ssh. Utviklerne fortalte meg at alle applikasjoner som standard startes som root. Etter hvert kan de forbedre dette ... Men jeg er ikke sikker på om jeg vil like det.)
Siden det ikke finnes noen Haiku-distribusjoner, har heller ikke applikasjonsutviklere tilgang til nyere versjoner enn de som er tilgjengelige for nedlasting på systemet ditt. Resultatet: mindre frustrasjon, ting "bare fungerer". En flott forenkling! Jeg liker det.
Ressurser og registrator
Som nevnt ovenfor får applikasjoner en type og et ikon, slik at du ikke trenger å rote med filer på skrivebordet og sånt. Jeg ble fortalt at det finnes en spesiell registrartjeneste som vet om applikasjoner, filtyper og ikoner. Den varsles alltid når en pakke installeres eller en fil merkes for kjøring (ved hjelp av programmet). chmod eller mimeset).
Det minner meg om noe på Mac. Og det er det . Отлично!
Binære filer får ikoner innebygd som ressurser, slik at du ikke trenger et separat ikon i tillegg til filene på skrivebordet. Akkurat som det var på Macintosh System 1. Kult!

Programtyper, støttede dokumenttyper, innebygde ressurser og versjonsinformasjon
Tracker (filbehandler) markerer automatisk binærfiler som kjørbare. Dette er hva jeg forventet fra skrivebordsmiljøer på Linux i mer enn 10 år.
Det er veldig tilfredsstillende. Det er så kult! Det gjør livet så enkelt. Det er mer sofistikert og Mac-aktig enn på LinuxEller dette...

Søknad på Linux uten at den kjørbare biten er satt
I Gnome muligheten til å starte kjørbare filer fra filbehandleren, men fellesskapet skapte oppstyr og alt ble returnert.
Jeg ble også fortalt at appene bruker funksjonen find_paths() i stedet for strengt spesifisert /usr/bin и /usr/share (et vanlig trekk ved arbeidsmiljøer på Linux), som betyr at de kan flyttes rundt i filsystemet. Stående applaus! .
Det som overrasket meg
- Det som forvirret meg var at
/bootDette er monteringspunktet for partisjonen som systemet starter opp fra. Hvorfor ikke "/"? Vel, eller/Haiku? (Forklaring: ja,/bootDet er alltid oppstartspartisjonen, den vises på skrivebordet som «Haiku» fordi det er navnet. Se på «/"som en analog til skrivebordet i Mac System 1, roten til hierarkiet som faktisk ikke finnes på disker). - Monteringspunktet for brukerinstallerte pakker er
/home/configHvorfor ikke bare/home? (En av utviklerne forklarte meg at de ikke vil rote til hjemmekatalogen, men jeg synes config er et dårlig navn fordi det er en underkatalog innibin/, så det er ikke bare lagring av innstillinger). - Hva er lisensen for alt? For eksempel, i Når man ser på «Om»-delen, er det ingen eksplisitt indikasjon. Feltet «Om dette systemet» sier at Haikus kode er lisensiert under MIT-lisensen. Flott! (Jeg ble også fortalt at WebPositive leveres med operativsystemet under samme lisens, men WebKit-motoren er stort sett lisensiert under to-klausul BSD.)
Det som ikke fungerte som jeg forventet
Først og fremst ble jeg imponert over nivået på maskinvarestøtten. På min Atom-baserte netbook fungerte alt, inkludert WLAN. Men det er noen særegenheter i driften.
- Fullstendig inoperabilitet på Macintosh-maskinvare, uavhengig av EFI-modus eller BIOS-emulering (WindowsSystemet fryser rett og slett hvis jeg velger ikonet i Mac-oppstartslasteren. Jeg ble fortalt at dette og du kan starte opp med , men disse innstillingene er for kompliserte for meg.
- Grafikkakselerasjon. Det ser ut til at Radeon ikke er brukbart ennå (jeg hadde svart skjerm), men Intel er heller ikke helt problemfri. Videoakselerasjon i WebPositive er kun programvarebasert, inkludert H.264. Overraskende nok, siden det opprinnelige fokuset er på video, spesifiserte en av utviklerne at video i WebPositive fungerer ved hjelp av trege hacks.
- Ingen lyd? «Lydkortdriverne er fortsatt borte», sa utvikleren. Noen må sannsynligvis støtte HDA-driveren, som ligner på USB-3. Akkurat nå er en omstart fra et annet operativsystem nok for å få lyd, og jeg tror dette vil bli fikset på en eller annen måte.
- Knappene for lysstyrke- og volumkontroll fungerer ikke. (Grunnlaget finnes allerede i Snarveier-applikasjonen: du kan knytte en hvilken som helst hurtigtast til en hvilken som helst funksjon du ønsker, men Haiku vet ennå ikke hvordan man jobber med medietaster. Kanskje det finnes frivillige?)
- Tofingerstyreplatekontroll. Fungerer ikke ut av esken. Det finnes et innstillingspanel som sier «Ingen styreplate funnet, innstillingene vil ikke ha noen effekt». med ELAN-inndataenhet, ACPI ETD050A).
- Med den eksisterende applikasjonen for å lese filer fra digitale kameraer og smarttelefoner på Android Jeg kunne ikke synkronisere i MTP- og PTP-modus. Det hadde vært flott om de kunne monteres som andre partisjoner i systemet.
- Det ser ikke ut til at det går å lukke lokket på den bærbare datamaskinen. (Jeg vet at Haiku fortsatt ikke fungerer med ACPI: støtte er implementert, men ikke aktivert som standard; ingen driverinitialisering)
- Jeg kunne ikke opprette en konto på bugtracker fordi det ikke fungerer. i WebPositive.
Apps
Hovedformålet med et operativsystem er å kjøre applikasjoner. Jeg var redd for at Haiku ikke ville ha noen applikasjoner for ordentlig arbeid. Heldigvis tok jeg feil, for det finnes håp om forbedring – etter hvert som Haiku blir mer utbredt.
(visuell layoutapplikasjon) er, og det er en veldig kompleks applikasjon basert på Qt. Det finnes også (IDE).
Jeg lurte på om native Be-apper for Haiku skrives i dag med native verktøy (hvis de finnes), eller om QtCreator er nok (som ville gjort det enklere å portere apper på tvers av plattformer). Haiku-utviklernes posisjon er "tydeligvis" en preferanse for native Haiku-apper. Seriøst? Jeg tviler på at apper fra den virkelige verden ikke er på tvers av plattformer (alle appene jeg bruker i arbeidet mitt er på tvers av plattformer).
Wx-støtte annonsertWindows applikasjoner.
Mangelen på Gtk+-støtte er skuffende. Det betyr at Haiku ikke vil ha Gimp med det første (vel, jeg tror det), men det finnes en erstatning i form av Krita!
Jeg tror også at det må finnes en enkel og tydelig måte å lage applikasjoner for Haiku på, — ved bruk av Travis CI og GitLab CI.
Hvor er vi på vei?
Vil Haiku bli sittende fast i BeOS UX-konseptet? Jeg tror at for å være attraktiv må den nøye teste nye UX-mønstre når den tar dem i bruk, samtidig som den holder seg tro mot kjernen.
For eksempel:
- Hold deg enkel, uten de 100 500 alternativene som gjør det Linux "kompleks".
- Bruk pilmarkøren som mus i stedet for den rare hånden.
- Vil det være en Dock? (Jeg vet at det finnes noe som ligner på Dock som heter , enda nærmere Dock , men den originale BeOS hadde allerede Dock tilbake i 1998!)
- Global meny? (Åpenbart ikke, siden ser ingen spesiell fordel).
- Raskt vindusbytte? (De sa at du kan prøve å aktivere "", og holder nede tasten Windows når du drar et vindu, men det er ikke intuitivt, og dessuten fungerer det ikke for meg).
- Animasjon av vinduer som åpnes og lukkes?
- Skygger utenfor vinduene?
- Støtte for temaer som i Aqua? (Ja, det kan du, det finnes infrastruktur og verktøy, for eksempel, , men noen må lage temaene. Jeg ville prøvd det selv, jeg ble fortalt at det finnes dokumentasjon i /xref/haiku/headers/os/interface/ControlLook.h, men ikke nå).
Dette er subtile nyanser som, hvis de tas i betraktning, ikke bør miste sin unike individualitet.
Konklusjon
Haiku var en skikkelig øyeåpner for meg, og viste meg hvordan et skrivebordsmiljø «bare fungerer».
For over 10 år siden byttet jeg fra Mac til Linux og har lett etter det samme nivået av raffinement og skjønnhet siden den gang, og Haiku lever opp til det på mange måter.
For å være ærlig, er det noen feil, men overraskende mange ting, inkludert maskinvare som WLAN eller skrivere, «bare fungerer».
Men først og fremst har systemet et konsept om et arbeidsmiljø som er fraværende i arbeidsmiljøene på Linux.
Å ha ett enkelt system (i stedet for en kjerne og diverse konkurrerende brukermiljøer) gjør alt enkelt og konsistent.
Fraværet av diverse samlinger (distribusjoner) gjør alt enda enklere.
Å stole på kun én bruker til å betjene systemet reduserer kompleksiteten ytterligere.
Resultatet: et veldig enkelt, sofistikert og på mange måter minimalistisk system, designet for «vanlige dødelige» og ikke for UNIX-systemadministratorer.
Det er håpet at etter hvert som dette systemet blir mer populært (noe det uunngåelig vil), vil kompleksiteten ikke øke.
Jeg har allerede skrevet om #LinuxBrukbarhet i forrige artikkelserie. Det er fint å vite at Haiku tar opp mange av problemstillingene som ble tatt opp. .
Én dag var nok til at jeg ble overbevist om at jeg vil bruke dette arbeidsmiljøet til det daglige arbeidet, og jeg ser også etter muligheter for mitt bidrag til utviklingen av systemet.
Prøv det selv! Haiku-prosjektet tilbyr avbildninger for oppstart fra DVD eller USB, . For å installere, last ned bildet og skriv det til en flash-stasjon ved hjelp av .
Fra forfatteren av oversettelsen: dette er bare den første artikkelen i serien om haiku, resten venter på oversettelse og vil bli publisert senere.
Kilde: www.habr.com
