Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
TL;DR: Ik ben heel blij met Haiku, maar er is ruimte voor verbetering

Gisteren heb ik Haiku geleerd - een besturingssysteem dat mij aangenaam verraste. Tweede dag. Begrijp me niet verkeerd: ik ben nog steeds verbaasd over hoe gemakkelijk het is om dingen te doen die moeilijk zijn op Linux-desktops. Ik wil graag leren hoe het werkt en ben ook enthousiast om het dagelijks te gebruiken. Het is waar dat de dag voor een volledige transitie nog niet is aangebroken: ik wil niet lijden.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
WonderBrush raster grafische editor - als u weet waar u deze kunt vinden

In principe, zoals verwacht voor versies onder 1.0. Maar als je Mac OS X in de pre-releasetijd in gedachten houdt en de omvang van het Haiku-team in ogenschouw neemt, bagatelliseer je de verbazingwekkende prestaties niet.

Ik geef meestal mijn mening over #LinuxUsability (Deel 1, Deel 2, Deel 3, Deel 4, Deel 5, Deel 6), dus wees niet verrast door het gezeur over Haiku in termen van bruikbaarheid. De meeste daarvan hebben gelukkig betrekking op verschillende verbeteringen.

Dit was het voorwoord, en laten we nu aandacht besteden aan enkele problemen.

Probleem #1: Browserproblemen

Er zijn 3 browsers gebaseerd op WebKit: basis (Webpositief) en twee extra op Qt (QupZilla, verouderde naam FalkonEn OtterBrowser), die vanuit de repository kan worden geïnstalleerd. Geen van hen werkt correct. De hoofdbrowser heeft problemen met functionaliteit en weergave (het is bijvoorbeeld onmogelijk om captcha op te lossen bij het inloggen). Haiku-bugtracker), en andere hebben grote prestatieproblemen op Haiku.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Zo ziet Twitter eruit in WebPositive, de hoofdbrowser van Haiku.

QupZilla en OtterBrowser lopen zwaar achter op onbetrouwbare internetverbindingen (bijvoorbeeld in de trein). Schakelen tussen tabbladen wordt onmogelijk als de gegevens niet soepel binnenkomen. Het is onmogelijk om een ​​nieuw tabblad te openen terwijl het huidige gegevens via het netwerk laadt. Alles gaat langzaam, ondanks de lage belasting. Waarschijnlijk zijn browsers niet volledig geoptimaliseerd voor Haiku-multithreading, of hebben ze andere problemen met Haiku [op Linux overkomt mij dit soms ook - ca. vertaler].

Ik kon niets op Medium schrijven met QupZilla...

Apple heeft veel gedaan om een ​​stabiele browser met uitstekende prestaties te garanderen. Ik denk dat deze investering ook voor Haiku vruchten zal afwerpen. Zeker gezien het toegenomen belang van webapplicaties, en nog meer gezien het feit dat native applicaties nog niet voor alle gebruiksscenario’s beschikbaar zijn.

Het verhaal van Kenneth Kocienda en Richard Williamson: hoe Safari en Webkit ontstonden

Probleem #2: Launcher en Dock

In de rechterbovenhoek van het scherm bevindt zich Bureaubar, een eigenzinnige mix van het Windows Start-menu, afgewisseld met Dock-functies en een paar andere functies.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Bureaubar

Omdat dit misschien een sleutelelement was van de gebruikerservaring voor BeOS, mist het de mogelijkheden van een moderne desktopomgeving: ik heb een programmastarter nodig zoals Spotlight, gelanceerd via Alt+spatiebalk. Click-to-launch-apps zijn traag. Er is een zoekhulpmiddel dat er zo uitziet Stirlitz undercover, maar het is niet ontworpen voor het gemakkelijk starten van applicaties, ook al wordt het versneld.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Spotlight op Mac OS X Leopard, gelanceerd met Command + spatiebalk

Er is LnLauncher, geïnstalleerd HaikuDepot. Wanneer je het voor het eerst start, is het helemaal leeg en is het niet helemaal duidelijk hoe je er iets aan kunt toevoegen. Bovendien verschijnt het op een onhandige locatie op het scherm, zonder duidelijke manier om de positie ervan te veranderen. Hoe kan ik het links of onderaan het scherm plaatsen, zoals het Dock in Mac OS X? Ik geloof dat UX in dit geval onkenbaar is.

DockBert, ook geïnstalleerd vanaf HaikuDepot. Al beter. Wordt onderaan het scherm weergegeven. Ik had niet verwacht dat de volgorde van de iconen omgedraaid zou zijn: het mandje staat aan het begin, maar over het algemeen ziet het er veelbelovend uit.

Hoe kan ik dit als standaard instellen in plaats van Deskbar? Als u op het Deskbar-pictogram in DockBert klikt en "sluiten" selecteert, wordt deze uiteraard gesloten... en verschijnt een halve seconde later opnieuw. (De ontwikkelaars zeiden dat dit in principe een bug in DockBert is). Het zou mooi zijn als DockBert slim genoeg was om te begrijpen wat de gebruiker nodig heeft en dat ook te doen. Standaard heeft DockBert geen app-iconen, maar er staat wel "pull here" zodat je weet hoe je alles moet toevoegen. Ik kon de apps echter niet verwijderen, noch door met de rechtermuisknop te klikken, noch door een pictogram uit DockBert te slepen.

Ik probeer het HiQDock. Ik vond het per ongeluk in een opslagplaats van derden. Ziet eruit zoals ik wil. Met de nadruk op ‘looks’. Omdat het nog niet werkt: het is nog 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: opgetogen, maar nog niet klaar om over te stappen
HiQDock.

In principe ben ik niet de enige die denkt dat de situatie met Dock en Launcher ingewikkeld is. Ik heb zelfs over dit onderwerp gevonden hele artikel.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Snelle start

Toen kwam ik erachter Snelle start, dat wordt aanbevolen om te worden gestart door een combinatie van knoppen toe te voegen in de snelkoppelingsinstellingen.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Instellingen voor snelkoppelingen in Haiku

Het zou leuk zijn als dit soort dingen standaard zo zouden worden geconfigureerd dat ze "gewoon werken". Zei ik Alt+spatie? In principe kan QuickLaunch u vragen of u een sneltoets moet aanpassen wanneer u deze voor het eerst start. Dit doen in de snelkoppelingsinstellingen is omslachtig.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Een venster waarin u wordt gevraagd "applicatie" in te voeren in de snelkoppelingsinstellingen. Geen grapje

Ik durf te wedden dat de meeste gebruikers niet weten wat ze als "applicatie" moeten invoeren, namelijk: /boot/system/apps/QuickLaunch (Zojuist QuickLaunch werkt niet).

Snelle oplossing: stel QuickLaunch in als standaard en wijs het de standaard sneltoets alt+spatie toe.

Gelukkig heb ik informatie van de ontwikkelaars dat ze het op een gegeven moment kunnen opnemen als een verbetering of vervanging van de goede oude Deskbar. Misschien... ooit... Fingers crossed! (Laat een verzoek achter, anders zal het nooit gebeuren. Precies hier). Een andere ontwikkelaar zei, citaat: "Naar mijn mening is het volgen van het Windows-pad van het opnemen van een zoekvak in het startmenu eenvoudig genoeg voor Beta, ik zou zeggen dat het voor velen een enorm verschil zal maken." Mee eens zijn! (nogmaals: toepassing of niet).

Waarom vindt QuickLaunch het screenshot-programma twee keer, in /boot/system/apps en /boot/system/bin? De ontwikkelaars zijn op de hoogte, omdat in het bestand /boot/system/apps/QuickLaunch/ReadMe.html.

/system/bin nog niet eerder is verwerkt, komen geporteerde programma's vaak in de map /bin terecht, wat een slecht idee is. U kunt ongewenste CLI-applicaties verwijderen door bijvoorbeeld de knop “Toevoegen aan negeerlijst” in het contextmenu te gebruiken

snelle oplossing: filter applicaties uit /system/bin die ook bestaan ​​in /system/apps

Probleem #3: geen hardwareversnelling

BeOS was bezaaid met demoprogramma's. Geen enkele BeOS-video zou compleet zijn zonder meerdere vensters waarin verschillende video's worden afgespeeld. Een geweldige prestatie in die tijd. Haiku wordt geleverd met 3D-demo's waarin 3D-lettertypen in de ruimte worden weergegeven. (Hé, Haiku bereidt zich niet voor op een beursintroductie, toch?)

BeOS in 1995, waarop Haiku is gebaseerd. Destijds draaide het op twee PowerPC 603-processors met een klokfrequentie van 66 MHz

We willen de Linux van de audio- en videowereld worden.

-Jean-Louis Hessen, CEO van

Verrassend genoeg zijn video en 3D niet echt hardwareversneld in Haiku. Spelletjes denk ik ook.

Van de ontwikkelaars Dhr. waggelplons и Alex von Gluck Er is documentatie voor hardwareversnelling (“het duurt ongeveer twee manmaanden”). 3D-versnelling zal via Mesa plaatsvinden (Haiku gebruikt, zoals reeds vermeld, Mesa en LLVMPipe als basis voor OpenGL), voor video kun je vertrouwen FFmpeg of maak je eigen oplossing (ik weet dat Haiku FFMpeg intern al gebruikt, het is gewoon niet mogelijk om VDPAU of een andere soortgelijke API te gebruiken zonder versnelde stuurprogramma's).

Laten we duimen!

Probleem #4: programma's worden niet doorzocht

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

~/testing> haikuports
bash: haikuports: command not found

Na wat googlen, heb ik gevonden, waar ik avrdude van heb gedownload. Tijdens het uitvoeren verscheen er een dubbelklik op een venster met ontevreden afhankelijkheden. Het zou mooi zijn als dit niet zou gebeuren. (Eén van de redenen waarom ik het zo leuk vind пакеты .app voor Mac en AppImage voor Linux).

Van de ontwikkelaars heb ik geleerd dat dit “theoretisch” zo is система, dit voorkomen. Blijkbaar heeft ze meer liefde nodig.

Wat moet er gedaan worden? Hier Er zijn instructies voor degenen die Haiku-programma's willen overzetten, maar er zijn geen instructies voor degenen die eenvoudigweg de overgezette programma's willen gebruiken. Dit is waar ik betrokken raakte.

De ontwikkelaar vertelde me: "We noemen HaikuPorts niet omdat 99.9% van de gebruikers niet precies hoeft te weten hoe deze pakketten worden gemaakt en verschijnen in HaikuDepot." Mee eens zijn. Over HaikuDepot gesproken, en hoe je daar iets vandaan kunt halen, omdat de HaikuDepot-interface dit niet laat zien (bijvoorbeeld avrdude cli). Blijkbaar zou er een selectievakje moeten zijn dat CLI-applicaties weergeeft in de HaikuDepot-interface, maar ik heb het niet gevonden, of misschien bestaat het niet. (“Aanbevolen” of “Alle pakketten”... heb je het nodig? Nee, ik wil niet naar “alle” pakketten kijken, ik ga ervan uit dat er veel bibliotheken getoond zullen worden. Zoiets als de goede oude Synaptic).

In plaats daarvan ik gevonden. Ik weet ook niet hoe ik het moet installeren (ze zeggen dat HaikuArchives een "repository van ondersteunde software" is, en ook dat "alle waardevolle programma's al in HaikuPorts staan" - er zijn integrators nodig).

Na nog wat googlen vond ik:

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

Wauw! Het zou leuk zijn om dit team zichtbaarder te maken. Een van de ontwikkelaars bevestigde dat “pkgman een cli-analoog is voor HaikuDepot.” Waarom werd ze toen niet genoemd? haikudepot?

Allereerst heb ik command_not_found-0.0.1~git-3-any.hpkg geïnstalleerd. Nu kan ik dit 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 naar de standaardinstallatie.

De Haiku-ontwikkelaar is van mening dat "in Haiku, in tegenstelling tot Linux, er geen echte noodzaak is voor command-not-found", omdat "je gewoon pkgman install cmd:commandname kunt uitvoeren." Hoe kan ik, een ‘gewone sterveling’, hiervan op de hoogte zijn?!

Pakketten, pakketbeheerders, afhankelijkheden. Die in Haiku is zeker veel slimmer dan de meeste, maar het is nog steeds 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, ongeacht het besturingssysteem. Er is een reden waarom ik me ertoe aangetrokken voel: heb ik dat gezegd, nietwaar? - Naar pakketjes .app en AppImages.

Bovendien ontbreken hier enkele 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

Ontwikkelaars antwoorden: “Aangezien er geen Gtk is, zal er ook geen Inkscape zijn.” Begrepen. Een andere ontwikkelaar voegde toe: “Maar we hebben de geweldige WonderBrush.” Ik wist hiervan niet, maar het is niet zichtbaar in HaikuDepot, en waar zou het zijn? (correctie: ik had naar het tabblad “Alle pakketten” moeten overschakelen! Dat punt heb ik helemaal 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 er eerder was"... waar is het allemaal gebleven?

Ik was onder andere verrast door het feit van “technische spraakzaamheid”: er worden zoveel regels weergegeven dat ze aan het einde zeggen: “deze software is niet beschikbaar.”

Probleem #5: verschillende ruwe randen die moeten worden gecorrigeerd

Schakel tussen applicaties

Het is saai zonder alt+tab om van applicatie te wisselen. Ctrl+tab werkt, maar op de een of andere manier scheef.

Tip voor ontwikkelaars: als ik de Windows-indeling inschakel, wisselen Cmd en Ctrl van plaats en wordt alt+Tab vertrouwd. Maar ik wil me als een Mac voelen terwijl ik een pc-toetsenbord gebruik!

Opmerking van de ontwikkelaars: "Het omschakelen van ctrl+tab naar alt+tab zal sommige gebruikers verrassen." Eenvoudige oplossing: schakel beide in! (als Mac-, Windows- en Linux-gebruiker met Gnome, KDE, Xfce weet ik nog steeds niet wat ik kan verwachten).

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
Van applicatie wisselen via ctrl+tab met Twitcher. Op sommige plekken komt het voor, soms niet de eerste keer

Wat nog erger is: ctrl+tab toont soms een venster met applicatiepictogrammen, en soms niet. De volgorde van het schakelen tussen applicaties lijkt onder andere willekeurig: StyledEdit-WebPositive-terug StyledEdit-WebPositive-StyledEdit-venster met applicatiepictogrammen... Softwarefout? (Weet iemand of er een GIF-opnametool voor Haiku bestaat?) Wijziging: Dit is een functie, geen bug.

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

shortcuts

Als we het hebben over sneltoetsen, dan zul je, zodra je je realiseert dat alles vergelijkbaar is met de Mac, automatisch proberen de gebruikelijke sneltoetsen te gebruiken... Bijvoorbeeld in de velden "Openen..." en "Opslaan als...". dialoogvensters, ik wil op alt+d drukken voor de “werkende” directorytabel”, enzovoort.

De ontwikkelaars “hebben de mogelijkheid om dit” “toe te voegen aan het verbeteringsverzoek voor de bestandsdialoog.” Ik zou een dergelijk verzoek indienen als er een lokale issue-tracker was op GitHub of GitLab, waar ik accounts heb.

Maar zoals ik eerder heb uitgelegd, kan ik me niet in hun systeem registreren. (Zoals je misschien al geraden hebt, wil ik het gemak benadrukken van het werken met deze dingen bij het gebruik van openbare diensten zoals GitHub of GitLab). Wijziging: https://dev.haiku-os.org/ticket/15148

Inconsistenties

Qt-applicaties en native applicaties verschillen in gedrag. U kunt bijvoorbeeld het laatste woord verwijderen met alt+backspace in Qt-toepassingen, maar niet in oorspronkelijke toepassingen. Er kunnen nog andere verschillen zijn bij het bewerken van tekst. Ik zou graag zien dat dergelijke inconsistenties worden verwijderd.

Correctie: ik was nog niet klaar met het schrijven van dit artikel (ik liet het eerst op het Haiku-ontwikkelaarskanaal zien om commentaar te verzamelen) toen bleek dat deze discrepantie was verholpen! Ongelooflijk! Wat ben ik dol op open source-projecten! Bedankt, Kasper Kasper!

Opmerkingen

Ik leer nog steeds Haiku en het blijft indruk op mij maken. Hoewel ik me vandaag heb geconcentreerd op het beschrijven van de ergernissen, kan ik het niet laten je eraan te herinneren waarom dit besturingssysteem zo intrigerend is. Hieronder vindt u enkele voorbeelden. Gewoon een herinnering om te zien hoe Haiku dingen doet die conceptueel correct zijn.

Als je dubbelklikt op een uitvoerbaar bestand dat niet over de vereiste bibliotheken beschikt, zie je niets in Linux. Haiku zal een mooie grafische dialoog weergeven met informatie over het probleem. Ik droom al heel lang over dit soort dingen in Linux, en ik ben nog steeds blij dat het goed wordt gedaan in Haiku. Dit voorbeeld laat zien dat het besturingssysteem op alle niveaus consistent is. Het resultaat is elegantie, schoonheid en eenvoud, zelfs als het om foutafhandeling gaat.

Een fascinerende blik onder de motorkap.

In de QuickLaunch-documentatie staat:

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

  • De toepassing bevindt zich niet op een BeFS-partitie, of de BeFS-partitie is niet geformatteerd om query's te ondersteunen.
  • De toepassing heeft niet het juiste BEOS:APP_SIG-kenmerk. Vraag in dit geval de applicatie-ontwikkelaar om het toe te voegen, of probeer het volgende
    Dit advies: als u een applicatie of script gebruikt die niet wordt weergegeven in QuickLaunch (en zich op een beschrijfbare locatie bevindt), probeer dan deze attributen toe te voegen in de terminal.

    addattr BEOS:TYPE application/x-vnd.Be-elfexecutable /pad/naar/uw/app-of-script

    addattr BEOS:APP_SIG application/x-vnd.anything-unique /pad/naar/uw/app-of-script

Dit geeft enig inzicht in hoe magie zoals Launch Services, die ik blijf bewonderen, daadwerkelijk werkt (en die volledig afwezig is in werkomgevingen op Linux).

Niet minder spannend is “Open met...”

Selecteer een bestand, druk op alt+I en vervolgens kunt u op het informatiescherm kiezen welke applicatie een bepaald bestand kan openen.

Mijn tweede dag met Haiku: opgetogen, maar nog niet klaar om over te stappen
In Haiku kan ik de applicatie overschrijven om een ​​specifiek bestand te openen. Koel?

Dit werkt allemaal, zelfs als de bestandsnaamextensie ontbreekt, en ik kan eindelijk verschillende bestanden van hetzelfde type in verschillende applicaties openen, wat erg moeilijk, zo niet bijna onmogelijk is, in Linux-desktopomgevingen.

Conclusie

Zoals ik gisteren schreef, opende Haiku mijn ogen en liet me zien hoe een werkomgeving ‘gewoon kan werken’. De tweede dag ontdekte ik ook een aantal zaken die duidelijk verbetering behoefden.

Geen van hen zal stoppen met werken. Ik ben erg enthousiast over de toekomst van dit persoonlijke desktopbesturingssysteem. Dit is een welkome ontwikkeling buiten de "Linux-desktopomgevingen" die ernstige problemen blijven vertonen die in de nabije toekomst niet kunnen worden opgelost. architectonische problemen.

Ik hoop op Haiku.

Probeer het zelf! Het Haiku-project levert immers gegenereerde afbeeldingen voor het opstarten vanaf dvd of USB dagelijks. Om te installeren hoeft u alleen maar de afbeelding te downloaden en deze naar een flashstation te schrijven met behulp van etser

Heb je nog vragen? Wij nodigen u uit voor de Russischtalige telegramkanaal.

Foutoverzicht: Hoe je jezelf in de voet schiet in C en C++. Haiku OS-receptenverzameling

Van de auteur van de vertaling: dit is het tweede artikel in de serie over Haiku.

Lijst met artikelen: eerste

Bron: www.habr.com

Voeg een reactie