Meu terceiro dia com Haiku: começando a montar um quadro completo

Meu terceiro dia com Haiku: começando a montar um quadro completo
TL;DR: Haiku pode se tornar um maravilhoso sistema operacional de desktop de código aberto. Verdadeiramente, eu desejo isso, mas ainda há muitas correções a serem feitas.

Há dois dias estou estudando o Haiku, um sistema operacional surpreendentemente bom. Agora é o terceiro dia, e estou gostando tanto desse sistema operacional que não consigo parar de pensar em como torná-lo um sistema operacional para o dia a dia. Em termos de ideias gerais, gosto mais do Mac, mas o problema é que ele vem sem código aberto e preciso procurar alternativas com código aberto.

Nos últimos 10 anos, isso geralmente significou Linux, mas ele também tem seu conjunto de problemas..

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

O sistema operacional Haiku, apresentado no DistroTube.

Experimentei o Haiku assim que soube dele, fiquei imediatamente impressionado - especialmente com o ambiente de trabalho que "simplesmente funciona", e que claramente supera qualquer ambiente de trabalho para Linux que conheço conceptualmente. Quero-quero-quero!!!

Vamos ver um trabalho real no terceiro dia!

Aplicativos ausentes

A disponibilidade de aplicativos é um aspecto bastante "decisivo" de qualquer sistema operacional, um tema antigo. No que diz respeito ao Haiku, eu sei que existem diferentes opções disponíveis para a maioria dos casos.

No entanto, ainda não consigo encontrar aplicativos para minhas necessidades do dia a dia:

  • editor de marcação (por exemplo, Typora)). Claro, existe CuteMarkEd, mas parece que ele não tem nem botões, nem atalhos de teclado para marcar texto. Também existe Ghostwriter, mas ele não tem atalho de teclado para marcar texto como código embutido, ou bloco de código.
  • captura de tela em GIF animado (por exemplo, Peek). Existe o BeScreenCapture, mas ele não faz isso.
  • Software para impressoras 3D (por exemplo, Ultimaker Cura, PrusaSlicer).
  • CAD 3D (por exemplo, FreeCAD, OpenSCAD, ou embutido no Onshape). Existe o LibreCAD, mas ele é apenas 2D.

Modelo de desenvolvimento

O que o Haiku precisa para ter sucesso, em termos de aplicativos disponíveis? Claro, atrair desenvolvedores.

Neste momento, a equipe de desenvolvedores do Haiku certamente realizou um trabalho enorme na implementação de vários aplicativos populares, mas para alcançar o sucesso pleno como uma plataforma, é necessária a capacidade de criar versões de aplicativos para o Haiku de maneira fácil. A construção de aplicativos para o Haiku deve ser, idealmente, mais uma opção dentro da matriz existente de construção do Travis CI ou do GitLab CI. Como uma empresa como a Ultimaker, criadora do popular software Cura para impressoras 3D de código aberto, irá construir seus aplicativos para o Haiku?

Estou convencido de que a abordagem clássica de "manutenção", que coleta e mantém pacotes para uma distribuição específica do Linux, não escala bem com uma longa lista de aplicativos. Pode-se discutir se há software para impressoras 3D nessa lista, mas, por exemplo, o software para organização de horários de uma escola específica está presente. O que o Haiku oferece para esses aplicativos? (Normalmente, eles são escritos utilizando Electron, disponíveis para todos os sistemas operacionais, com frequência encapsulados em AppImage, o que significa uma entrega para todos os usuários sem maiores problemas).

LibreOffice

É evidente que ter o LibreOffice para o Haiku é um grande feito, sobre o qual os usuários do BeOS só podiam sonhar, mas nem tudo é perfeito.

No meu caso (pen drive USB Kingston Technology DataTraveler 100) leva cerca de 30 segundos para iniciar, e os desenvolvedores sugeriram que a inicialização normal de aplicativos não deve ultrapassar 4-5 segundos (no caso de uso de um disco rígido normal [no meu SSD tudo iniciava em menos de um segundo, — nota do tradutor]).

Gostaria de ver de alguma forma o progresso do carregamento de um aplicativo grande, por exemplo, um "ícone pulando", mudança do cursor, ou algo nesse sentido. A tela de abertura do LibreOffice só aparece após alguns segundos, e antes disso você não sabe o que está acontecendo.

Meu terceiro dia com Haiku: começando a montar um quadro completo
Ícones pulando de aplicativos como sinal de que os aplicativos foram iniciados.

  • Os atalhos de teclado mostrados no menu estão incorretos (está escrito Ctrl+O, mas na verdade é Alt+O; eu verifiquei: Alt+O funciona, enquanto Ctrl+O não).
  • Alt+Z não funciona (por exemplo, no Writer).
  • O problema "Application LibreOffice has aborted the shutdown process" [isso foi planejado, — nota do tradutor].

Tempo de inicialização dos aplicativos

NOTA: por favor, olhe para esta seção com cautela. O desempenho é realmente excelente, se confiarmos na opinião de outras pessoas. Meus resultados são bastante diferentes... suponho que as características da minha configuração e as medições feitas até agora sejam anedóticas. Vou atualizar esta seção à medida que novas ideias/resultados surgirem.

O desempenho na inicialização de aplicativos (não nativos)… não é tão alto, com uma diferença de cerca de 4 a 10 vezes. Como você pode notar, apenas 1 núcleo da CPU foi utilizado ao inicializar aplicativos não nativos, por um motivo que não entendo.

Meu terceiro dia com Haiku: começando a montar um quadro completo
Como vejo a velocidade de inicialização dos aplicativos.

  • Iniciar Krita leva cerca de 40 segundos em um pen drive Kingston Technology DataTraveler 100, conectado a uma porta USB2.0 (a inicialização do Krita AppImage leva uma fração de segundo no Xubuntu Linux Live ISO via USB2; são necessários mais testes). Correção: cerca de 13 segundos em um SSD SATA com ACPI desativado.

  • Iniciar LibreOffice leva 30 segundos em um pen drive Kingston Technology DataTraveler G4, conectado a uma porta USB2.0 (fração de segundo no Xubuntu Linux Live ISO via USB 2; são necessários mais testes) Correção: menos de 3 segundos em um SSD SATA com ACPI desativado.

Também ouvi que as mais recentes inovações melhorarão o desempenho em SSDs em mais de 10 vezes. Estou ansioso por isso.

Outros avaliadores elogiam constantemente o Haiku por seu funcionamento ágil. O que estará errado com o meu sistema? Correção: sim, o ACPI no meu sistema está quebrado; se desativá-lo, o sistema funciona mais rápido.

Realizei alguns testes.

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

Para total transparência, verifiquei tudo em duas máquinas diferentes com Linux e Haiku. Se necessário, repetirei os testes em uma máquina semelhante. Ainda não está claro por que os aplicativos são inicializados mais lentamente do que via usb2.0 no Linux. Atualização: o syslog desta máquina contém muitos erros relacionados ao USB. Portanto, os resultados acima podem não ser típicos para o Haiku como um todo.

Como diz o ditado conhecido: se não consegue medir, não consegue gerenciar. E se há o desejo de melhorar o desempenho, então acredito que um conjunto de testes é necessário 🙂

Combinações de teclas

Para os migrantes de outros sistemas operacionais, o Haiku é simplesmente maravilhoso quando se trata de combinações de teclas. Pessoalmente, gosto mais das combinações de teclas no estilo Mac, onde se mantém a tecla à esquerda da barra de espaço («Ctrl» nos teclados Apple, «Alt» nos outros) ao digitar uma letra ou número. Como o Haiku realmente funciona bem nesse aspecto, sinto que as seguintes opções podem ser consideradas:

Combinacoes de teclas na área de trabalho e para ela

Gosto do fato de que posso clicar no ícone e pressionar Alt-O para abri-lo, ou usar uma combinação mais tradicional, Alt-para baixo.

Da mesma forma, seria bom se, para mover um arquivo para a lixeira, pudesse pressionar Alt-Backspace, além de Alt-T.

Para mostrar a área de trabalho: seria bom aplicar Alt-H — para "Ocultar", e Shift-Alt-H — para "Ocultar tudo". E, talvez, seria interessante introduzir a combinação Shift-Alt-D — para "Mostrar área de trabalho".

Combinações em janelas de diálogo

