
TL: DR; Um novato experimentou o Haiku pela primeira vez e achou incrível. Principalmente em comparação com os ambientes de desktop disponíveis em outros lugares. Linux
Já compartilhei minhas ideias (e decepções) sobre #LinuxUsabilidade (, , , , , Nesta resenha, descreverei minhas primeiras impressões sobre , um sistema operacional de código aberto para computadores pessoais. Às vezes, as primeiras impressões são úteis, mas como só temos uma primeira impressão, guardei a minha aqui.

O sistema no qual estou escrevendo esta avaliação.
Talvez sejam úteis para os desenvolvedores do Haiku e/ou outras partes interessadas.
Posso estar enganado em algum ponto, já que estou apenas descrevendo minha primeira experiência pessoal (ou seja, falando honestamente). As pessoas simpáticas do canal #haiku no irc.freenode.net também me ajudaram com dicas — vou publicá-las aqui também. Obrigado, desenvolvedores do Haiku!
O que eu queria dizer é que o Haiku ainda não é 100% perfeito, mas já possui um ambiente de trabalho sólido.
Instalação
O projeto Haiku fornece imagens para inicialização a partir de CD ou DVD. Usei um pen drive USB 3. Disseram-me que inicializar a partir de um USB 3 poderia não funcionar, mas nos meus dois sistemas de teste baseados em Intel, tudo funciona perfeitamente.
Iniciei o processo de instalação baixando a imagem de 64 bits, que depois gravei em um pen drive usando o programa. O download funciona como com E sem ela, meus aplausos por proporcionar tal imagem.
Haiku usa seu próprio Para a partição de inicialização, embora FAT32 e NTFS sejam geralmente suportados, 600 MB costumam ser suficientes para o sistema. No entanto, aplicativos adicionais exigem mais espaço.
Por padrão, são criadas uma partição de 600 MB com BeFS e uma partição FAT32 de 3 GB. Há um arquivo na partição FAT32. /EFI/BOOT/BOOTx64.EFIO que implica a capacidade de inicializar em sistemas com suporte a EFI. Infelizmente, não consegui encontrar nenhum programa para aumentar o tamanho do BeFS e espero que eles alterem o esquema de particionamento do disco no futuro, já que o tamanho da imagem da partição é fixo e pequeno, podendo não haver espaço livre suficiente para softwares adicionais. Seria interessante se pacotes de software adicionais pudessem ser armazenados em uma segunda partição FAT32.
Essa mesma solução seria vantajosa para quem deseja acessar arquivos diretamente de outros sistemas. Linux Já existe suporte para leitura de BeFS, e há implementações para leitura e escrita de BeFS em [inserir plataforma aqui]. .

Instalador de Haiku
Recebi o seguinte conselho: se você quiser usar uma partição maior, instale o Haiku em um pen drive diferente.
Para mim, esta etapa é essencialmente desnecessária, já que o instalador do Haiku não particiona discos. Ele simplesmente inicia o DriveSetup, que exige que você particione o disco manualmente, adicione uma partição e a formate com BeFS. Depois disso, o controle retorna ao instalador. Você também precisará instalar manualmente o carregador de inicialização usando um programa separado. Infelizmente, não consegui inicializar a partir do EFI com essa configuração de particionamento, pois ela não possui uma partição FAT32 com arquivos de inicialização EFI. Um instalador que pudesse particionar o disco automaticamente, incluindo recursos específicos do EFI, seria muito útil.

O BootManager instala o carregador de inicialização no disco.
O processo de instalação em si leva pouco menos de três minutos, o que é bastante rápido. Ele copia todo o sistema, que consiste em "apenas" 4751 arquivos. Isso ocorre porque a maioria dos softwares é empacotada como arquivos hpkg (de certa forma semelhante aos pacotes Snap em outros sistemas operacionais). Linux (sistemas) que nunca são instalados, mas simplesmente montados. Curiosamente, existem muitos arquivos "gratuitos", como png. Por que eles não são empacotados?
Como mencionei, até mesmo o kernel do sistema operacional vem como um arquivo hpkg. (Mencionei 4751 arquivos porque executei o HaikuDepot antes da instalação, o que baixou uma tonelada de coisas. Uma instalação limpa aparentemente não contém todos eles e pode ser instalada mais rapidamente com cerca de 200 pacotes. Legal! Me disseram que o fato de os arquivos baixados não serem ignorados durante a instalação é Uau, parece que este é o primeiro relatório de erro escrito a meu pedido.
Primeira inicialização
O sistema inicia exibindo uma tela inicial bonita, mas depois trava: após a inicialização, minha placa de vídeo (Radeon) exibe uma tela preta.
Fui aconselhado a iniciar o computador em Modo de Segurança com uma resolução de tela de 1024x768 em um monitor Full HD. Em teoria, seria possível alterar o carregador de inicialização para que funcionasse em Full HD, mas em outro computador com uma placa de vídeo Intel, tudo funcionou perfeitamente.
O sistema em si funciona de forma responsiva a partir de um pen drive, aparentemente porque nada é gravado no pen drive durante a operação, então espero usar o pen drive como meu sistema operacional principal. Você terá um sistema real ao inicializar a partir do USB, ao contrário das versões "live" lentas. Linux imagens.
Não há oscilação na tela durante a inicialização, nenhuma mensagem do kernel e nenhuma sensação de que o Xorg está colado ao kernel com fita adesiva azul. Ao contrário das distribuições típicas. LinuxAqui, o núcleo e a interface gráfica são criados e ajustados um para o outro!
Não há tela de login porque o sistema foi projetado para um único usuário. Tudo é simples, exatamente o que você precisaria para um computador pessoal.
Se você precisar de suporte para vários usuários, dê a cada um deles um pen drive, que custa no máximo US$ 5 cada.
Primeiras impressões do ambiente de trabalho
Se compararmos a primeira impressão, ela se assemelha mais a um Mac do que, por exemplo, Linux Com o Gnome. A tecla "command" funciona exatamente da mesma forma que no Mac. Ótimo!

Nada se compara a um gerenciador de arquivos espacial, é como voltar aos bons e velhos tempos do Mac!
(Assim como no Macintosh System 1.0), infelizmente, cada janela não memoriza suas configurações (por exemplo, visualização em lista ou em ícones). Segundo me informaram, trata-se de um bug que, acredito, não será difícil de corrigir. (Infelizmente, É complicado — usa um sistema proprietário, não baseado no GitLab ou GitHub, e também é impossível fazer login usando esses sistemas. Os arquivos têm seus próprios ícones e não há problemas com arquivos individuais na área de trabalho ou com os ícones.
Ótimo! Muito melhor do que ambientes de desktop para Linux, você consegue sentir a simplicidade.
Desempenho
O sistema operacional funciona rapidamente mesmo em hardware de baixo consumo, como um netbook com processador Atom. Não há sensação de lentidão. Ótimo!
Ele disse que o LibreOffice parece funcionar mais rápido do que em outros sistemas operacionais, mas eu ainda não testei isso.

Bryan Lunduke. Análise e impressões sobre a versão beta do Haiku OS.
Linha de comando
A composição inclui um terminal. Em geral, apesar de pequenas diferenças com Linux Eu me acostumei imediatamente; na verdade, é apenas um bash normal, o que me deixou muito feliz.
Welcome to the Haiku shell.
In it, you can easily launch applications that are on the $PATH:
~> Touchpad
~> echo $PATH
.:/boot/home/config/non-packaged/bin:/boot/home/config/bin:/boot/system/non-packaged/bin:/bin:/boot/system/apps:/boot/system/preferencesUau! "."No $PATHIsso significa que você pode executar comandos diretamente do diretório atual (usuários de Linux me disseram uma vez que o mundo explodiria se eu tentasse isso). Ótimo!

bash em execução em um terminal Haiku
Outra coisa interessante sobre o terminal é que você pode pressionar Ctrl + C para copiar, assim como em outros aplicativos, ao contrário dos ambientes de desktop. Linux, onde você precisa pressionar ctrl + shift + c no terminal.
Pequenos detalhes que demonstram a integridade de todo o sistema.
Estrutura do sistema de arquivos
A partição a partir da qual a inicialização é realizada é montada em /bootQue simples!
Sem monte /etc, /usr, /bin… Apenas /home и /systemLimpo, simples, claro. Ótimo! (Quase: eles estão lá, mas escondidos. Por quê? Porque /bin это /system/binNão há necessidade de exibir isso no Tracker, mas os scripts ainda o utilizam. Acho que os desenvolvedores deveriam se livrar de recursos legados criados para compatibilidade, pois eles só dificultam a compreensão.
sistema de arquivos de pacote
Mencionei anteriormente os arquivos hpkg, que são de certa forma semelhantes aos pacotes no LinuxMas eles não são instalados, apenas montados (como pacotes snap). O sistema de arquivos que faz essa mágica se chama packagefs. Ele monta arquivos hpkg sobre outros arquivos, resultando na criação de todo o diretório /system dessa forma.
O comando mount, infelizmente, não mostra o que está montado.
~> mount
usage: mount [-ro] [-t fstype] [-p parameter] [device] directory
-ro mounts the volume read-only
-t specifies the file system to use (defaults to automatic recognition)
-p specifies parameters to pass to the file system (-o also accepted)
if device is not specified, NULL is passed (for in-memory filesystems)Me recomendaram que eu experimentasse. mountvolume, que mostrará as partições montadas, mas infelizmente, também não mostra os pontos de montagem do packagefs (mostra apenas aqueles associados a partições ou imagens de disco). [Felizmente, se você executar mount ou df em algum lugar no host do Docker, poderá rolar algumas telas! — Aproximadamente. tradutorMas você pode fazer um truque com df:
~> df -h
Mount Type Total Free Flags Device
----------------------------------
/boot bfs 600.0 MiB 6.0 KiB QAM-P-W /dev/disk/usb/0/0/0
/boot/system packagefs 4.0 KiB 4.0 KiB QAM-P -
/boot/home/config packagefs 4.0 KiB 4.0 KiB QAM-P -
/no name fat 2.8 MiB 2.3 MiB - M-PRW /dev/disk/usb/0/0/1Como você pode ver /system и /home/config dentro /boot Isso é exatamente o packagefs.
Quem me conhece sabe que sou fã de recursos de arrastar e soltar em gerenciadores de arquivos: por exemplo, uso suítes de aplicativos no estilo NeXT, ou .
Em todo caso, esse formato de distribuição de software tem suas desvantagens. Será que o packagefs consegue combinar o melhor dos dois mundos?
Como você pode ver, no meu caso (a partição do sistema está cheia, mas eu quero instalar aplicativos), seria mais elegante baixar os aplicativos usando um navegador, assim como faço com os arquivos. .dmg Para Mac ou AppImage. O packagefs reside no kernel, portanto não é um sistema de arquivos FUSE (embora eu saiba que o Haiku também usa FUSE). Também me disseram que "zonas packagefs" adicionais podem ser adicionadas no futuro, o que provavelmente significa que poderei instruir o packagefs a armazenar pacotes em partições de disco separadas, por exemplo. Isso seria ótimo para mim — se a partição de disco estivesse em uma unidade removível, eu poderia usar outro computador e executar os aplicativos lá.
Eles também disseram que o método de arrastar e soltar também funciona para instalar pacotes: basta arrastar o arquivo para /system/packages ou /home/config/packages para instalação, e se você arrastar um arquivo de lá, ele será excluído. Se você arrastar um pacote com dependências não satisfeitas, o sistema solicitará que você as instale primeiro.
Inicialmente, eu não tinha certeza de como o packagefs lidava com múltiplas versões do mesmo pacote. E se eu quisesse instalar, por exemplo, diferentes versões do gcc ou de outros programas com interface gráfica? (Um dos desenvolvedores disse, abre aspas, "o packagefs em si não contém nada que impeça a instalação de múltiplos pacotes com o mesmo nome, mas como ele usa o libsolv do OpenSUSE para resolução de dependências, que não permite isso, o próprio HaikuDepot também foi impedido de fazê-lo em suas configurações." Posso explicar por que gosto da ideia de pacotes .app, AppDir e AppImages.)
Bibliotecas dinâmicas
Existe tecnologia de biblioteca dinâmica? Sim, é possível ver, por exemplo, se você clicar duas vezes em um aplicativo com bibliotecas ausentes:

Você consegue imaginar isso em Gnome, KDE ou XFCE?
В Linux Um lançamento como esse não revelaria nada. Vamos ver quanto tempo leva em diferentes ambientes:
- GNOMO:
- ONDE:
- XFCE:
- COMPANHEIRO:
E quanto aos cheques?
~> ldd
bash: ldd: command not foundVocê precisa usar a opção de substituição:
~> objdump -x /bin/bash | grep NEEDED
NEEDED libreadline.so.7
NEEDED libhistory.so.7
NEEDED libncurses.so.6
NEEDED libintl.so.8
NEEDED libroot.soEm princípio ldd Seria melhor, pois também mostra os caminhos de onde as bibliotecas serão carregadas.
De onde eles são baixados, de fato?
~> echo $LIBRARY_PATH
%A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/libAssim, você pode colocar bibliotecas ao lado do executável e tudo "simplesmente funcionará". Que legal! Você pode simplesmente incluir bibliotecas individuais em seu aplicativo sem precisar mexer com o rpath ou definir a variável LD_LIBRARY_PATH como em Linux. Multar!
Existe uma biblioteca (péssima) Linux) /boot/system/lib/libstdc++.so.6.0.24.
E se um aplicativo exigir uma versão mais recente do que a encontrada em /boot/system/lib?
Um usuário comum provavelmente atualizará para a versão mais recente, pois este sistema não possui um usuário "Administrador" com senha de root [o autor está sugerindo simplicidade]. Aproximadamente. tradutor].
Bem, pelo menos é o que parece. (Na verdade, "user" é o equivalente a root. Você pode definir uma senha usando o comando) passwd, então indique PermitRootLogin=yes в sshd_configE então você poderá se conectar externamente via SSH. Os desenvolvedores me disseram que, por padrão, todos os aplicativos são executados como root. Eles podem melhorar isso futuramente... Mas não tenho certeza se vou gostar.
Como não existem distribuições do Haiku, os desenvolvedores de aplicativos também não têm acesso a versões mais recentes do que as disponíveis para download no seu sistema. O resultado: menos frustração, as coisas "simplesmente funcionam". Uma grande simplificação! Gostei.
Recursos e Registro
Como mencionado acima, os aplicativos recebem um tipo e um ícone, então você não precisa mexer com arquivos na área de trabalho e coisas do tipo. Me disseram que existe um serviço especial no registro que reconhece aplicativos, tipos de arquivo e ícones. Ele é sempre notificado quando um pacote é instalado ou um arquivo é marcado para execução (usando o programa). chmod ou mimeset).
Isso me lembra algo no Mac. E é isso que . Ótimo!
Os arquivos binários recebem ícones incorporados como recursos, então você não precisa de um ícone separado para os arquivos da sua área de trabalho. É quase como era no Macintosh System 1. Legal!

Tipos de aplicativos, tipos de documentos suportados, recursos incorporados e informações de versão.
O gerenciador de arquivos Tracker marca automaticamente os arquivos binários como executáveis. Isso é o que eu esperava de ambientes de desktop. Linux por mais de 10 anos.
É tudo muito agradável. É tão legal! A vida fica tão simples. É mais sofisticado e mais parecido com um Mac do que... em LinuxOu isto...

Aplicação em Linux sem o bit executável definido
Em Gnome A capacidade de executar arquivos executáveis a partir do gerenciador de arquivos foi removida, mas a comunidade protestou e tudo foi restaurado.
Também me disseram que os aplicativos usam a função find_paths() em vez de estritamente especificado /usr/bin и /usr/share (uma característica comum dos ambientes de trabalho em Linux), o que significa que podem ser movidos pelo sistema de arquivos. Uma ovação de pé! .
O que me surpreendeu
- O que me deixou confuso foi que
/bootEste é o ponto de montagem da partição a partir da qual o sistema inicializa. Por que não "/"? Bem, ou/Haiku? (Explicação: de fato,/bootÉ sempre a partição de inicialização, ela aparece na área de trabalho como "Haiku" porque esse é o nome dela. Veja "/"como um análogo da área de trabalho no Mac System 1, a raiz da hierarquia que na verdade não existe nos discos). - O ponto de montagem para pacotes instalados pelo usuário é
/home/configPor que não simplesmente?/homeUm dos desenvolvedores me explicou que eles não querem sobrecarregar o diretório home, mas acho que "config" é um nome ruim porque existe um subdiretório dentro dele.bin/Portanto, não se trata apenas de armazenar configurações. - Qual é a licença para tudo? Por exemplo, em Ao consultar a seção "Sobre", não há nenhuma indicação explícita. O campo "Sobre este sistema" informa que o código do Haiku é licenciado sob a licença MIT. Excelente! (Também me disseram que o WebPositive é distribuído com o sistema operacional sob a mesma licença, mas seu mecanismo WebKit é licenciado principalmente sob a licença BSD de duas cláusulas.)
O que não funcionou como eu esperava
Primeiramente, fiquei impressionado com o nível de suporte de hardware. Tudo funcionou perfeitamente no meu netbook com processador Atom, incluindo a Wi-Fi. No entanto, existem algumas peculiaridades.
- Inoperabilidade completa em hardware Macintosh, independentemente do modo EFI ou da emulação de BIOS (WindowsO sistema simplesmente congela se eu selecionar o ícone no carregador de inicialização do Mac. Me disseram que isso e você pode inicializar usando Mas essas configurações são muito complicadas para mim.
- Aceleração gráfica. Parece que usar placas gráficas Radeon é atualmente impossível (tive uma tela preta), mas mesmo com placas gráficas Intel, as coisas não são perfeitas. A aceleração de vídeo no WebPositive é feita exclusivamente por software, incluindo H.264. Isso é surpreendente, visto que o foco original era vídeo. Um dos desenvolvedores esclareceu que a aceleração de vídeo no WebPositive usa soluções improvisadas e lentas.
- Sem som? "Os drivers da placa de som ainda estão em desenvolvimento", disse o desenvolvedor. Provavelmente, alguém precisa dar suporte ao driver HDA, semelhante ao USB 3. Atualmente, uma reinicialização completa a partir de um sistema operacional diferente é suficiente para obter som, e acredito que isso será corrigido futuramente.
- Os controles de brilho e volume não funcionam. (Isso já existe no aplicativo Atalhos: você pode atribuir qualquer atalho de teclado a qualquer função que desejar, mas o Haiku ainda não oferece suporte a teclas de mídia. Alguém se interessa?)
- Controle por touchpad com dois dedos. Não funciona imediatamente após ser ligado. Há um painel de configurações que exibe a mensagem: "Nenhum touchpad encontrado, as configurações não terão efeito." com dispositivo de entrada ELAN, ACPI ETD050A).
- Com o aplicativo existente para leitura de arquivos de câmeras digitais e smartphones em Android Não consegui sincronizar nos modos MTP e PTP. Seria ótimo se pudessem ser montadas como outras partições do sistema.
- O fechamento da tampa do laptop parece não estar sendo tratado corretamente. (Eu sei que o Haiku ainda não suporta ACPI: o suporte está implementado, mas não está habilitado por padrão; não há reinicialização do driver.)
- Não consegui criar uma conta no rastreador de bugs porque não funciona. em WebPositive.
Aplicativos
O principal objetivo de um sistema operacional é executar aplicativos. Eu temia que o Haiku não tivesse aplicações práticas. Felizmente, eu estava enganado, pois há esperança de melhorias à medida que o Haiku se torna mais amplamente utilizado.
(aplicativo de layout visual) é, e é um aplicativo muito complexo baseado em Qt. Há também (SDI).
Gostaria de saber se os aplicativos nativos para Haiku são atualmente escritos usando ferramentas nativas (caso existam), ou se o Qt Creator é suficiente (o que facilitaria a portabilidade de aplicativos multiplataforma). A posição dos desenvolvedores do Haiku é de uma preferência "clara" por aplicativos nativos. Isso procede? Duvido que existam aplicativos reais que não sejam multiplataforma (todos os aplicativos que uso no meu trabalho são).
Suporte Wx anunciadoWindows приложений.
A falta de suporte para GTK+ é decepcionante. Isso significa que o Haiku não terá o Gimp tão cedo (pelo menos, eu acho que não), mas existe uma alternativa: o Krita!
Além disso, acho que precisa haver uma maneira simples e clara de criar aplicativos para Haiku. — usando Travis CI e GitLab CI.
Para onde estamos indo?
Será que o Haiku ficará preso ao paradigma de UX do BeOS? Acredito que, para ser atraente, ele precisa considerar cuidadosamente os novos padrões de UX à medida que forem adotados, sem deixar de ser fiel aos seus princípios fundamentais.
Por exemplo:
- Mantenha a simplicidade, sem aquelas 100500 opções que complicam as coisas. Linux "complexo".
- Use o cursor de seta para o mouse em vez da mãozinha estranha.
- Haverá um cais? (Sei que existe algo parecido com um cais chamado , ainda mais perto do cais Mas o BeOS original já tinha uma base de carregamento em 1998!
- Menu global? (Obviamente não, já que não vê muitos benefícios).
- Troca rápida de janelas? (Disseram que você pode tentar ativar "", mantendo a tecla pressionada Windows Ao arrastar uma janela, porém, não é intuitivo e, além disso, não funciona para mim.
- Animação de abertura e fechamento de janelas?
- Sombras do lado de fora das janelas?
- Suporte a temas como no Aqua? (Sim, é possível, existe infraestrutura e ferramentas, por exemplo, Mas alguém precisa criar os temas. Eu mesmo tentaria; me disseram que há documentação em /xref/haiku/headers/os/interface/ControlLook.h, mas não agora).
São nuances sutis que devem ser levadas em consideração para que o sistema não perca sua individualidade única.
Conclusão
Haiku foi uma verdadeira revelação para mim, mostrando-me como um ambiente de desktop "simplesmente funciona".
Há mais de 10 anos, troquei meu Mac por um computador. Linux E desde então tenho buscado o mesmo nível de sofisticação e beleza, e Haiku faz jus a isso de muitas maneiras.
Sinceramente, existem algumas falhas, mas surpreendentemente muitas coisas, incluindo hardware como WLAN ou impressoras, "simplesmente funcionam".
No entanto, em primeiro lugar, o sistema possui um conceito de ambiente de trabalho que está ausente nos ambientes de trabalho em Linux.
Ter um sistema único (em vez de um kernel e vários ambientes de usuário concorrentes) torna tudo simples e consistente.
A ausência de várias montagens (distribuições) torna tudo ainda mais simples.
Ao depender de apenas um usuário para operar o sistema, a complexidade diminui ainda mais.
O resultado: um sistema muito simples, sofisticado e minimalista em muitos aspectos, projetado para "meros mortais" e não para administradores de sistemas UNIX.
Espera-se que, à medida que este sistema se torne mais popular (como inevitavelmente acontecerá), sua complexidade não aumente.
Eu já escrevi sobre #LinuxUsabilidade, como abordado na série de artigos anterior. É bom saber que o Haiku resolve muitos dos problemas levantados. .
Um dia foi suficiente para me convencer de que quero usar esse ambiente de trabalho no meu dia a dia, e também estou buscando maneiras de contribuir para o desenvolvimento do sistema.
Experimente você mesmo! O projeto Haiku fornece imagens para inicialização a partir de DVD ou USB. . Para instalar, basta baixar a imagem e gravá-la em uma unidade flash USB usando .
Nota do autor da tradução: este é apenas o primeiro artigo da série sobre Haiku; os demais aguardam tradução e serão publicados posteriormente.
Fonte: habr.com
