Mój trzeci dzień z Haiku: zaczyna się wyłaniać pełny obraz

Mój trzeci dzień z Haiku: zaczyna się wyłaniać pełny obraz
TL; DR: Haiku mógłby być świetnym systemem operacyjnym typu open source dla komputerów stacjonarnych. Naprawdę tego chcę, ale nadal potrzeba wielu poprawek.

Od dwóch dni uczę się Haiku, nieoczekiwanie dobry system operacyjny. To już trzeci dzień, a ten system operacyjny podoba mi się tak bardzo, że ciągle myślę: jak sprawić, by był to system operacyjny na co dzień? Jeśli chodzi o ogólne pomysły, bardziej podoba mi się Mac, ale tutaj jest problem: nie jest to oprogramowanie typu open source i trzeba szukać alternatyw typu open source.

Przez ostatnie 10 lat najczęściej oznaczało to Linuksa, ale ma też swój własny zestaw problemów.

System operacyjny Haiku prezentowany na DistroTube.

Wypróbowałem Haiku, gdy tylko o tym usłyszałem, i od razu byłem pod wrażeniem - szczególnie ze środowiskiem graficznym, które „po prostu działa”, a także wyraźnie znacznie lepszym od jakiegokolwiek środowiska graficznego Linuksa, które znam pod względem koncepcyjnym. Chcę, chcę, chcę!!!

Prawdziwą pracę zobaczymy już trzeciego dnia!

Brakujące aplikacje

Dostępność aplikacji jest bardzo „fatalnym” aspektem każdego systemu operacyjnego, stary temat. Ponieważ mówimy o Haiku, wiem, że w większości przypadków dostępne są różne opcje.

Jednak nadal nie mogę znaleźć aplikacji spełniających moje codzienne potrzeby:

Model rozwoju

Czego potrzebuje Haiku, aby odnieść sukces pod względem dostępnych aplikacji? Oczywiście, przyciągnij programistów.

Obecnie zespół programistów Haiku z pewnością wykonał świetną robotę, wprowadzając różne popularne aplikacje, ale aby w pełni odnieść sukces jako platforma, musi mieć możliwość łatwego tworzenia wersji aplikacji dla Haiku. Idealnie byłoby, gdyby budowanie aplikacji dla Haiku było kolejną opcją w istniejącej macierzy kompilacji Travis CI lub GitLab CI. Jak więc firma taka jak Ultimaker, twórca popularnego oprogramowania do drukarek 3D o otwartym kodzie źródłowym Cura, mogłaby zająć się tworzeniem swoich aplikacji dla Haiku?

Jestem przekonany, że klasyczne podejście „opiekuna”, które buduje i utrzymuje pakiety dla konkretnej dystrybucji Linuksa, nie skaluje się w przypadku dużej listy aplikacji. Dyskusyjne jest, czy na tej liście znajduje się oprogramowanie do drukarek 3D, ale na przykład oprogramowanie do organizowania harmonogramu zajęć w konkretnej szkole. Co oferuje Haiku dla takich zastosowań? (Zwykle są zapisywane przy użyciu Elektron, są dostępne dla wszystkich systemów operacyjnych, pod Linuksem są najczęściej opakowane AppImageco oznacza dostawę do wszystkich użytkowników bez żadnych problemów).

LibreOffice

Oczywiste jest, że udostępnienie LibreOffice dla Haiku to niemały wyczyn, o którym użytkownicy BeOS mogą tylko marzyć, ale nie wszystko jest idealne.

W moim przypadku (pamięć USB Kingston Technology DataTraveler 100) uruchomienie zajmuje około 30 sekund, a twórcy zasugerowali, że normalne uruchomienie aplikacji nie powinno przekraczać 4-5 sekund (w przypadku korzystania ze zwykłego dysku twardego [na moim dysku SSD wszystko zaczęło się w mniej niż sekundę - ok. tłumacz)].

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. Ekran powitalny LibreOffice pojawia się dopiero po kilku sekundach i do tego czasu nie masz pojęcia, co się dzieje.

Mój trzeci dzień z Haiku: zaczyna się wyłaniać pełny obraz
Odbijanie ikon aplikacji jako znak, że aplikacje są uruchomione.

  • Skróty klawiaturowe pokazane w menu są nieprawidłowe (podpisane Ctrl+O, a właściwie Alt+O, sprawdziłem: Alt+O działa, ale Ctrl+O nie).
  • Alt+Z nie działa (na przykład w programie Writer).
  • Problem „Aplikacja LibreOffice przerwała proces zamykania” [Tak to właśnie zamierzono” – ok. tłumacz].

Czas uruchomienia aplikacji

UWAGA: Proszę potraktować tę sekcję z przymrużeniem oka. Wydajność jest naprawdę doskonała, jeśli polegasz na opiniach innych osób. Moje wyniki są bardzo różne... Zakładam, że cechy mojego zestawu i dotychczasowe pomiary są nienaukowe. Będę aktualizować tę sekcję w miarę pojawiania się nowych pomysłów/wyników.

Wydajność uruchomionych (nienatywnych) aplikacji... nie jest zbyt duża, różnica jest około 4-10 razy. Jak widać, do uruchamiania nienatywnych aplikacji używany był tylko 1 rdzeń procesora, z nieznanego mi powodu.

Mój trzeci dzień z Haiku: zaczyna się wyłaniać pełny obraz
Jak widzę szybkość uruchamiania aplikacji.

  • szalupa Krita zajmuje około 40 sekund na dysku flash Kingston Technology DataTraveler 100 podłączonym do portu USB2.0 (uruchomienie Krita AppImage zajmuje ułamek sekundy na Xubuntu Linux Live ISO przez USB2; potrzeba więcej testów). Korekta: Około 13 sekund na dysku SSD SATA z wyłączonym ACPI.

  • szalupa LibreOffice zajmuje 30 sekund na dysku flash Kingston Technology DataTraveler G4 podłączonym do USB 2.0 (ułamek sekundy na Xubuntu Linux Live ISO przez USB 2; potrzeba więcej testów) Korekta: Mniej niż 3 sekundy na dysku SSD SATA z wyłączonym ACPI.

Słyszałem też, że najnowsze rozwiązania poprawią wydajność dysków SSD ponad 10-krotnie. Czekam z zapartym tchem.

Inni recenzenci niezmiennie chwalą porywający występ Haiku. Zastanawiam się, co jest nie tak z moim systemem? Korekta: tak, ACPI jest zepsute w moim systemie; Jeśli go wyłączysz, system będzie działał szybciej.

Zrobił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/s

Dla pełnej przejrzystości przetestowałem wszystko na dwóch różnych komputerach z Linuksem i Haiku. W razie potrzeby powtórzę testy na podobnej maszynie. Nadal nie jest jasne, dlaczego aplikacje uruchamiają się wolniej niż przez USB 2.0 w systemie Linux. Aktualizacja: w dzienniku syslog tego urządzenia znajduje się wiele błędów związanych z USB. Zatem powyższe wyniki mogą nie być typowe dla Haiku jako całości.

Jak mówi słynne powiedzenie: jeśli nie możesz mierzyć, nie możesz zarządzać. A jeśli istnieje potrzeba poprawy wydajności, myślę, że zestaw testów jest w porządku :)

Skróty klawiaturowe

Dla dezerterów z innych systemów operacyjnych Haiku jest świetne, jeśli chodzi o skróty klawiaturowe. Moimi ulubionymi są skróty klawiaturowe w stylu komputerów Mac, w których podczas wpisywania litery lub cyfry przytrzymuje się klawisz po lewej stronie spacji (Ctrl na klawiaturach Apple, Alt na innych). Ponieważ Haiku wykonuje naprawdę dobrą robotę w tej dziedzinie, uważam, że można rozważyć następujące opcje:

Skróty klawiaturowe na pulpicie i na nim

Podoba mi się, że możesz kliknąć ikonę i nacisnąć Alt-O, aby ją otworzyć, lub użyć bardziej tradycyjnego skrótu Alt-Down.

Podobnie byłoby miło, gdyby można było nacisnąć klawisze Alt-Backspace oprócz Alt-T, aby przenieść plik do Kosza.

Aby wyświetlić pulpit: dobrym pomysłem byłoby użycie Alt-H, aby „Ukryć” i Shift-Alt-H, aby „Ukryć wszystko”. A może dobrym pomysłem byłoby wprowadzenie kombinacji Shift-Alt-D na „Pokaż pulpit”.

Skróty w oknach dialogowych

Otwieram StyledEdit i wprowadzam tekst. Naciskam Alt-Q. Program zapyta czy zapisać. Naciskam Alt-D, aby „Nie zapisuj”, Alt-C, aby „Anuluj”. Ale to nie działa. Próbuję użyć klawiszy strzałek, aby wybrać przycisk. To też nie działa. Powtarzam te same kroki w aplikacji opartej na Qt. Tutaj przynajmniej klawisze strzałek służą do wybierania przycisku. (Klawisze sterujące służące do wybierania przycisków były pierwotnie używane w systemie Mac OS X, ale wydaje się, że od tego czasu programiści zapomnieli o tej funkcji.)

