
TL:DR; Un principiante ha provato Haiku per la prima volta e ha deciso che è fantastico. Soprattutto rispetto agli ambienti di lavoro disponibili su Linux.
Ho già condiviso le mie idee (e anche delusioni) riguardo a #LinuxUsability (, , , , , ). In questa recensione descriverò le prime impressioni di , un sistema operativo open source per computer personali. A volte le prime impressioni sono utili, ma dato che le prime impressioni si ricevono solo una volta — le ho conservate qui.

Il sistema su cui sto scrivendo questa recensione
Potrebbero essere utili per gli sviluppatori di Haiku e per altre parti interessate.
Potrei sbagliarmi da qualche parte, poiché sto semplicemente descrivendo la mia personale (leggi: ingenua) prima esperienza. Inoltre, le persone amichevoli del canale #haiku su irc.freenode.net mi hanno aiutato con suggerimenti — quelli li pubblicherò anche. Grazie, sviluppatori di Haiku!
Quello che volevo dire: Haiku non è ancora al 100% perfetta, ma ha già un ambiente di lavoro ben strutturato.
Installazione
Il progetto Haiku fornisce immagini per il download da CD o DVD, . Ho utilizzato una chiavetta USB-3. Mi era stato detto che il boot da USB-3 potrebbe non funzionare, ma sui miei due sistemi di test basati su Intel funziona impeccabilmente.
Ho iniziato il processo di installazione scaricando l'immagine per 64 bit, che poi ho trasferito sulla chiavetta utilizzando il software . Il boot funziona sia con , sia senza di esso — i miei applausi per la fornitura di un'immagine del genere.
Haiku utilizza un proprio per la partizione di boot, anche se, in linea di principio, è dichiarato il supporto per FAT32 e NTFS. In generale, il sistema richiede solo 600 MB, ma per le applicazioni aggiuntive serve più spazio.
Per impostazione predefinita, viene creata una partizione di 600 MB con BeFS e una partizione FAT32 di 3 GB. Sulla FAT32 c'è un file /EFI/BOOT/BOOTx64.EFI, il che implica la possibilità di avviare su sistemi con supporto EFI. Purtroppo, non ho trovato programmi per aumentare la dimensione di BeFS, e spero che in futuro venga creata una diversa schematizzazione del disco, poiché la dimensione dell'immagine della partizione è fissa e potrebbe non essere sufficiente per ulteriore software. Sarebbe utile se i pacchetti software aggiuntivi venissero memorizzati sulla seconda partizione FAT32.
Questa soluzione sarebbe un vantaggio per coloro che desiderano accedere direttamente ai file da altri sistemi. Su Linux esiste già supporto per la lettura di BeFS, ci sono implementazioni per la lettura e scrittura di BeFS su .

Installer Haiku
Mi è stato consigliato: vuoi usare una partizione più capiente? Installa Haiku su un'altra chiavetta USB.
Per me questa fase è fondamentalmente superflua, poiché l'installer Haiku non è in grado di partizionare i dischi, ma avvia semplicemente un programma chiamato DriveSetup, in cui è necessario partizionare manualmente il disco, aggiungere una partizione da formattare poi in BeFS, dopo di che il controllo torna all'installer. Sarà inoltre necessario installare manualmente anche il bootloader, utilizzando un programma separato. Purtroppo, non sono riuscito a avviarmi con EFI con questa partizione, poiché manca una partizione FAT32 con i file di avvio per EFI. Non sarebbe male avere un installer in grado di eseguire la partizionamento automatico, tenendo conto delle peculiarità di EFI.

BootManager installa il bootloader sul disco
Il processo di installazione richiede poco meno di tre minuti, il che è piuttosto veloce. Viene coperto l'intero sistema, composto 'soltanto' da 4751 file. Questo è dovuto al fatto che la maggior parte del software è impacchettata in file hpkg (simili ai pacchetti Snap nei sistemi Linux), che non vengono mai installati, ma semplicemente montati. È interessante notare che ci sono abbastanza file 'liberi', ad esempio, png. Perché non sono impacchettati?
Come ho già detto, anche il kernel del sistema operativo viene fornito come file hpkg. (Ho citato 4751 file, poiché ho avviato HaikuDepot prima dell'installazione, che ha scaricato un sacco di cose. Un'installazione pulita, a quanto pare, non li contiene tutti e può essere installata più velocemente con circa 200 pacchetti. Fantastico! Come mi è stato detto, il fatto che i file scaricati non vengano ignorati durante l'installazione è . Wow, ecco il primo rapporto di errore, redatto da me).
Primo avvio
Il sistema si avvia, mostrando una bella schermata di avvio, poi si ferma: dopo il caricamento, la mia scheda video (Radeon) mostra uno schermo nero.
Mi è stato consigliato di avviare in modalità sicura con una risoluzione di 1024x768 su un monitor FullHD. In linea di principio, sarebbe stato possibile sforzarsi di utilizzare il bootloader per ottenere il funzionamento con FullHD, ma su un altro computer con scheda video Intel tutto ha funzionato senza problemi.
Il sistema stesso funziona in modo reattivo da una chiavetta USB, apparentemente perché nulla viene scritto sulla chiavetta durante l'operazione, quindi spero di utilizzare la chiavetta come sistema di lavoro principale. Otterrai un vero sistema caricando da USB, a differenza delle dischetti "live" Linux lenti.
Durante l'avvio, lo schermo non lampeggia, non ci sono messaggi del kernel, non c'è la sensazione che Xorg sia attaccato al kernel con nastro adesivo blu. A differenza delle distribuzioni Linux tipiche, il kernel e l'interfaccia grafica qui sono stati creati e allineati l'uno con l'altro!
Non c'è un invito per accedere al sistema, dato che il sistema è stato progettato per un solo utente. Tutto è semplice, esattamente ciò che serve per un computer personale.
Hai bisogno di supporto per più utenti? Distribuisci loro una chiavetta, ognuna delle quali costa non più di $5.
Prime impressioni sull'ambiente di lavoro
Se dovessi paragonare la prima sensazione, sembra più un Mac che, ad esempio, Linux con Gnome. Il tasto "command" funziona proprio come in un Mac. Bene!

Niente paragonabile al gestore di file spaziale, la sensazione è di un vecchio buon Mac!
(come Macintosh System 1.0), sfortunatamente ogni finestra non ricorda le proprie impostazioni (ad esempio visualizzazione come elenco o come icone). Come mi è stato detto, è un errore, che presumo sarà facile da correggere. (Sfortunatamente, è difficile - si utilizza un sistema originale, non basato su GitLab o GitHub, che non può nemmeno essere accesso tramite loro). I file ricevono le proprie icone, non ci sono problemi con file singoli sul desktop e icone.
Bene! Molto meglio rispetto agli ambienti di lavoro per Linux, si sente la semplicità.
Prestazioni
Il sistema operativo funziona velocemente anche su hardware poco potente come un netbook Atom. Non si avverte la presenza di strati software gonfiati. Bene!
ha detto che LibreOffice sembra funzionare più velocemente rispetto ad altri sistemi operativi, ma non l'ho ancora verificato.

Bryan Lunduke. Haiku OS Beta - recensione e impressioni
Riga di comando
C'è un terminale incluso. In generale, nonostante alcune piccole differenze rispetto a Linux, mi sono adattato subito, in realtà - è un normale bash, il che mi ha molto soddisfatto.
Benvenuto nella shell di Haiku.
In essa puoi facilmente lanciare applicazioni che si trovano nel $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 that you can run commands directly from the current directory (Linux users once told me that the world would explode if I tried to do that). Great!

bash running in the Haiku terminal
Another cool thing in the terminal is that you can press ctrl + c to copy, just like in other applications, unlike Linux desktops where you have to press ctrl + shift + c in the terminal.
Little things that demonstrate the integrity of the whole system.
File system structure
The partition from which the boot is coming is mounted at /boot. How simple!
No clutter /etc, /usr, /bin... Just /home e /system. Clean, simple, clear. Good! (Not quite: they exist, but are hidden. Why? Because /bin ClusterFirst /system/bin, there's no need to display this in the Tracker, but scripts still use it. I think developers should get rid of obsolete things made for compatibility, as it only complicates understanding.)
packagefs
I mentioned earlier about hpkg files, which are somewhat similar to Linux packages, but they are not installed, they are just mounted (like snap packages). The file system that makes this magic happen is called packagefs. It mounts hpkg files on top of others, thereby 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 will show the mounted partitions, but unfortunately, it also does not 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 few screens! — nota del traduttore] 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/1Come si vede, /system e /home/config all'interno /boot that's just packagefs.
Those who know me are aware that I am a fan of drag-and-drop support in file managers: for instance, I use NeXT-style application sets, or .
In any case, there are downsides to such a software distribution format. Can packagefs combine the best of both worlds?
Come si può vedere, nel mio caso (la partizione di sistema è piena, ma voglio installare delle applicazioni) sarebbe stato più elegante scaricare da qualche parte le applicazioni, usando il browser, proprio come faccio con i file. .dmg per Mac o AppImage. packagefs vive nel kernel, quindi non è un file system per FUSE (anche se so che c'è anche FUSE in Haiku). Mi è stato anche detto che, forse in futuro, verranno create ulteriori "zone packagefs", e questo probabilmente significa che potrò indicare a packagefs di conservare i pacchetti, ad esempio, su partizioni di disco separate. Questa idea mi piace — se la partizione del disco è su un supporto removibile, potrei sedermi davanti a un altro computer e avere lì applicazioni funzionanti.
È stato detto che funziona anche l'installazione dei pacchetti con il metodo drag-and-drop: basta trascinare il file in /system/packages oppure nel /home/config/packages per installare, e se si trascina un file da lì — esso verrà rimosso. Se si trascina un pacchetto con dipendenze non soddisfatte — il sistema richiederà di installarle prima.
Inizialmente non mi era chiaro come packagefs gestisca più versioni dello stesso pacchetto, cosa succede se voglio installare, per esempio, versioni diverse di gcc o di altri programmi GUI? (Uno degli sviluppatori ha detto, cito: «packagefs di per sé non contiene nulla che impedisca l'installazione di più pacchetti con lo stesso nome, ma poiché viene utilizzato libsolv di OpenSuse per la risoluzione delle dipendenze, che non consente di farlo, è stato vietato farlo anche a HaikuDepot nelle impostazioni». Posso spiegare perché mi piace l'idea dei pacchetti .app, AppDir e AppImages).
Librerie dinamiche
Esiste una tecnologia per le librerie dinamiche? Sì, è evidente, ad esempio, se si avvia un'applicazione con librerie mancanti facendo doppio clic su di essa:

Puoi immaginarlo in gnome, kde o xfce?
In Linux un avvio del genere non mostrerebbe nulla. Vediamo quanto tempo ci vorrà in diversi ambienti:
- GNOME:
- KDE:
- XFCE:
- MATE:
E per quanto riguarda i controlli?
~> ldd
bash: ldd: comando non trovatoÈ necessario usare la sostituzione:
~> objdump -x /bin/bash | grep NEEDED
NEEDED libreadline.so.7
NEEDED libhistory.so.7
NEEDED libncurses.so.6
NEEDED libintl.so.8
NEEDED libroot.soIn linea di principio ldd sarebbe stato meglio, poiché mostra ulteriormente i percorsi da cui verranno caricate le librerie.
E da dove vengono realmente caricate?
~> echo $LIBRARY_PATH
%A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/libQuindi è possibile posizionare le librerie accanto all'eseguibile e funzionerà "semplicemente". Che figata! È possibile semplicemente collegare librerie separate all'applicazione senza doversi preoccupare di rpath o impostare la variabile LD_LIBRARY_PATH come su Linux. Ottimo!
C'è una libreria (orribile su Linux) /boot/system/lib/libstdc++.so.6.0.24.
E se all'applicazione serve una versione più recente di quella disponibile in /boot/system/lib?
Un utente normale, probabilmente, si aggiornerà all'ultima versione, perché in questo sistema non c'è l'utente "Administrator" con la password di root [l'autore allude alla semplicità — nota del traduttore].
Beh, almeno così sembra. (In realtà l'"utente" è equivalente a root. Puoi impostare una password usando il comando passwd, dopodiché indicare PermitRootLogin=yes in sshd_config, e poi sarà possibile connettersi dall'esterno via ssh. Gli sviluppatori mi hanno detto che per impostazione predefinita tutte le applicazioni vengono eseguite come root. Alla fine, forse lo migliorano… Ma non sono sicuro che mi piacerà.)
Dato che non ci sono distribuzioni Haiku, anche gli sviluppatori di applicazioni non hanno accesso a versioni più recenti di quelle disponibili per il download nel tuo sistema. Risultato: meno delusioni, le cose "funzionano semplicemente". Ottima semplificazione! Mi piace.
Risorse e registratore
Come già detto, le applicazioni ricevono un tipo e un'icona, quindi non ti devi preoccupare di file sul desktop e simili. Mi è stato detto che c'è un servizio speciale di registrazione che sa delle applicazioni, dei tipi di file, delle icone. Viene sempre informato quando viene installato un pacchetto o segnalato un file come eseguibile (utilizzando il programma chmod o mimeset).
Ricorda un po' su Mac. Ecco ciò che . Ottimo!
I file binari ricevono icone incorporate come risorse, quindi non hai bisogno di un'icona separata oltre ai file sul desktop. Quasi come era su Macintosh System 1. Che figata!

Tipi di applicazioni, tipi di documenti supportati, risorse incorporate e informazioni sulla versione
Tracker (gestore dei file) contrassegna automaticamente i file binari come eseguibili. È ciò che aspettavo dagli ambienti di lavoro su Linux da oltre 10 anni.
Tutto questo è molto piacevole. È fantastico! La vita diventa così semplice. È più sofisticato e sembra di più un Mac che su Linux. O questo…

App su Linux senza bit di esecuzione installato
In Gnome la possibilità di avviare file eseguibili da un file manager, ma la community ha sollevato il dibattito — e tutto è stato ripristinato.
Mi hanno anche detto che le applicazioni utilizzano la funzione find_paths() invece di percorsi fissi /usr/bin e /usr/share (caratteristica comune negli ambienti di lavoro su Linux), il che significa che possono essere spostate nel file system. Applausi a scena aperta! .
Ciò che mi ha sorpreso
- Mi ha confuso il fatto che
/bootquesto sia il punto di montaggio della partizione da cui viene caricata la sistema. Perché non "/"? O anche/Haiku? (Пояснение: действительно,/bootquesta è sempre la partizione di avvio, appare sul desktop come "Haiku", perché è il suo nome. Considera "/" come un'analogia del desktop nel Mac System 1, la radice della gerarchia, realmente non esistente nei dischi). - Il punto di montaggio per i pacchetti installati dall'utente è
/home/config. Perché non semplicemente/home? (Один из разработчиков пояснил мне, что они не хотят засорять домашний каталог, но мне кажется, config — название неудачное, потому что внутри есть подкаталогbin/, quindi non è solo archiviazione delle impostazioni). - Qual è la licenza per tutto questo? Ad esempio in nella sezione "Informazioni" non c'è alcuna indicazione. Nel campo "Informazioni su questo sistema" è scritto che il codice di Haiku è sotto licenza MIT. Ottimo! (Mi hanno anche detto che WebPositive viene fornito con il sistema operativo con la stessa licenza, ma il suo motore WebKit è in gran parte sotto licenza BSD a due clausole).
Cosa non funzionava come mi aspettavo
Innanzitutto, mi ha colpito il livello di supporto hardware. Sul mio netbook basato su Atom ha funzionato tutto, inclusa la WLAN. Ma ci sono alcune peculiarità nel funzionamento.
- Completamente non funzionante su hardware Macintosh, indipendentemente dalla modalità EFI o dall'emulazione BIOS ("Windows"). Il sistema semplicemente si blocca se si seleziona l'icona nel bootloader Mac. Mi hanno detto che è e si può avviare utilizzando , ma queste impostazioni sono per me troppo complicate.
- Accelerazione grafica. Sembra che utilizzare Radeon sia ancora impossibile (avevo uno schermo nero), ma anche su Intel non va tutto liscio. L'accelerazione video in WebPositive è solo software, inclusi H.264. Incredibile, visto che l'orientamento originale era verso il video. Uno degli sviluppatori ha precisato che il video in WebPositive funziona utilizzando hack di rallentamento.
- Nessun suono? «I driver per le schede audio sono ancora un problema», ha detto lo sviluppatore. Probabilmente ci vuole qualcuno che supporti il driver HDA in modo simile a USB-3. Attualmente, per ottenere l'audio basta un riavvio a caldo da un altro sistema operativo, e credo che prima o poi lo risolveranno.
- I pulsanti di controllo della luminosità e del volume non funzionano. (C'è già una base sotto forma di applicazione Shortcuts: è possibile associare qualsiasi combinazione di tasti a una funzione che si preferisce, ma per ora Haiku non riesce a lavorare con i tasti multimediali. Magari ci sono volontari?)
- Controllo del touchpad con due dita. Non funziona out of the box. C'è un pannello di impostazioni che ha comunicato che «Nessun touchpad trovato, le impostazioni non avranno alcun effetto.» ( con ELAN Input Device, ACPI ETD050A).
- Con l'app esistente per leggere i file dalle fotocamere digitali e dagli smartphone Android non riuscivo a sincronizzare nei modi MTP e PTP. Sarebbe fantastico se si montassero come altre partizioni nel sistema.
- La chiusura del coperchio del laptop, a quanto pare, non viene gestita. (So che Haiku non lavora ancora con ACPI: il supporto è stato implementato, ma non è attivato di default; non c'è ri-inizializzazione del driver)
- Non sono riuscito a creare un account nel bugtracker poiché non funziona in WebPositive.
Applicazioni
Lo scopo principale del sistema operativo è eseguire applicazioni. Ero preoccupato che non ci fossero applicazioni per un vero lavoro su Haiku. Fortunatamente, mi sbagliavo, poiché c'è speranza per miglioramenti — quando Haiku sarà utilizzato più spesso.
(un'applicazione per il layout visivo) è disponibile, ed è un'applicazione piuttosto complessa basata su Qt. C'è anche (IDE).
Mi sono chiesto se oggi vengano scritte applicazioni native Be per Haiku, utilizzando strumenti nativi (se esistono), o se sia sufficiente usare QtCreator (cosa che faciliterebbe il porting di applicazioni cross-platform). La posizione degli sviluppatori di Haiku è una chiara preferenza per le applicazioni native per Haiku. È vero? Io ho dei dubbi che ci siano applicazioni per un vero lavoro che non siano cross-platform (tutte le applicazioni che uso nel mio lavoro sono cross-platform).
È dichiarato il supporto per le applicazioni WxWindows.
L'assenza del supporto Gtk+ è deludente. Questo significa che su Haiku non ci sarà Gimp a breve (beh, questo è quello che penso), ma c'è una sostituzione in Krita!
Inoltre, penso che sia necessario un modo semplice e comprensibile per creare applicazioni per Haiku, — utilizzando Travis CI e GitLab CI.
Verso dove ci dirigiamo?
Rimarrà Haiku bloccato nel concetto di UX di BeOS? Penso che per essere attraente debba curare attentamente i nuovi schemi UX quando vengono adottati, rimanendo fedele alle proprie basi.
Ad esempio:
- Rimanere semplice, senza le 100500 opzioni che rendono il Linux 'complesso'.
- Utilizzare per il mouse un cursore a freccia invece di una strana mano.
- Ci sarà un Dock? (So che c'è qualcosa tipo Dock chiamato , ancora più vicino al Dock , ma la BeOS originale aveva già un Dock nel 1998!)
- Menu globale? (Ovviamente no, poiché non vede particolare vantaggio).
- Cambio finestra veloce? (Hanno detto che si può provare ad attivare '', tenendo premuto il tasto Windows mentre si trascina la finestra, ma non è intuitivo e, oltretutto, non funziona per me).
- Animazione di apertura e chiusura delle finestre?
- Ombre dietro le finestre?
- Supporto per i temi, come in Aqua? (Sì, si può, c'è un'infrastruttura e strumenti, per esempio, , ma qualcuno deve creare i temi. Ci proverei io stesso, mi hanno detto che c'è documentazione in /xref/haiku/headers/os/interface/ControlLook.h, но не сейчас).
Questi sono dettagli sottili da tenere in considerazione, affinché il sistema non perda la sua unicità.
Conclusione
Haiku mi ha davvero aperto gli occhi, mi ha mostrato come un ambiente di lavoro 'funzioni semplicemente'.
Oltre 10 anni fa sono passato da Mac a Linux e da allora cerco lo stesso livello di raffinatezza e bellezza, e Haiku in molti aspetti corrisponde a questo.
A dire il vero, ci sono delle imperfezioni, ma sorprendentemente molte cose, incluso l'hardware, come WLAN o stampanti, 'funzionano semplicemente'.
Tuttavia, prima di tutto, il sistema ha un concetto di ambiente di lavoro assente negli ambienti di lavoro Linux.
La presenza di un sistema integrato (e non solo di un kernel e vari ambienti utente in competizione) rende tutto semplice e coerente.
L'assenza di diverse versioni (distribuzioni) rende tutto ancora più semplice.
Il fatto che sia previsto il lavoro di un solo utente nel sistema riduce ulteriormente la complessità.
Risultato: un sistema molto semplice, raffinato, minimalista in molti aspetti, creato per 'comuni mortali', non per amministratori di sistema UNIX.
C'è speranza che quando questo sistema diventi più popolare (e questo è inevitabile), la sua complessità non aumenti.
Ho già scritto di #LinuxUsability nel ciclo di articoli precedente. È piacevole sapere che Haiku affronta molte delle questioni sollevate .
È bastata una sola giornata per rendermi conto: voglio utilizzare questo ambiente di lavoro per le mie attività quotidiane, e sto anche cercando modi per contribuire allo sviluppo del sistema.
Provalo tu stesso! Infatti, il progetto Haiku offre immagini da scaricare su DVD o USB, . Per installare, basta scaricare l'immagine e scriverla su una chiavetta usando .
Dall'autore della traduzione: questo è solo il primo articolo di un ciclo su Haiku, gli altri sono in attesa di traduzione e saranno pubblicati in seguito.
Fonte: habr.com
