Meu primeiro dia com o Haiku: ela é inesperadamente boa


TL: DR; O novato experimentou o Haiku pela primeira vez e decidiu que ela era incrível. Especialmente comparado aos ambientes de trabalho disponíveis no Linux


Eu já compartilhei minhas idéias (além de decepções) sobre o #LinuxUsability ( parte 1 , parte 2 , parte 3 , parte 4 , parte 5 , parte 6 ). Nesta revisão, descreverei as primeiras impressões do Haiku , um sistema operacional de código aberto para computadores pessoais. Às vezes, as primeiras impressões são úteis, mas desde que você recebe suas primeiras impressões apenas uma vez, salvei as minhas aqui.



O sistema no qual estou escrevendo esta resenha


Eles podem ser úteis para desenvolvedores do Haiku e / ou outras partes interessadas.
Em algum lugar eu poderia estar errado, porque acabei de descrever a primeira experiência pessoal (leia-se: nos olhos azuis). Além disso, pessoas amigáveis ​​no canal #haiku na rede irc.freenode.net me ajudaram com dicas - eu também as publicarei. Obrigado desenvolvedores do Haiku!


O que eu queria dizer: o Haiku ainda não é 100% perfeito, mas já possui um ambiente de trabalho muito unido.


Instalação


O Projeto Haiku fornece imagens diárias de CD ou DVD inicializáveis . Eu usei uma unidade flash USB-3. Foi-me dito que a inicialização a partir do USB-3 pode não funcionar, mas nos meus dois sistemas de teste baseados em Intel, tudo funciona perfeitamente.


Iniciei o processo de instalação baixando uma imagem de 64 bits, que depois gravei em uma unidade flash USB usando o Etcher . O download funciona com e sem EFI - meu aplauso por fornecer essa imagem.


O Haiku usa seu próprio sistema de arquivos BeFS para a partição de inicialização, embora, em princípio, seja reivindicado o suporte ao FAT32 e NTFS. Em geral, 600 MB são suficientes para o sistema, mas para aplicativos adicionais é necessário mais espaço.


Por padrão, uma partição de 600 MB com BeFS e uma partição FAT32 com um tamanho de 3 GB são criadas. No FAT32, existe um arquivo /EFI/BOOT/BOOTx64.EFI , que implica a capacidade de inicializar em sistemas com suporte a EFI. Infelizmente, não encontrei programas para aumentar o tamanho do BeFS e espero que no futuro eles façam outro esquema para particionar o disco, porque o tamanho da imagem da partição é pequeno e pode não haver espaço livre suficiente para software adicional. Seria bom se pacotes de software adicionais fossem armazenados na segunda partição FAT32.


A mesma solução seria uma vantagem para quem deseja acessar arquivos diretamente de outros sistemas. No Linux, já existe suporte para leitura do BeFS, existem implementações para leitura e gravação do BeFS no FUSE .



Instalador do Haiku


Eles me deram conselhos: se você quiser usar uma partição mais espaçosa, instale o Haiku em outra unidade flash USB.
Para mim, esta etapa é, em princípio, supérflua, pois o instalador do Haiku não sabe como dividir discos, mas simplesmente inicia o programa DriveSetup, no qual você precisa dividir manualmente o disco, adicione uma partição, que será formatada no BeFS, após o que o controle retornará ao instalador. Você também precisará instalar manualmente o gerenciador de inicialização usando um programa separado. Infelizmente, não consegui inicializar a partir do EFI com esse detalhamento, pois não há partição FAT32 com arquivos de inicialização para o EFI. Não prejudicaria o instalador, que sabe como quebrar automaticamente, incluindo os recursos do EFI.



O BootManager instala o gerenciador de inicialização no disco


O processo de instalação em si leva um pouco menos de três minutos, o que é muito rápido. Isso copia o sistema inteiro, consistindo em "apenas" 4751 arquivos. A razão para isso é o fato de a maioria dos softwares serem empacotados na forma de arquivos hpkg (algo semelhante aos pacotes Snap nos sistemas Linux) que nunca são instalados, mas simplesmente montados. Curiosamente, existem alguns arquivos "gratuitos", por exemplo, png. Por que eles não são oprimidos?


Como eu disse, até o kernel do sistema operacional vem na forma de um arquivo hpkg. (Eu falei sobre o arquivo 4751, porque eu iniciei o HaikuDepot antes de instalá-lo, o que elevou um monte de tudo. Uma instalação limpa não parece conter todos eles e pode ser instalada mais rapidamente com cerca de 200 pacotes. Legal! Como me disseram, o que baixou os arquivos não são ignorados durante a instalação - este é um erro de software . Uau, mas parece que o primeiro relatório de erro foi gravado no meu envio).


Primeira inicialização


O sistema é inicializado, mostrando um bom protetor de tela e depois para: após o carregamento, minha placa de vídeo (Radeon) mostra uma tela preta.


Fui aconselhado a inicializar no modo de tela segura com uma resolução de 1024x768 em um monitor FullHD. Em princípio, você pode ser confundido com o gerenciador de inicialização para trabalhar com FullHD, mas em outro computador com uma placa de vídeo da Intel tudo funcionou perfeitamente.


O próprio sistema funciona responsivamente a partir de uma unidade flash, aparentemente devido ao fato de que nada é gravado na unidade flash durante a operação, por isso espero usar a unidade flash como o principal sistema de trabalho. Você obterá um sistema real ao inicializar a partir do USB, ao contrário das imagens Linux "ativas" de frenagem.


Durante a inicialização, a tela não pisca, as mensagens do kernel não são visíveis, não há sensação de que o Xorg esteja preso ao núcleo com uma fita isolante azul. Diferente das distribuições típicas do Linux, o kernel e a GUI são criados e adaptados um para o outro aqui!


Não há convite para efetuar login, porque o sistema é feito para um usuário. Tudo é simples, exatamente o que é necessário para um computador pessoal.


Precisa de suporte para vários usuários - ofereça a eles uma unidade flash, cada uma custando não mais que US $ 5.


Primeiras impressões do ambiente de trabalho


Se você comparar a primeira impressão - ela se parece mais com um Mac do que, por exemplo, no Linux com Gnome. A tecla de comando funciona exatamente da mesma forma que no Mac. Bom!



Nada supera um gerenciador de arquivos espaciais, parece um bom e velho Mac!


O gerenciador de arquivos padrão é espacial (como o Macintosh System 1.0), infelizmente cada janela não se lembra de suas configurações (por exemplo, exibição como uma lista ou ícones). Como me disseram, isso é um erro que, acredito, não será difícil de corrigir. (Infelizmente, escrever relatórios para o "mimocrocodilo" no rastreador de bugs para o Haiku é difícil - ele usa um sistema original que não é baseado no GitLab ou no GitHub, o que também é impossível entrar com sua ajuda). Os arquivos recebem seus ícones, não há problemas com arquivos individuais na área de trabalho e nos ícones.
Bom! Muito melhor que os ambientes de trabalho para Linux, a simplicidade é sentida.


Desempenho


O sistema operacional funciona de maneira inteligente, mesmo em hardware de baixa potência, como os netbooks Atom. Não há camadas inchadas de software. Bom!


Lunduke disse que o LibreOffice parecia ser mais rápido que outros sistemas operacionais, mas ainda não o testei.



Bryan Lunduke. Haiku OS Beta - revisão e experiência


Linha de comando


A estrutura tem um terminal. Em geral, apesar das pequenas diferenças com o Linux, eu imediatamente me acostumei com isso - o bash usual, o que é muito satisfeito.


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

Uau! " . " em $PATH ! Isso significa que você pode executar comandos diretamente do diretório atual (o Linux OS me disse uma vez que o mundo explodirá se eu tentar fazer isso). Ótimo!



bash em execução no terminal Haiku


O que é mais interessante no terminal - você pode pressionar ctrl + c para copiar, assim como em outros aplicativos, ao contrário dos ambientes de trabalho Linux onde você precisa pressionar ctrl + shift + c no terminal.
Pequenas coisas que mostram a integridade de todo o sistema.


Estrutura do sistema de arquivos


A partição de onde o download vem é montada em /boot . Quão fácil!
Sem heap /etc , /usr , /bin ... Apenas /home e /system . Limpo, simples, claro. Bom! (Na verdade, não: eles estão, mas estão ocultos. Por quê? Como /bin é /system/bin , não há necessidade de exibir isso no Tracker, mas os scripts ainda o usam. Acho que os desenvolvedores devem se livrar de coisas obsoletas feitas para compatibilidade, pois isso apenas complica o entendimento.)


packagefs


Eu mencionei anteriormente sobre arquivos hpkg, que são um pouco semelhantes aos pacotes Linux, mas eles não estão instalados, são simplesmente montados (como pacotes snap). O sistema de arquivos que faz essa mágica é chamado packagefs. Ele monta arquivos hpkg em cima de outros, como resultado, todo o diretório / system é criado dessa maneira.


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) 

Fui recomendado para tentar o mountvolume , que mostrará as partições montadas, mas, infelizmente, também não mostra os pontos de montagem com o packagefs (mostrará apenas os associados às partições ou imagens de disco). [Felizmente, se você executar mount ou df em algum lugar no host com docker, poderá encerrar algumas telas! - aprox. tradutor ] Mas você pode fazer o truque com df:


 ~> df -h Mount Type Total Free Flags Device ---------------------------------- /boot bfs 600.0 MiB 6.0 KiB QAM-PW /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/1 

Como você pode ver, /system e /home/config dentro de /boot são apenas packagefs.
As pessoas que me conhecem sabem que sou fã do suporte ao arrastar e soltar nos gerenciadores de arquivos: por exemplo, eu uso os aplicativos do estilo NeXT, ou AppImages .
De qualquer forma, existem desvantagens nesse formato de distribuição de software. O packagefs pode combinar o melhor?


Como você pode ver, no meu caso (a partição do sistema está cheia, mas eu quero instalar aplicativos), seria mais elegante fazer o download de aplicativos em algum lugar usando um navegador, assim como faço com arquivos .dmg para Mac ou AppImage. O packagefs vive no kernel, portanto não é um sistema de arquivos para o FUSE (embora eu saiba que o FUSE também está no Haiku). Também me disseram que talvez no futuro sejam criadas “zonas packagefs” adicionais, e isso provavelmente significa que posso dizer ao packagefs para salvar pacotes, por exemplo, em partições de disco separadas. Isso é do meu gosto - se a partição do disco estiver em uma mídia removível, posso sentar em outro computador e obter os aplicativos em funcionamento lá.


Eles também disseram que a instalação de pacotes também funciona com o método de arrastar e soltar: basta arrastar o arquivo para /system/packages ou para /home/config/packages para instalar, e se você puxar o arquivo a partir daí, ele será excluído. Se você arrastar um pacote com dependências não satisfeitas, o sistema solicitará a instalação preliminar.


No começo, não estava claro para mim como o packagefs lida com várias versões do mesmo pacote, o que aconteceria se eu quisesse instalar, por exemplo, versões diferentes do gcc ou outros programas da GUI? (Um dos desenvolvedores disse, citação: “packagefs em si não contém nada que impeça a instalação de vários pacotes com o mesmo nome, mas como libsolv do OpenSuse é usado para resolver dependências, o que não permite isso, foi proibido fazê-lo e HaikuDepot nas configurações. "Eu posso explicar por que gosto da idéia com os pacotes .app, AppDir e AppImages).


Bibliotecas dinâmicas


Existe uma tecnologia de biblioteca dinâmica? Sim, isso pode ser visto, por exemplo, se você iniciar o aplicativo com as bibliotecas ausentes clicando duas vezes em:



Você pode imaginar isso no gnome, kde ou xfce?


No Linux, esse lançamento não mostraria nada. Vamos ver quanto tempo isso será feito em diferentes ambientes:



E quanto a cheques?


 ~> ldd bash: ldd: command not found 

É necessário usar uma 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.so 

Em princípio, o ldd seria melhor, pois mostra adicionalmente os caminhos de onde as bibliotecas serão carregadas.
E de onde eles realmente carregam?


 ~> echo $LIBRARY_PATH %A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/lib 

Portanto, você pode colocar a biblioteca ao lado do arquivo executável e ele "funcionará". Que incrível! Você pode simplesmente conectar bibliotecas individuais ao aplicativo sem mexer no rpath ou configurar a variável LD_LIBRARY_PATH como no Linux. Bom!


Existe uma biblioteca (péssima no Linux) /boot/system/lib/libstdc++.so.6.0.24.
E se um aplicativo exigir uma versão mais nova que a do / boot / system / lib?
Um usuário comum provavelmente fará o upgrade para a versão mais recente, porque não há usuário "Administrador" com senha root neste sistema [o autor sugere uma simplicidade - aprox. tradutor ].
Bem, pelo menos é o que parece. (Na verdade, o "usuário" é análogo ao root. Você pode definir uma senha usando o comando passwd , definir PermitRootLogin=yes como sshd_config e conectar-se externamente via ssh. Os desenvolvedores me disseram que, por padrão, todos os aplicativos são executados como root Por fim, eles podem concluir isso ... Mas não tenho certeza se vou gostar.)


Devido ao fato de não haver distribuições do Haiku, os desenvolvedores de aplicativos também não têm acesso a versões mais recentes que as disponíveis para download no seu sistema. Resultado: menos frustração, as coisas "simplesmente funcionam". Grande simplificação! Eu gosto disso


Recursos e Registrador


Como mencionado acima, os aplicativos obtêm um tipo e um ícone, para que você não precise se preocupar com arquivos na área de trabalho ou similares. Eles me disseram que existe um registrador de serviço especial que conhece aplicativos, tipos de arquivos e ícones. É sempre notificado ao instalar um pacote ou marcar um arquivo para execução (usando o programa chmod ou mimeset ).
Algo como Iniciar Serviços em um Mac. Mas isso é algo que está ausente nos ambientes de trabalho no Linux . Ótimo!


Os arquivos binários recebem ícones incorporados na forma de recursos, para que você não precise de um ícone separado, além dos arquivos na área de trabalho. Quase o mesmo que no sistema Macintosh 1. Legal!



Tipos de aplicativos, tipos de documentos suportados, recursos incorporados e informações sobre versão


O Tracker (gerenciador de arquivos) marca automaticamente os arquivos binários como executáveis. É o que eu esperava dos ambientes Linux há mais de 10 anos.
Tudo isso é bastante satisfatório. É legal! A vida está ficando tão simples. Isso é mais sutil e mais parecido com o Mac do que o Linux XDG . Ou isso ...



Aplicativo Linux sem conjunto de bits executável


O Gnome removeu a capacidade de executar arquivos executáveis ​​do gerenciador de arquivos, mas a comunidade fez um barulho e todos voltaram.
Eles também me disseram que os aplicativos usam a função find_paths() vez das codificadas /usr/bin e /usr/share (um recurso comum dos ambientes Linux), o que significa que elas podem ser movidas pelo sistema de arquivos. Aplaudo em pé! No Linux, isso é "complicado", como de costume .


O que me surpreendeu


  • Foi embaraçoso que /boot seja o ponto de montagem da partição de onde o sistema inicializa. Por que não um " / "? Bem ou /Haiku ? (Explicação: de fato, /boot é sempre uma partição inicializável, ela aparece na área de trabalho como "Haiku" porque é seu nome. Veja " / " como o análogo da área de trabalho no Mac System 1, a raiz da hierarquia que realmente não existe. unidades).
  • O ponto de montagem para pacotes instalados pelo usuário é /home/config . Por que não apenas /home ? (Um dos desenvolvedores me explicou que não deseja entupir o diretório inicial, mas parece-me que a configuração é um nome ruim porque há um subdiretório bin/ dentro, portanto, este não é apenas um armazenamento de configurações).
  • Qual é a licença para tudo? Por exemplo, no navegador WebPositive ao exibir "Sobre o programa", não há indicação explícita. O campo "Sobre este sistema" diz que o código Haiku está sob a licença MIT. Ótimo! (Também me disseram que o WebPositive vem com o sistema operacional sob a mesma licença, mas seu mecanismo WebKit vem, na maioria das vezes, sob BSD de dois pontos).

O que não funcionou como eu esperava


Primeiro de tudo, fiquei impressionado com o nível de suporte do equipamento. Tudo funcionou no meu netbook baseado em Atom, incluindo WLAN. Mas existem alguns recursos no trabalho.


  • Inoperabilidade total no hardware Macintosh, independentemente do modo EFI ou emulação do BIOS ("Windows"). O sistema congela quando você seleciona o ícone no gerenciador de inicialização do Mac. Foi-me dito que esse é um recurso conhecido e pode ser inicializado usando o rEFIt , mas essas configurações são muito complicadas para mim.
  • Acelerando gráficos. Parece que ainda é impossível usar o Radeon (eu tinha uma tela preta), mas a Intel também não está indo bem. A aceleração de vídeo do WebPositive é apenas software, incluindo o H.264. Surpreendentemente, a orientação original está no vídeo. Um dos desenvolvedores disse que o vídeo no WebPositive funciona usando travões.
  • Sem som "Os drivers da placa de som ainda estão em trânsito", disse o desenvolvedor. Provavelmente precisa de alguém para suportar o driver HDA como USB-3. Agora, para obter o som, basta uma reinicialização a quente de outro sistema operacional e acredito que, de alguma forma, será corrigido.
  • Os botões de controle de brilho e volume não funcionam. (A base já está na forma do aplicativo Atalhos: você pode vincular qualquer atalho do teclado a qualquer função que desejar, mas o Haiku ainda não é capaz de trabalhar com as teclas de mídia. Talvez haja voluntários?)
  • Controle com touchpad com dois dedos. Não está funcionando fora da caixa. Há um painel de configurações que diz "Nenhum touchpad encontrado, as configurações não terão efeito". ( Problema conhecido no dispositivo de entrada ELAN, ACPI ETD050A).
  • Com o aplicativo existente para leitura de arquivos de câmeras digitais e smartphones no Android, a sincronização nos modos MTP e PTP não funcionou para mim. Seria ótimo se eles fossem montados como outras partições no sistema.
  • Fechar a tampa do laptop aparentemente não está sendo processado. (Eu sei que o Haiku ainda não funciona com a ACPI: o suporte é implementado, mas não conectado por padrão; não há reinicialização de driver)
  • Não consegui criar uma conta no bugtracker, porque o captcha não funciona no WebPositive.

Aplicações


O principal objetivo do sistema operacional é iniciar aplicativos. Eu tinha medo de que, no Haiku, não houvesse pedidos de trabalho real. Felizmente, eu estava enganado, porque há esperança de melhoria - quando o Haiku será usado com mais frequência.
Scribus (aplicativo para layout visual) é, e este é um aplicativo muito complexo, baseado no Qt. Há também um QtCreator (IDE).


Gostaria de saber se hoje eles escrevem aplicativos Be nativos para o Haiku usando ferramentas nativas (se existirem) ou apenas usam o QtCreator (que facilitará a portabilidade de aplicativos de plataforma cruzada). A posição dos desenvolvedores do Haiku é a preferência "explícita" para aplicativos nativos do Haiku. Certo? Duvido que os aplicativos da vida real não sejam multiplataforma (todos os aplicativos usados ​​no meu trabalho são multiplataforma).


Suporte declarado para aplicativos WxWindows.


A falta de suporte para o Gtk + é frustrante. Isso significa que o Haiku não terá o Gimp em um futuro próximo (bem, acho que sim), mas há um substituto na forma de Krita!


Além disso, acho que precisamos de uma maneira simples e compreensível de criar aplicativos para o Haiku, como este - usando o Travis CI e o GitLab CI.


Para onde vamos?


O Haiku ficará preso no conceito BeOS UX? Parece-me que, por atratividade, ela precisa verificar cuidadosamente os novos esquemas de UX na adoção deles, mantendo-se fiel aos seus fundamentos.
Por exemplo:


  • Permaneça simples, sem as 100.500 opções que tornam o Linux "complexo".
  • Use o cursor do mouse em vez de uma mão estranha.
  • Haverá uma doca? (Estou ciente de que existe algo como um Dock chamado LaunchBox , ainda mais próximo do Dock LnLauncher , mas o BeOS original em 1998 já tinha um Dock!)
  • Menu global? (Obviamente não, pois o JLG não vê muitos benefícios).
  • Troca rápida de janelas? (Eles disseram que você pode tentar ativar " Stack & Tile " pressionando a tecla Windows enquanto arrasta a janela, mas isso não é intuitivo, além disso, não funciona para mim).
  • Animação de abertura e minimização de janelas?
  • Sombras do lado de fora das janelas?
  • Suporte a temas como o Aqua? (Sim, você pode, há infraestrutura e ferramentas, por exemplo, HaikuThemeManager , mas alguém deve criar temas. Eu tentaria eu mesmo, me disseram que há documentação em https://xref.plausible.coop/source / xref / haiku / cabeçalhos / os / interface / ControlLook.h, mas não agora).

São nuances sutis, dadas as quais, o sistema não deve perder sua personalidade única.


Conclusão


O Haiku realmente abriu meus olhos, mostrou como o ambiente de trabalho "simplesmente funciona".
10 Mac Linux , Haiku .


, , , , WLAN , " ".


, , , Linux.


( ) .


() .


.


: , , , " ", UNIX.


, ( ), .


#LinuxUsability . , Haiku , , Linux .


, : , .


! Haiku DVD USB, . Etcher .


: Haiku.


:

Source: https://habr.com/ru/post/pt461141/


All Articles