
TL;DR: może stać się wspaniałym systemem operacyjnym na biurko z otwartym kodem źródłowym. Naprawdę tego pragnę, ale wymaga to jeszcze wielu poprawek.
, zaskakująco dobry system operacyjny. Teraz jest trzeci dzień, a tak bardzo mi się podoba, że nieustannie myślę, jak uczynić ją systemem operacyjnym na co dzień? Jeśli chodzi o ogólne pomysły, bardziej podoba mi się Mac, ale niestety: jest on dostarczany bez otwartego kodu źródłowego i trzeba szukać alternatyw z otwartym kodem.
W ciągu ostatnich 10 lat zazwyczaj oznaczało to Linux, ale on również ma swój .

System operacyjny Haiku, zaprezentowany na DistroTube.
Wypróbowałem Haiku, jak tylko się o niej dowiedziałem, byłem od razu pod wrażeniem — zwłaszcza środowiska graficznego, które "po prostu działa", a także wyraźnie przewyższa wszelkie środowiska graficzne dla Linuxa, które znam koncepcyjnie. Chcę, chcę, chcę!!!
Zobaczmy na trzeci dzień rzeczywistą pracę!
Brakujące aplikacje
Dostępność aplikacji to dość "decydujący" aspekt każdego systemu operacyjnego, tematyka. Jeśli mowa o Haiku, wiemy, że w większości przypadków dostępne są różne opcje.
Jednakże nadal nie mogę znaleźć aplikacji do moich codziennych potrzeb:
- edytor znaczników (np. ). Oczywiście, jest , ale wydaje się, że nie ma ani przycisków, ani skrótów klawiszowych do formatowania tekstu. Jest też , ale on do formatowania tekstu jako kodu inline lub bloku kodu.
- nagrywanie ekranu w animowanym GIF (np. ). Jest BeScreenCapture, ale on tego nie umie.
- Oprogramowanie dla drukarek 3D (np. , ).
- 3D CAD (np. , , lub wbudowane w ). Jest LibreCAD, ale on obsługuje tylko 2D.
Model rozwoju
Czego potrzebuje Haiku, aby odnieść sukces, z punktu widzenia dostępnych aplikacji? Oczywiście, przyciągnąć programistów.
Obecnie zespół deweloperów Haiku wykonał ogromną pracę nad wdrażaniem różnych popularnych aplikacji, jednak dla pełnego sukcesu platformy potrzebna jest możliwość łatwego tworzenia wersji aplikacji dla Haiku. Budowanie aplikacji dla Haiku powinno być, w idealnym przypadku, kolejną opcją w istniejącym macierze budowy Travis CI lub GitLab CI. Jak jednak firma taka jak Ultimaker, twórca popularnego oprogramowania Cura dla drukarek 3D z otwartym kodem, zdecyduje się na budowanie swoich aplikacji dla Haiku?
Jestem przekonany, że klasyczne podejście z „wsparciem”, które zbiera i utrzymuje pakiety dla danej dystrybucji Linuksa, nie skaluje się przy długiej liście aplikacji. Można się spierać, czy oprogramowanie dla drukarek 3D znajduje się na tej liście, ale na przykład oprogramowanie do organizacji harmonogramu konkretnej szkoły - znajduje się. Co Haiku oferuje dla takich aplikacji? (Zwykle są napisane z zastosowaniem , dostępne dla wszystkich systemów operacyjnych, pod Linuksem najczęściej obudowane w , co oznacza dostarczenie wszystkim użytkownikom bez żadnych problemów).
LibreOffice
Jasne jest, że posiadanie LibreOffice dla Haiku to nie lada wyczyn, o którym użytkownicy BeOS mogli tylko marzyć, jednak nie wszystko jest idealne.
W moim przypadku (pendrive Kingston Technology DataTraveler 100 USB) uruchomienie trwa około 30 sekund, a deweloperzy zasugerowali, że normalne uruchomienie aplikacji nie powinno przekraczać 4-5 sekund (w przypadku korzystania z normalnego dysku twardego [na moim SSD wszystko uruchamiało się w mniej niż sekundę, — przyp. tłumacza]).
Chciałbym w jakiś sposób zobaczyć postęp uruchamiania dużej aplikacji, na przykład „skaczącą ikonę”, zmianę kursora, lub coś w tym stylu. Zrzut ekranu LibreOffice pojawia się dopiero po kilku sekundach, a wcześniej nie wiesz, co się dzieje.

Skaczące ikony aplikacji jako oznaka, że aplikacje są uruchomione.
- Skróty klawiaturowe wyświetlane w menu są błędne (na przykład napisane Ctrl+O, a w rzeczywistości Alt+O, sprawdziłem: Alt+O działa, a Ctrl+O — nie).
- Alt+Z nie działa (na przykład w Writer).
- Problem "Aplikacja LibreOffice zakończyła proces zamykania" [tak miało być, — przyp. tłumacza].
Czas uruchamiania aplikacji
UWAGA: proszę traktować tę sekcję z pewnym dystansem. Wydajność jest naprawdę świetna, jeśli polegać na opiniach innych. Moje wyniki znacznie się różnią… podejrzewam, że szczegóły mojego ustawienia i przeprowadzone dotąd pomiary są antynaukowe. Będę aktualizować tę sekcję w miarę pojawiania się nowych pomysłów / wyników.
Wydajność uruchamiania (nie natywnych) aplikacji… nie jest zbyt duża, różnica wynosi około 4-10 razy. Jak można zauważyć, tylko 1 rdzeń procesora był używany podczas uruchamiania nienatywnych aplikacji, z nieznanego mi powodu.

Jak widzę czas uruchamiania aplikacji.
Uruchomienie zajmuje około 40 sekund na pendrive Kingston Technology DataTraveler 100 podłączonym do portu USB2.0 (uruchomienie Krita AppImage zajmuje ułamek sekundy na Xubuntu Linux Live ISO przez USB2; potrzebne są dalsze testy). Korekta: Około 13 sekund na SATA SSD z wyłączonym ACPI.
Uruchomienie zajmuje 30 sekund na pendrive Kingston Technology DataTraveler G4, podłączonym do portu USB2.0 (ułamek sekundy na Xubuntu Linux Live ISO przez USB 2; potrzebne są dalsze testy). Korekta: Mniej niż 3 sekundy na SATA SSD z wyłączonym ACPI.
Słyszałem również, że najnowsze opracowania poprawią wydajność na SSD więcej niż 10 razy. Czekam z zapartym tchem.
Inni recenzenci ciągle chwalą Haiku za sprawną pracę. Ciekawe, co jest nie tak z moim systemem? Korekta: tak, ACPI w moim systemie jest uszkodzone; jeśli je wyłączyć — system działa szybciej.
Przeprowadziłem kilka testów.
#
# 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/sDla pełnej przejrzystości sprawdziłem wszystko na dwóch różnych maszynach z Linuxem i Haiku. Jeśli trzeba — powtórzę testy na podobnej maszynie. Wciąż niejasne dlaczego aplikacje uruchamiają się wolniej niż przez usb2.0 na Linuxie. Aktualizacja: w syslog tej maszyny jest wiele błędów związanych z USB. Tak więc powyższe wyniki mogą być nietypowe dla Haiku jako całości.
Jak mówi znane przysłowie: nie możesz zmierzyć — to nie zarządzasz. A skoro jest chęć poprawienia wydajności, to myślę, że zestaw testów jest na miejscu 🙂
Kombinacje klawiszy
Dla przechodzących z innych systemów operacyjnych, Haiku radzi sobie świetnie, jeśli chodzi o skróty klawiszowe. Osobiście najbardziej lubię skróty w stylu Mac, kiedy trzymam klawisz po lewej stronie od spacji („Ctrl” na klawiaturach Apple, „Alt” na innych) podczas wpisywania litery lub cyfry. Ponieważ Haiku naprawdę dobrze radzi sobie w tej dziedzinie, czuję, że można rozważyć następujące opcje:
Skróty klawiszowe na pulpicie i dla niego
Podoba mi się, że mogę kliknąć ikonę i nacisnąć Alt-O, aby ją otworzyć, lub użyć bardziej tradycyjnego skrótu Alt-w dół.
Podobnie byłoby dobrze, gdyby do przenoszenia pliku do kosza można było nacisnąć Alt-Backspace, oprócz Alt-T.
Aby wyświetlić pulpit: dobrze byłoby zastosować Alt-H — aby „Ukryć”, oraz Shift-Alt-H — aby „Ukryć wszystko”. A może przydałby się skrót Shift-Alt-D — aby „Pokaż pulpit”.
Skróty w oknach dialogowych
Otwieram StyledEdit, wpisuję tekst. Naciskam Alt-Q. Program pyta, czy zapisać. Naciskam Alt-D, aby „Nie zapisywać”, Alt-C dla „Anuluj”. Ale to nie działa. Próbuję użyć klawiszy strzałek, aby wybrać przycisk. Też nie działa. Powtarzam te same czynności w aplikacji opartej na Qt. Tutaj przynajmniej klawisze strzałek działają, aby wybrać przycisk. (Klawisze sterujące do wyboru przycisków były początkowo używane w Mac OS X, ale wydaje się, że deweloperzy zapomnieli o tej opcji od tamtej pory.)
Skróty do robienia zrzutów ekranu
Byłoby świetnie, gdyby można było nacisnąć Alt-Shift-3, aby zrobić zrzut całego ekranu, Alt-Shift-4, aby pojawił się kursor pozwalający wybrać obszar ekranu, oraz Alt-Shift-5 dla aktualnego aktywnego okna z jego układem.
Ciekawe, czy taka możliwość jest konfigurowana ręcznie, ale prawdopodobnie jest to niemożliwe. Przynajmniej moja próba nie odniosła rezultatu [trzeba było spróbować owinąć to w skrypt! — przyp. tłumacza].
Prawie. Ale nie do końca. Ignorowane jest „-bw”, plus potrzebne są dodatkowe ustawienia domyślne.
Inne rzeczy na klawiaturze
Czuć dbałość deweloperów, więc kontynuuję opisywanie swojego doświadczenia związane z klawiaturą w Haiku.
Nie można wprowadzić symboli narodowych
Symbol „`” jest specjalny, może być częścią innego symbolu (na przykład „e”) lub samodzielny. W różnych systemach operacyjnych jego obsługa również się różni. Na przykład nie mogę wprowadzić tego symbolu na niemieckiej klawiaturze w KWrite; gdy próbuję go wprowadzić — nic nie dzieje się. Wprowadzenie tego samego symbolu w QupZilla daje „>>”. W natywnych aplikacjach symbol jest wprowadzany, ale trzeba go nacisnąć dwa razy, aby się pojawił. Aby wprowadzić go trzy razy (jest to zazwyczaj wymagane podczas formatowania bloków kodu, tak go ciągle wprowadzam), trzeba nacisnąć przycisk sześć razy. W Mac sytuacja jest obsługiwana bardziej inteligentnie (wystarczą trzy naciśnięcia, zachowując zwykłe wprowadzanie diakrytycznych symboli).
Aplikacje Java
Brakuje JavaFX? Na pomoc przychodzi Java, prawda? Ale nie do końca:
pkgman install openjdk12_default
/> java -jar /Haiku/home/Desktop/MyMarkdown.jar
Błąd: Nie można znaleźć lub załadować głównej klasy Main
Przyczyna: java.lang.NoClassDefFoundError: javafx/application/ApplicationPójdźmy inną drogą:
/> /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/ApplicationOkazuje się, że w rzeczywistości aplikacje na Java nie są tak przenośne, jak obiecuje reklama. Czy JavaFX jest dostępne dla Haiku? Jeśli tak — dlaczego nie jest instalowane razem z openjdk12_default?
Nie działa podwójne kliknięcie na pliku jar
Zdziwiony, że Haiku nie ma pojęcia, jak obsługiwać podwójne kliknięcie na plik .jar.
Bash zachowuje się dziwnie
Ponieważ jest bash, oczekiwano, że potoki będą działać:
/> listusb -vv > listusb.txt
bash: listusb.txt: Invalid ArgumentPodsumowanie
Dlaczego piszę te artykuły? Moim zdaniem światu naprawdę potrzeba systemu operacyjnego z otwartym kodem źródłowym, takiego jak Haiku, wyraźnie nastawionego na PC, a także dlatego, że coraz bardziej irytuje mnie fakt, że środowiska pracy dla Linuxa . Nie twierdzę, że do stworzenia pożądanego środowiska użytkownika dla PC potrzeba zupełnie innego jądra lub można uzyskać podobne środowisko na jądrze Linux, ale interesuje mnie, co na ten temat powiedzą eksperci od jąder. A na razie po prostu bawię się Haiku i robię notatki w nadziei, że będą one przydatne dla deweloperów Haiku i/lub zainteresowanej publiczności.
Spróbuj sam! Projekt Haiku udostępnia obrazy do uruchamiania z DVD lub USB, tworzone . Aby zainstalować, wystarczy pobrać obraz i nagrać go na pendrive'a za pomocą .
Masz pytania? Zapraszamy do naszego rosyjskojęzycznego .
Przegląd błędów:
Od tłumaczenia: to trzeci artykuł z cyklu o Haiku.
Lista artykułów: , .
Źródło: habr.com