Skróty do robienia zrzutów ekranu

Byłoby wspaniale, gdybyś mógł nacisnąć Alt-Shift-3, aby zrobić zrzut ekranu całego ekranu, Alt-Shift-4, aby wyświetlić kursor, który pozwala wybrać obszar ekranu, i Alt-Shift- 5, aby wyświetlić aktualnie aktywne okno i jego wygląd.

Zastanawiam się, czy można to skonfigurować ręcznie, ale najprawdopodobniej jest to niemożliwe. Przynajmniej u mnie taka próba nie zadziałała [Powinienem był spróbować zawinąć to w skrypt! - około. tłumacz].

Mój trzeci dzień z Haiku: zaczyna się wyłaniać pełny obraz
Prawie. Ale nie naprawdę. „-bw” jest ignorowane i potrzebne są dodatkowe ustawienia domyślne.

Inne rzeczy na klawiaturze

Czuję zaniepokojenie twórców, dlatego będę nadal opisywał moje doświadczenia z klawiaturą w Haiku.

Nie można wprowadzać znaków narodowych

Znak „`” jest znakiem specjalnym; może stanowić część innego znaku (na przykład „e”) lub być niezależny. Jego przetwarzanie różni się również w różnych systemach operacyjnych. Przykładowo nie mogę wpisać danego znaku na klawiaturze niemieckiej w KWrite; jeśli spróbujesz do niego wejść, nic się nie stanie. Kiedy wpiszesz ten sam znak w QupZilla, otrzymasz „>>”. W aplikacjach natywnych symbol jest wprowadzany, ale trzeba go dwukrotnie dotknąć, aby się pojawił. Aby wprowadzić go trzykrotnie (zwykle jest to wymagane przy zaznaczaniu bloków kodu, cały czas piszę go w ten sposób), należy nacisnąć przycisk 6 razy. Na komputerze Mac sytuacja jest obsługiwana bardziej inteligentnie (wystarczą trzy kliknięcia, zachowując zwykłe pisanie znaków diakrytycznych).

Aplikacje Java

Brakuje Ci JavaFX? Java przychodzi na ratunek, prawda? No nie do końca:

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

Chodźmy w drugą stronę:

/> /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

Okazuje się, że w prawdziwym życiu aplikacje Java nie są tak przenośne, jak obiecują w reklamach. Czy istnieje JavaFX dla Haiku? Jeśli tak, dlaczego nie jest zainstalowany z openjdk12_default?

Dwukrotne kliknięcie pliku jar nie działa

Dziwię się, że Haiku nie ma pojęcia, jak sobie poradzić z podwójnym kliknięciem pliku .jar.

Bash zachowuje się dziwnie

Ponieważ istnieje bash, oczekiwano, że rury będą działać:

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

wniosek

Dlaczego piszę te artykuły? Moim zdaniem świat naprawdę potrzebuje systemu operacyjnego typu open source, takiego jak Haiku, który jest wyraźnie zorientowany na komputery PC, a także dlatego, że coraz bardziej denerwuje mnie fakt, że środowiska graficzne dla systemu Linux nie współpracujcie. Nie twierdzę, że do stworzenia pożądanego środowiska użytkownika na komputerze PC potrzebne jest zupełnie inne jądro lub że możliwe jest uzyskanie podobnego środowiska na jądrze Linuksa, ale ciekawi mnie, co mają do powiedzenia eksperci od jądra o tym. Na razie po prostu bawię się Haiku i robię notatki w nadziei, że będą one przydatne dla twórców Haiku i/lub zainteresowanej publiczności.

Spróbuj sam! W końcu projekt Haiku udostępnia generowane obrazy do rozruchu z DVD lub USB codziennie. Aby zainstalować, wystarczy pobrać obraz i zapisać go na dysku flash za pomocą Akwaforcista.

Czy masz jakieś pytania? Zapraszamy na zajęcia rosyjskojęzyczne kanał telegramu.

Przegląd błędów: Jak strzelić sobie w stopę w C i C++. Zbiór przepisów Haiku OS

Od autor tłumaczenie: to trzeci artykuł z serii o Haiku.

Lista artykułów: pierwszy, Drugi.

Źródło: www.habr.com

Dodaj komentarz