Abro o StyledEdit, digito o texto. Pressiono Alt-Q. O programa pergunta se deve salvar. Pressiono Alt-D para "Não salvar", Alt-C para "Cancelar". Mas isso não funciona. Tentei usar as teclas de seta para selecionar o botão. Também não funciona. Repito as mesmas ações no aplicativo baseado em Qt. Aqui, pelo menos, as teclas de seta funcionam para selecionar o botão. (As teclas de controle para seleção de botões eram usadas originalmente no Mac OS X, mas os desenvolvedores parecem ter esquecido essa possibilidade desde então.)

Combinações para capturas de tela

Seria simplesmente excelente se pudesse pressionar Alt-Shift-3 para capturar a tela inteira, Alt-Shift-4 para fazer aparecer um cursor que permita selecionar a área da tela, e Alt-Shift-5 para a janela ativa atual com sua moldura.

É interessante se isso pode ser configurado manualmente, mas provavelmente é impossível. Pelo menos, essa tentativa não me deu resultado [eu deveria ter tentado encapsular em um script! — nota do tradutor].

Meu terceiro dia com Haiku: começando a montar um quadro completo
Quase. Mas não exatamente. O "-bw" é ignorado, além de ser necessárias configurações padrão adicionais.

Outras coisas no teclado

Sente-se o cuidado dos desenvolvedores, então continuo a descrever minha experiência com o teclado no Haiku.

Impossível inserir símbolos nacionais

O símbolo «`» é especial; pode ser parte de outro símbolo (como «e») ou um símbolo independente. Em diferentes sistemas operacionais, seu tratamento também varia. Por exemplo, não consigo inserir este símbolo no teclado alemão no KWrite; ao tentar inseri-lo, nada acontece. Quando insiro este mesmo símbolo no QupZilla, aparece «>>». Nos aplicativos nativos, o símbolo é inserido, mas precisa ser pressionado duas vezes para aparecer. Para inseri-lo três vezes (o que normalmente é necessário ao formatar blocos de código, eu o digito assim o tempo todo), é preciso pressionar o botão 6 vezes. No Mac, a situação é tratada de forma mais inteligente (suficiente três pressionamentos mantendo a entrada normal de caracteres diacríticos).

Aplicativos Java

Falta JavaFX? Java está aqui para ajudar, não é? Bem, não exatamente:

pkgman install openjdk12_default
/> java -jar /Haiku/home/Desktop/MyMarkdown.jar
Erro: Não foi possível encontrar ou carregar a classe principal Main
Causado por: java.lang.NoClassDefFoundError: javafx/application/Application

Vamos por outro caminho:

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

Aparentemente, na vida real, os aplicativos Java não são tão portáteis quanto prometem na publicidade. Existe JavaFX para Haiku? Se sim, por que não é instalado junto com openjdk12_default?

Clique duplo em arquivo jar não funciona

Fiquei surpreso que o Haiku não sabe como lidar com o clique duplo em um arquivo .jar.

Bash se comporta de maneira estranha

Uma vez que há bash, era esperado que pipes funcionassem:

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

Conclusão

Por que estou escrevendo esses artigos? Na minha opinião, o mundo realmente precisa de um sistema operacional de código aberto como o Haiku, claramente focado em PCs, e também porque me irrita cada vez mais o fato de que os ambientes de trabalho para Linux não funcionam em conjunto.Não estou dizendo que para criar o ambiente de usuário desejado para PCs é necessário um núcleo completamente diferente ou que é possível ter um ambiente semelhante sobre o núcleo Linux, mas estou curioso sobre o que os especialistas em núcleos dirão sobre isso. Enquanto isso, estou apenas me divertindo com o Haiku e fazendo anotações na esperança de que sejam úteis para os desenvolvedores do Haiku e/ou para o público interessado.

Experimente você mesmo! O projeto Haiku oferece imagens para download via DVD ou USB, geradas diariamente. Para instalação, basta baixar a imagem e gravá-la em um pen drive usando Etcher.

Tem alguma dúvida? Convidamos você para o nosso canal em russo no telegram.

Resumo de erros: Como dar um tiro no pé em C e C++. Uma coletânea de receitas do Haiku OS

A partir de autor tradução: este é o terceiro artigo de uma série sobre o Haiku.

Lista de artigos: Primeiro, Segundo.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster