Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
TL;DR: ik ben geïnspireerd door Haiku, maar er is nog werk aan de winkel

Gisteren heb ik Haiku bestudeerd — een besturingssysteem dat me aangenaam verraste. Dag twee. Begrijp me niet verkeerd: ik ben nog steeds onder de indruk van hoe makkelijk het is om dingen te doen die moeilijk zijn in Linux-werkomgevingen. Ik kan niet wachten om te ontdekken hoe het werkt en ben vol enthousiasme om het dagelijks te gebruiken. De waarheid is dat de dag voor een volledige overstap nog niet is gekomen: ik wil niet lijden.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
De rastergrafische editor WonderBrush — als je weet waar je het kunt vinden

In principe is het te verwachten voor een versie onder 1.0. Maar onderschat niet de opmerkelijke prestaties, denkend aan Mac OS X in zijn pre-release dagen, en met inachtneming van de grootte van het Haiku-team.

Ik deel meestal mijn gedachten over #LinuxUsability (deel 1, deel 2, deel 3, deel 4, deel 5, deel 6), dus verras je niet over de kritiek op Haiku op het gebied van gebruiksvriendelijkheid. De meeste daarvan hebben gelukkig betrekking op verschillende verbeteringen.

Dit was de inleiding, laten we nu enkele ongemakken onder de loep nemen.

Ongemak nr. 1: problemen met de browser

Er zijn 3 browsers gebaseerd op WebKit: de belangrijkste (WebPositive) en twee aanvullende op Qt (QupZilla, verouderde naam Falkon, en OtterBrowser), die geïnstalleerd kunnen worden vanuit de repository. Geen daarvan werkt correct. De belangrijkste browser heeft problemen met functionaliteit en rendering (bijvoorbeeld, het is onmogelijk om captcha op te lossen bij inloggen op Haiku bugtracker), terwijl de aanvullenden grote prestatieproblemen op Haiku hebben.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
Dit is hoe Twitter eruitziet in WebPositive, de belangrijkste browser van Haiku

QupZilla en OtterBrowser hebben veel vertraging op onbetrouwbare internetverbindingen (bijvoorbeeld in de trein). Het schakelen tussen tabs wordt onmogelijk als de gegevens niet consistent binnenkomen. Het is niet te doen om een nieuw tabblad te openen zolang het huidige tabblad netwerkgegevens aan het laden is. Alles hapert, ondanks de geringe belasting. Waarschijnlijk zijn de browsers niet volledig geoptimaliseerd voor de multi-threading van Haiku, of hebben ze andere problemen met Haiku [ook op Linux heb ik daar soms last van — opmerking van de vertaler].

Met QupZilla lukte het me niet om iets op Medium te schrijven…

Apple heeft veel gedaan om een stabiele werking van de browser met uitstekende prestaties te waarborgen. Ik denk dat deze uitbreidingen ook rendabel zullen zijn op Haiku. Vooral gezien het toenemende belang van webapplicaties, en vooral omdat native applicaties nog niet voor alle gebruiksvarianten beschikbaar zijn.

Video afspelen

Het verhaal van Kenneth Kocienda en Richard Williamson: hoe Safari en WebKit zijn ontstaan

Probleem #2: Launcher en Dock

In de rechterbovenhoek van het scherm bevindt zich Deskbar, een bizarre mix gemaakt van het menu 'Start' van Windows met een vleugje Dock-functies en enkele andere mogelijkheden.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
Deskbar

Aangezien dit misschien een cruciaal onderdeel van de gebruikerservaring voor BeOS was, mist het de mogelijkheden van moderne desktopomgevingen: ik heb een programmastarter nodig, zoals Spotlight, op te starten via Alt+spatie. Het starten van applicaties met een klik is traag. Er is een 'Zoeken'-tool, die eruitziet als Stierlitz onder dekking, maar het is niet ontworpen voor gebruiksvriendelijk applicatiebeheer, zelfs niet als je het zou versnellen.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
Spotlight op Mac OS X Leopard, gestart met Command + spatie

Er is LnLauncher, geïnstalleerd in HaikuDepot. Bij de eerste start is het volledig leeg, en het is niet helemaal duidelijk hoe je er iets aan toevoegt. Bovendien verschijnt het niet op een heel handige plek op het scherm zonder een duidelijke manier om de positie te wijzigen. Hoe kan ik het aan de linkerkant of onderaan het scherm plaatsen, zoals het Dock in Mac OS X? Ik vind de UX in dit geval ondoorgrondelijk.

DockBert, ook geïnstalleerd vanuit HaikuDepot. Al beter. Het verschijnt onderaan het scherm. Ik had niet verwacht dat de volgorde van de iconen omgekeerd zou zijn: de prullenbak staat aan het begin, maar over het geheel lijkt het veelbelovend.

Hoe stel ik het standaard in plaats van Deskbar in? Als ik op het Deskbar-icoon in DockBert klik en 'sluiten' kies, sluit het natuurlijk... en verschijnt het binnen een halve seconde weer terug. (De ontwikkelaars hebben gezegd dat dit in feite een bug in DockBert is). Het zou fijn zijn als DockBert slim genoeg was om te begrijpen wat de gebruiker nodig heeft en dat te doen. Standaard zijn er geen applicatie-iconen in DockBert, maar het toont 'sleep hierheen', zodat het duidelijk is hoe alles toe te voegen. Echter, ik kon de applicaties niet verwijderen - noch door met de rechtermuisknop te klikken, noch door het icoon uit DockBert te slepen.

Ik probeer HiQDock. Ik kwam het toevallig tegen in een externe repository. Het ziet eruit zoals ik het wil. Met de nadruk op 'zie eruit'. Want het werkt nog steeds niet: het is nog steeds een beta-versie. Het is geschreven in Qt4, dus ik betwijfel of het in de installatie-image zal worden opgenomen.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
HiQDock.

In principe, niet alleen ik vind dat de situatie met Dock en Launcher ingewikkeld is. Over dit onderwerp vond ik zelfs een heel artikel.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
QuickLaunch

Daarna hoorde ik over QuickLaunch, dat wordt aangeraden om te starten door een toetscombinatie toe te voegen in de instellingen van Shortcuts.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
Instellingen voor Shortcuts in Haiku

Het zou goed zijn als zulke dingen standaard zo waren ingesteld dat ze 'gewoon werken'. Heb ik Alt+spatie gezegd? Nou, in principe kan QuickLaunch bij de eerste keer starten vragen of het toetsenbordcombinatie moet instellen. Dit doen in de instellingen van Shortcuts is omslachtig.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
Een venster waarin je 'applicatie' kunt invoeren in de instellingen van Shortcuts. Geen grap.

Ik wed dat de meeste gebruikers niet weten wat ze moeten invoeren als 'applicatie', namelijk: /boot/system/apps/QuickLaunch (gewoon QuickLaunch werkt niet).

Snelle oplossing: stel QuickLaunch standaard in en wijs de toetsenbordcombinatie alt+spatie standaard toe.

Gelukkig heb ik informatie van de ontwikkelaars dat ze op een gegeven moment misschien gaan overwegen het als verbetering of vervanging van het oude vertrouwde Deskbar op te nemen. Misschien… ooit… Laten we duimen! (Dien een aanvraag in, anders komt het er misschien niet). Hier). Een andere ontwikkelaar zei, citaat: 'naar mijn mening is het vrij eenvoudig om het pad van Windows te volgen, dat wil zeggen een zoekveld in het startmenu in te voegen. Dit zou volgens mij een enorme verandering voor velen betekenen'. Eens! (nogmaals: aanvraag indienen of het komt er niet).

Waarom vindt QuickLaunch de schermopnameprogramma's twee keer, in /boot/system/apps en in /boot/system/bin? Разработчики в курсе, поскольку в файле /boot/system/apps/QuickLaunch/ReadMe.html.

/system/bin ранее не обрабатывался, портированные программы часто попадают в каталог /bin, а это — плохая затея. Можно убрать нежелательные CLI приложения, к примеру с помощью кнопки «Добавить в список игнорирования» в контекстном меню

snelle oplossing: filter applicaties met /system/bin, die ook existieren in /system/apps

Onhandigheid #3: geen hardwareversnelling

BeOS was volgestouwd met demo-applicaties. Geen enkele video met BeOS kwam zonder vele vensters voorbij waarin verschillende video's werden weergegeven. Een opmerkelijke prestatie voor die tijd. Haiku wordt geleverd met 3D demo-applicaties die 3D-lettertypen laten zien die door de ruimte bewegen. (Hé, maar Haiku is toch niet bezig met een IPO, hè?)

Video afspelen

BeOS in 1995, waarvan de ideeën ten grondslag liggen aan Haiku. Het draaide op twee PowerPC 603-processoren met een kloksnelheid van 66 MHz.

We willen de Linux zijn in de wereld van geluid en video.

—Jean-Louis Gassee, CEO

Wat opmerkelijk is, is dat video en 3D in feite niet hardwarematig worden versneld in Haiku. Ik neem aan dat dit ook geldt voor games.

Bij de ontwikkelaars mr. waddlesplash en Alex von Gluck er is documentatie voor hardwareversnelling ("het heeft ongeveer twee manmaanden nodig"). 3D-versnelling zal via Mesa zijn (Haiku gebruikt, zoals eerder vermeld, Mesa en LLVMPipe als basis voor OpenGL), voor video kan men leunen op FFmpeg of een eigen oplossing maken (ik weet dat Haiku al FFMpeg intern gebruikt, maar zonder versnelde stuurprogramma's is het onmogelijk om VDPAU of een andere vergelijkbare API te gebruiken).

Laten we duimen!

Hinder №4: programma's worden niet gevonden

Ik weet dat er al behoorlijk wat CLI-programma's zijn geport naar Haiku, maar ik zie ze niet in HaikuDepot. Er zijn zelfs geen aanwijzingen. In de commandoregel zijn er geen commando's "haiku..." of "port..."

~\/testing> haikuports
bash: haikuports: commando niet gevonden

Door te google, heb ik een, waar ik avrdude vandaan heb gedownload. Bij het dubbelklikken verscheen er een venster met onvervulde afhankelijkheden. Het zou fijn zijn als dit niet zou gebeuren. (Een van de redenen waarom ik zo van pakketten .app voor Mac en AppImage voor Linux).

Van de ontwikkelaars vernam ik dat er "theoretisch" een systeem, dat dit voorkomt. Blijkbaar heeft het wat meer liefde nodig.

Wat moet er gedaan worden? Hier er zijn instructies voor degenen die programma's willen porteren naar Haiku, maar er zijn geen instructies voor degenen die gewoon de geporteerde programma's willen gebruiken. Dat is waar ik in de knoei raakte.

De ontwikkelaar zei tegen me: "Wij noemen HaikuPorts niet, omdat 99,9% van de gebruikers niet hoeft te weten of zich druk te maken over hoe deze pakketten worden aangemaakt en verschijnen in HaikuDepot." Ik ben het ermee eens. Het gesprek gaat over HaikuDepot, en hoe je iets daar kunt krijgen, omdat de interface van HaikuDepot dat niet laat zien (bijvoorbeeld, avrdude cli). Blijkbaar zou er een vlag moeten zijn die CLI-applicaties in de interface van HaikuDepot weergeeft, maar ik heb die niet gevonden, misschien bestaat hij ook niet. ("Aanbevolen" of "Alle pakketten"... heeft u dat nodig? Nee, ik wil geen "alle" pakketten bekijken, ik veronderstel dat er veel bibliotheken zullen worden getoond. Iets als de oude goede Synaptic).

In plaats daarvan weet ik niet hoe ik het moet installeren (Men zegt dat HaikuArchives een "opslagplaats voor ondersteunde software" is, en ook dat "alle goede programma's al in HaikuPorts staan" - integrators zijn nodig). eenNa nog wat te hebben gegoogeld, vond ik:

Wauw! Het zou fijn zijn om dit commando meer op te laten vallen. Een van de ontwikkelaars bevestigde dat "pkgman - cli analogie voor HaikuDepot" is. Waarom is het dan niet genoemd

/> pkgman search avrdude​Status Name Description
-------------------------------
avrdude A tool to up/download to AVR microcontrollers

haikudepot haikudepot?

Allereerst heb ik command_not_found-0.0.1~git-3-any.hpkg geïnstalleerd. Nu kan ik het zo doen:

/> file /bin/bash
DEBUG:main:Entered CNF: file
This application is aviaiblible via pkgman install file

snelle oplossing: toevoegen command_not_found-*-any.hpkg aan de standaardinstallatie.

De ontwikkelaar van Haiku vindt dat “in Haiku, in tegenstelling tot Linux, er geen echte behoefte is aan command-not-found”, omdat “je gewoon pkgman install cmd:commandname kunt uitvoeren”. Maar hoe moet ik, als ‘gewone sterveling’, dat weten?!

Pakketten, pakketbeheerders, afhankelijkheden. Die in Haiku is natuurlijk veel slimmer dan de meeste, maar het blijft een pakketbeheerder:

/> pkgman install avrdude100% repochecksum-1 [65 bytes]
Validating checksum for Haiku…done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts... done.
100% repocache-2 [951.69 KiB]
Validating checksum for HaikuPorts... done.
Encountered problems:
problem 1: nothing provides lib:libconfuse>=2.7 needed by libftdi-1.4–7
solution 1:
- do not install “providing avrdude”
Please select a solution, skip the problem for now or quit.
select [1/s/q]:

Pakketbeheerders doen wat pakketbeheerders altijd doen, hoe dan ook, ongeacht het besturingssysteem. Er is een reden waarom ik mij aangetrokken voel — heb ik dat al gezegd? — tot pakketten .app en AppImages.

Bovendien ontbreken er hier bepaalde zeer populaire open-source applicaties:

/> pkgman install inkscape
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku…done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts…done.
*** Failed to find a match for “inkscape”: Name not found

Antwoord van de ontwikkelaars: “Omdat er geen Gtk is — zal er geen Inkscape zijn.” Begrijp ik. Een andere ontwikkelaar voegde toe: “Maar we hebben een verrassende WonderBrush.” Daar had ik nog nooit van gehoord, maar het is vast niet zichtbaar in HaikuDepot, of waar zou het vandaan komen? (opmerking: ik had op het tabblad 'Alle pakketten' moeten schakelen! Ik heb dat totaal gemist!)

/> pkgman install gimp
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku... done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts... done.
*** Failed to find a match for “gimp”: Name not found​/> pkgman install arduino
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku... done.
100% repochecksum-1 [64 bytes]​
Validating checksum for HaikuPorts... done.
*** Failed to find a match for “arduino”: Name not found

Ik weet dat “arduino daar eerder was”… waar is alles gebleven?

Daarnaast verraste me het feit van “technologische praatjes”: er worden zoveel zinnen weergegeven simpelweg om uiteindelijk te zeggen: “deze software is niet beschikbaar”.

Probleem №5: verschillende oneffenheden die gecorrigeerd moeten worden

Overschakelen tussen applicaties

Het is saai zonder alt+tab voor het wisselen van applicaties. Ctrl+tab werkt, maar het is een beetje krom.

Tip van de ontwikkelaars: als ik de indeling van Windows activeer, worden Cmd en Ctrl omgewisseld, en wordt alt+tab vertrouwd. Maar ik wil de Mac-ervaring voelen terwijl ik op een toetsenbord van een PC werk!

Opmerking van de ontwikkelaars: “Het omzetten van ctrl+tab naar alt+tab zal sommige gebruikers verrassen.” Eenvoudige oplossing: zet beide aan! (ik, als gebruiker van Mac, Windows en Linux met Gnome, KDE, Xfce, weet gewoon niet wat ik moet verwachten).

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
Applicaties schakelen via ctrl+tab met Twitcher. Soms verschijnt hij, soms niet de eerste keer.

Wat nog erger is: ctrl+tab toont soms het venster met applicatie-icoontjes en soms niet. Daarnaast lijkt de volgorde van het schakelen tussen applicaties willekeurig: StyledEdit-WebPositive-terug StyledEdit-WebPositive-StyledEdit-venster met applicatie-icoontjes… Een softwarefout? (Misschien weet iemand of er een tool voor het opnemen van GIF-afbeeldingen voor Haiku bestaat?) Correctie: dit is een eigenschap, geen fout.

Een korte druk op de combinatie ctrl+tab schakelt direct naar de vorige applicatie zonder het Twitcher-venster te tonen. Als je de combinaties langer vasthoudt, krijg je wat ik al gewend ben.

Sneltoetsen

Als het gaat om sneltoetsen, zodra je beseft dat alles vergelijkbaar is met Mac – probeer je automatisch de gebruikelijke combinaties… Bijvoorbeeld, in de dialoogvensters 'Openen...' en 'Opslaan als...' wil ik alt+d indrukken voor de 'Desktop' map, en zo verder.

De ontwikkelaars 'hebben de mogelijkheid om dit toe te voegen', 'in een aanvraag voor verbetering van de bestandsdialoogvensters'. Ik zou zo'n aanvraag indienen, als er een lokale issue tracker op GitHub of GitLab was waar ik een account heb.

Maar zoals ik al eerder uitlegde, kan ik me niet registreren in hun systeem. (Zoals je waarschijnlijk al geraden hebt, wil ik de eenvoud benadrukken bij het werken met dergelijke zaken via openbare diensten zoals GitHub of GitLab). Correctie: https://dev.haiku-os.org/ticket/15148

Inconsistenties

Applicaties op Qt en 'native' applicaties verschillen in gedrag. Bijvoorbeeld, je kunt het laatste woord verwijderen met alt+backspace in Qt-applicaties, maar niet in native applicaties. Het zou fijn zijn als zulke inconsistenties worden weggenomen.

Correctie: ik was deze artikel nog niet aan het schrijven (ik heb het eerst op het Haiku-ontwikkelaarskanaal getoond voor feedback), toen bleek dat deze inconsistentie was verholpen! Ongelooflijk! Hoe hou ik van open-sourceprojecten! Bedankt, Kacper Kasper!

Opmerkingen

Ik ben nog bezig met het leren van Haiku, en het blijft me verbazen. Ondanks dat ik me vandaag heb gefocust op het beschrijven van problemen, kan ik niet vergeten waarom dit besturingssysteem zo intrigerend is. Hieronder staan enkele voorbeelden. Gewoon een herinnering om te zien hoe conceptueel correcte dingen in Haiku worden gedaan.

Als je dubbelklikt op een uitvoerbaar bestand zonder de benodigde bibliotheken, zie je in Linux niets. In Haiku verschijnt een aangename grafische dialoog met informatie over het probleem. Ik heb al lang gedroomd van dergelijke dingen in Linux en ben nog steeds onder de indruk dat dit goed is gedaan in Haiku. Dit voorbeeld laat zien dat het besturingssysteem op alle niveaus consistent is. Het resultaat is elegantie, schoonheid en eenvoud, zelfs in gevallen zoals foutafhandeling.

Een fascinerende blik onder de motorkap.

De documentatie voor QuickLaunch zegt:

Er kunnen 2 redenen zijn waarom QuickLaunch de applicatie niet kan vinden:

  • De applicatie bevindt zich niet op de BeFS-partitie, of de BeFS-partitie is niet geformatteerd om verzoeken te ondersteunen.
  • De applicatie heeft niet het juiste attribuut BEOS:APP_SIG. In dat geval vraag de ontwikkelaar van de applicatie om dit toe te voegen, of probeer het volgende advies op te volgen:
    als je een applicatie of script gebruikt die niet wordt weergegeven in QuickLaunch (en zich op een schrijfbaar pad bevindt) — probeer deze attributen dan in de terminal toe te voegen.

    addattr BEOS:TYPE application/x-vnd.Be-elfexecutable /path/to/your/app-or-script

    addattr BEOS:APP_SIG application/x-vnd.anything-unique /path/to/your/app-or-script

Dit geeft een idee van hoe de magie, vergelijkbaar met Launch Services, eigenlijk werkt, wat ik nog steeds bewonder (en die volledig ontbreekt in werkomgevingen op Linux.).

Even fascinerend is 'Open met...'

Selecteer een bestand, druk op alt+I, waarna je op het informatiepaneel kunt kiezen welke applicatie een bepaald bestand kan openen.

Mijn tweede dag met Haiku: onder de indruk, maar nog niet klaar om over te stappen
In Haiku kan ik de applicatie voor het openen van één specifiek bestand overschrijven. Cool, toch?

Dit alles werkt, zelfs zonder het bestandsnaamextensie, en ik kan eindelijk aangeven dat verschillende bestanden van hetzelfde type in verschillende applicaties moeten worden geopend, wat zeer moeilijk, zo niet bijna onmogelijk, is in werkomgevingen op Linux.

Conclusie

Zoals ik gisteren al schreef, heeft Haiku mijn ogen geopend, het heeft me laten zien hoe een werkomgeving 'gewoon kan werken'. Op de tweede dag vond ik ook een paar punten die duidelijk verbetering behoeven.

Geen van hen zal de werking stoppen. Ik ben echt enthousiast over de toekomst van dit persoonlijke besturingssysteem voor desktopcomputers. Deze langverwachte ontwikkeling gaat verder dan de "Linux-werkomgevingen", die blijven aanzienlijke, op korte termijn onoplosbare, architecturale problemen.

Ik kijk uit naar Haiku.

Probeer het zelf! Het Haiku-project biedt imagebestanden voor opstarten vanaf DVD of USB, die dagelijks worden aangemaakt. dagelijksVoor installatie is het voldoende om het image te downloaden en het op een USB-stick te branden met behulp van Etcher

Heb je vragen? We nodigen je uit in ons Russischtalige telegramkanaal.

Foutoverzicht: Hoe je jezelf in de voet schiet met C en C++. Een verzameling recepten voor Haiku OS.

Van de vertaler: dit is het tweede artikel in een serie over Haiku.

Lijst van artikelen: Eerste

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster