Mijn derde dag met Haiku: er begint zich een compleet beeld te vormen

Mijn derde dag met Haiku: er begint zich een compleet beeld te vormen
TL; DR: Haiku zou een geweldig open source desktopbesturingssysteem kunnen zijn. Ik wil dit heel graag, maar er zijn nog veel verbeteringen nodig.

Ik heb twee dagen Haiku bestudeerd, een onverwacht goed besturingssysteem. Nu is het de derde dag en ik vind dit besturingssysteem zo leuk dat ik voortdurend denk: hoe kan ik er een besturingssysteem voor elke dag van maken? In termen van algemene ideeën vind ik de Mac beter, maar hier is het probleem: hij is niet open source en je moet op zoek gaan naar open source-alternatieven.

De afgelopen tien jaar betekende dit meestal Linux, maar het heeft ook zijn eigen Linux reeks problemen.

Haiku-besturingssysteem op DistroTube.

Ik probeerde Haiku zodra ik erover hoorde en was meteen onder de indruk - vooral met een desktopomgeving die "gewoon werkt" en ook duidelijk veel superieur is aan elke Linux-desktopomgeving die ik conceptueel ken. Wil Wil Wil!!!

Laten we het echte werk op de derde dag zien!

Ontbrekende applicaties

Beschikbaarheid van applicaties is een zeer “noodlottig” aspect van elk besturingssysteem, oud onderwerp. Omdat we het over Haiku hebben, weet ik dat er voor de meeste gevallen verschillende opties beschikbaar zijn.

Ik kan echter nog steeds geen apps vinden voor mijn dagelijkse behoeften:

Ontwikkelingsmodel

Wat heeft Haiku nodig om te slagen in termen van beschikbare toepassingen? Trek natuurlijk ontwikkelaars aan.

Momenteel heeft het Haiku-ontwikkelteam zeker uitstekend werk geleverd door verschillende populaire applicaties te introduceren, maar voor volledig succes als platform moet het in staat zijn om eenvoudig versies van applicaties voor Haiku te maken. Het bouwen van een applicatie voor Haiku zou idealiter een andere optie moeten zijn in een bestaande Travis CI- of GitLab CI-buildmatrix. Dus hoe zou een bedrijf als Ultimaker, maker van de populaire open source 3D-printersoftware Cura, hun apps voor Haiku gaan bouwen?

Ik ben ervan overtuigd dat de klassieke 'maintainer'-benadering, waarbij pakketten voor een specifieke Linux-distributie worden gebouwd en onderhouden, niet schaalbaar is met een grote lijst aan applicaties. Het is de vraag of software voor 3D-printers op deze lijst staat, maar bijvoorbeeld software voor het organiseren van een specifieke schoolrooster wel. Wat biedt Haiku voor dergelijke toepassingen? (Ze worden meestal geschreven met Elektron, zijn beschikbaar voor alle besturingssystemen, onder Linux zijn ze meestal ingepakt AppImage, wat betekent dat de levering aan alle gebruikers zonder problemen verloopt).

LibreOffice

Het is duidelijk dat het beschikbaar hebben van LibreOffice voor Haiku geen geringe prestatie is waar BeOS-gebruikers alleen maar van konden dromen, maar niet alles is perfect.

In mijn geval (Kingston Technology DataTraveler 100 USB-stick) duurt het ongeveer 30 seconden om op te starten, en de ontwikkelaars suggereerden dat het normaal starten van de applicatie niet langer dan 4-5 seconden zou mogen duren (bij gebruik van een gewone harde schijf [op mijn SSD begon alles in minder dan een seconde - ongeveer. vertaler]).

Ik zou op de een of andere manier graag de voortgang willen zien van het starten van een grote applicatie, bijvoorbeeld een "springend pictogram", het veranderen van de cursor of iets dergelijks. Het opstartscherm van LibreOffice verschijnt pas na een paar seconden en tot die tijd heeft u geen idee wat er gebeurt.

Mijn derde dag met Haiku: er begint zich een compleet beeld te vormen
Stuiterende applicatiepictogrammen zijn een teken dat applicaties actief zijn.

  • De sneltoetsen die in het menu worden weergegeven, zijn onjuist (ondertekend met Ctrl+O, maar in feite Alt+O, ik heb gecontroleerd: Alt+O werkt, maar Ctrl+O niet).
  • Alt+Z werkt niet (bijvoorbeeld in Writer).
  • Probleem “Applicatie LibreOffice heeft het afsluitproces afgebroken” [Zo was het bedoeld”, ca. vertaler].

Starttijd van de applicatie

OPMERKING: Neem dit gedeelte met een korreltje zout. De prestaties zijn eigenlijk uitstekend als je afgaat op de mening van anderen. Mijn resultaten zijn heel verschillend... Ik neem aan dat de kenmerken van mijn opstelling en de tot nu toe gemaakte metingen onwetenschappelijk zijn. Ik zal deze sectie bijwerken zodra er nieuwe ideeën/resultaten naar voren komen.

De prestaties van actieve (niet-native) applicaties... zijn niet zo geweldig, het verschil is ongeveer 4-10 keer. Zoals je kunt zien, werd er slechts 1 processorkern gebruikt bij het draaien van niet-native applicaties, om een ​​voor mij onbekende reden.

Mijn derde dag met Haiku: er begint zich een compleet beeld te vormen
Hoe ik de snelheid van het starten van applicaties zie.

  • lancering Krita duurt ongeveer 40 seconden op een Kingston Technology DataTraveler 100-flashdrive aangesloten op een USB2.0-poort (het starten van Krita AppImage duurt een fractie van een seconde op een Xubuntu Linux Live ISO via USB2; er zijn meer tests nodig). Correctie: ongeveer 13 seconden op een SATA SSD met ACPI uitgeschakeld.

  • lancering LibreOffice duurt 30 seconden op een Kingston Technology DataTraveler G4-flashdrive aangesloten op USB2.0 (fractie van een seconde op Xubuntu Linux Live ISO via USB 2; meer tests nodig) Correctie: minder dan 3 seconden op een SATA SSD met ACPI uitgeschakeld.

Ik heb ook gehoord dat de nieuwste ontwikkelingen de prestaties op SSD's ruim tien keer zullen verbeteren. Ik wacht met ingehouden adem.

Andere recensenten prijzen consequent de pittige prestaties van Haiku. Ik vraag me af wat er mis is met mijn systeem? Correctie: ja, ACPI is kapot op mijn systeem; Als u deze uitschakelt, werkt het systeem sneller.

Ik heb wat tests gedaan.

# 
# Linux
#
me@host:~$ sudo dmidecode
(...)
Handle 0x0100, DMI type 1, 27 bytes
System Information
 Manufacturer: Dell Inc.
 Product Name: OptiPlex 780
​me@host:~$ lsusb
Bus 010 Device 006: ID 0951:1666 Kingston Technology DataTraveler 100
# On a USB 2 port
me@host:~$ sudo dd if=/dev/sdc1 of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 7.03517 s, 38.2 MB/s
# On a USB 3 port
me@host:~$ sudo dd if=/dev/sdc1 of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 2.08661 s, 129 MB/s
#
# Haiku - the exact same USB stick
#
/> dmidecode
# dmidecode 3.2
Scanning /dev/misc/mem for entry point.
# No SMBIOS nor DMI entry point found, sorry.
# On a USB 2 port
/> dd if=/dev/disk/usb/1/0/raw of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 7.44154 s, 36.1 MB/s
# On a USB 3 port
/> dd if=/dev/disk/usb/1/0/raw of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 7.47245 s, 35.9 MB/s

Voor volledige transparantie heb ik alles op twee verschillende machines getest met Linux en Haiku. Indien nodig herhaal ik de tests op een vergelijkbare machine. Het is nog steeds niet duidelijk waarom applicaties langzamer starten dan via usb2.0 op Linux. Update: er zijn veel USB-gerelateerde fouten in de syslog van deze machine. De bovenstaande resultaten zijn dus mogelijk niet typisch voor Haiku als geheel.

Zoals het bekende gezegde luidt: als je niet kunt meten, kun je ook niet beheren. En als er een wens is om de prestaties te verbeteren, dan denk ik dat de testsuite in orde is :)

Toetsenbord sneltoetsen

Voor overlopers van andere besturingssystemen is Haiku geweldig als het gaat om sneltoetsen. Mijn persoonlijke favoriet zijn de sneltoetsen in Mac-stijl, waarbij je de toets links van de spatiebalk ingedrukt houdt (Ctrl op Apple-toetsenborden, Alt op andere) terwijl je een letter of cijfer typt. Omdat Haiku op dit gebied heel goed werk levert, denk ik dat de volgende opties kunnen worden overwogen:

Sneltoetsen voor en op het bureaublad

Ik vind het leuk dat je op een pictogram kunt klikken en op Alt-O kunt drukken om het te openen, of de meer traditionele Alt-Down-snelkoppeling kunt gebruiken.

Op dezelfde manier zou het fijn zijn als je naast Alt-T ook op Alt-Backspace kunt drukken om een ​​bestand naar de prullenbak te verplaatsen.

Om het bureaublad weer te geven: het zou een goed idee zijn om Alt-H te gebruiken voor “Verbergen” en Shift-Alt-H voor “Alles verbergen”. En misschien is het een goed idee om de combinatie Shift-Alt-D in te voeren bij “Bureaublad weergeven”.

Snelkoppelingen in dialoogvensters

Ik open StyledEdit en voer tekst in. Ik druk op Alt-Q. Het programma vraagt ​​of het opgeslagen moet worden. Ik druk op Alt-D voor “Niet opslaan”, Alt-C voor “Annuleren”. Maar het werkt niet. Ik probeer de pijltjestoetsen te gebruiken om een ​​knop te selecteren. Het werkt ook niet. Ik herhaal dezelfde stappen in een op Qt gebaseerde applicatie. Hier werken op zijn minst de pijltjestoetsen om een ​​knop te selecteren. (Bedieningstoetsen voor het selecteren van knoppen werden oorspronkelijk gebruikt in Mac OS X, maar ontwikkelaars lijken deze functie sindsdien te zijn vergeten.)

Snelkoppelingen voor het maken van schermafbeeldingen

Het zou geweldig zijn als je op Alt-Shift-3 zou kunnen drukken om een ​​screenshot van het hele scherm te maken, Alt-Shift-4 om een ​​cursor weer te geven waarmee je een deel van het scherm kunt selecteren, en Alt-Shift- 5 om het huidige actieve venster en zijn uiterlijk weer te geven.

Ik vraag me af of dit handmatig kan worden geconfigureerd, maar hoogstwaarschijnlijk is dit onmogelijk. Althans, zo'n poging werkte bij mij niet [Ik had moeten proberen het in een script te verpakken! — ca. vertaler].

Mijn derde dag met Haiku: er begint zich een compleet beeld te vormen
Bijna. Maar niet echt. "-bw" wordt genegeerd en er zijn aanvullende standaardinstellingen nodig.

Andere dingen op het toetsenbord

Ik voel de bezorgdheid van de ontwikkelaars, dus ik zal mijn ervaring met het toetsenbord in Haiku blijven beschrijven.

Kan geen nationale karakters invoeren

Het teken ‘`’ is speciaal; het kan deel uitmaken van een ander teken (bijvoorbeeld ‘e’) of onafhankelijk zijn. De verwerking ervan verschilt ook in verschillende besturingssystemen. Ik kan bijvoorbeeld een bepaald teken niet invoeren op een Duits toetsenbord in KWrite; als u het probeert in te voeren, gebeurt er niets. Wanneer u hetzelfde teken invoert in QupZilla, krijgt u “>>”. In native applicaties wordt het symbool ingevoerd, maar u moet erop dubbeltikken om het te laten verschijnen. Om het drie keer in te voeren (meestal is dit nodig bij het markeren van codeblokken, ik typ het de hele tijd op deze manier), moet je zes keer op de knop drukken. Op Mac wordt de situatie intelligenter afgehandeld (drie klikken zijn voldoende terwijl de gebruikelijke diakritische tekens behouden blijven).

Java-applicaties

JavaFX gemist? Java komt te hulp, nietwaar? Nou ja, niet helemaal:

pkgman install openjdk12_default
/> java -jar /Haiku/home/Desktop/MyMarkdown.jar
Error: Could not find or load main class Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

Laten we de andere kant op gaan:

/> /Haiku/home/Desktop/markdown-writer-fx-0.12/bin/markdown-writer-fx
Error: Could not find or load main class org.markdownwriterfx.MarkdownWriterFXApp
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

Het blijkt dat Java-applicaties in het echte leven niet zo draagbaar zijn als ze in advertenties beloven. Is er JavaFX voor Haiku? Zo ja, waarom wordt het niet geïnstalleerd met openjdk12_default?

Dubbelklikken op jar-bestand werkt niet

Het verbaast me dat Haiku geen idee heeft hoe hij moet omgaan met een dubbelklik op een .jar-bestand.

Bash gedraagt ​​zich vreemd

Aangezien er bash, er werd verwacht dat pijpen zouden werken:

/> listusb -vv > listusb.txt
bash: listusb.txt: Invalid Argument

Conclusie

Waarom schrijf ik deze artikelen? Naar mijn mening heeft de wereld echt behoefte aan een open source besturingssysteem als Haiku dat duidelijk pc-gericht is, en ook omdat ik me steeds meer erger aan het feit dat desktopomgevingen voor Linux werken niet samen. Ik beweer niet dat er een compleet andere kernel nodig is om de gewenste gebruikersomgeving voor een pc te creëren, of dat het mogelijk is om een ​​vergelijkbare omgeving bovenop de Linux-kernel te krijgen, maar ik ben geïnteresseerd in wat kernelexperts te zeggen hebben hierover. Voorlopig ben ik alleen maar aan het rommelen met Haiku en maak ik aantekeningen in de hoop dat ze nuttig zullen zijn voor Haiku-ontwikkelaars en/of het geïnteresseerde publiek.

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 auteur vertaling: dit is het derde artikel in de serie over Haiku.

Lijst met artikelen: eerste, Het tweede.

Bron: www.habr.com

Voeg een reactie