Como alguns já sabem, minha distribuição Linux preferida é o Slackware. No entanto, não é uma distro fácil para os usuários com deficiência visual instalar. O instalador do Slackware não é acessível, a não ser que os usuários tenham um sintetizador de voz baseado em hardware (não tenho, e a maioria dos outros deficientes visuais provavelmente também não), o que significa que eles precisariam de ajuda de alguém que enxerga para instalar o Slackware e depois instalar os leitores de tela nele. Alguns visitantes do blog que são deficientes visuais me enviaram e-mails e mostraram interesse em instalar o Slackware, mas eles não tinham ninguém que enxerga para guiá-los na instalação e, infelizmente, não pude ajudá-los. Mas agora, esse problema tem uma solução, na forma de uma distribuição Linux baseada em Slackware chamada Slint.

Slint e Acessibilidade

Em meados de agosto de 2017, Didier Spaier - o criador da distribuição Slint - entrou em contato com algumas pessoas - incluindo a mim - para discutir como tornar o Slint acessível e ajudamos a testar a próxima versão da distro. Após muitos testes, o Slint 14.2.1 foi lançado no final de dezembro de 2017, com um instalador acessível (tanto por Braille quanto por fala), com os leitores de tela Speakup (para modo texto), Orca (para modo gráfico) e gerenciadores de janelas acessíveis incluídos por padrão.

O instalador apresenta o texto da tela por meio de fala, ou por Braille se o usuário tiver um dispositivo Braille, e está disponível em vários idiomas, incluindo o Português.

Depois de instalado, o Slint usa o Orca com suporte a fala e Braille no modo gráfico (X). Tem vários gerenciadores de janelas para escolher, a maioria acessível. Estes incluem Blackbox, Fluxbox, LXDE, Windowmaker, XFCE e MATE. Muitas das aplicações gráficas também são acessíveis, como LXTerminal (emulador de terminal), Firefox (navegador web), LibreOffice (suíte de escritório), Pluma (um editor de texto leve) e algumas ferramentas administrativas para iniciantes, para aqueles que não estão acostumados (ou não gostam) da linha de comando do Linux.

No modo texto, tem suporte Braille através do Brltty e o leitor de tela Speakup com síntese de voz via software por meio do Espeak e do Espeakup. O Slint também fornece o Emacspeak, para aqueles que gostam do Emacs.

Pacotes, Pacotes e Mais Pacotes!

Eu adoro o Slackware. É a distro com a qual me identifiquei melhor e que consegui usar com mais facilidade. Adoro como ele mantém tudo simples em geral, como ditam seus princípios. A forma como ele fornece boas configurações para a maioria das coisas por padrão, como a ativação / desativação de serviços na inicialização é simplesmente uma questão de dar ou remover permissões de execução ​​aos arquivos de inicialização correspondentes em "/etc/rc.d" (geralmente apenas fazendo "chmod +x" para ativar ou "chmod -x" para desativar é o suficiente), como é fácil inspecionar qual arquivo foi instalado por qual pacote (basta dar um"grep arquivo_procurado / var/log/packages/*"), e como ele não divide pacotes (como o "appname-bin", "appname-libs" e "appname-dev" de outras distros) e não me deixa correr o risco de encontrar problemas resultantes de instalar programas "pela metade". Porém, um dos maiores pontos de frustração para mim, especialmente na época que comecei a usar o Slackware em 2009, era que não havia pacotes pré-compilados ou SlackBuilds para a maioria das coisas que eu queria, e eu tinha que caçar os programas e suas dependências e criar SlackBuilds para tudo por conta própria. Este é um dos pontos que faz muitas pessoas pensarem que o Slackware é difícil de usar. Mas, felizmente aqueles tempos já se foram, e há muito mais pacotes (tanto binários quanto SlackBuilds) disponíveis hoje do que naquela época.

Os pacotes do Slint são totalmente compatíveis com o Slackware. Na verdade, muitas coisas como o kernel, o Glibc, várias bibliotecas e programas vêm direto do Slackware sem nenhuma modificação. O Slint também obtém pacotes direto da distro Salix, que tem como uma das propostas fornecer pacotes totalmente compatíveis com o Slackware original. Isso inclui um repositório "extra" com vários programas compilados usando os scripts do Slackbuilds.org. Também tem os pacotes que não estão presentes no Slackware por padrão mas estão no Slint, como o Espeakup, o Orca e suas dependências. E já que todos os pacotes são compatíveis com o Slackware, significa que os usuários do Slackware normal que não estiverem afim de ficar compilando programas podem aproveitar todos esses repositórios com binários prontos para instalar!

Instalando e Configurando o Slint

No início de 2018, meu HD pifou e eu tive que substituí-lo. Mas em vez de instalar o Slackware como sempre, escolhi instalar o Slint, já que ele vem com um instalador falante e me permitiria instalar o sistema sem ajuda visual.

Instalar o Slint é fácil. Primeiro, baixe a ISO mais recente (Slint 14.2.1.1 no momento em que escrevo) e grave a imagem em um DVD ou pendrive. Depois de ligar a máquina com a mídia de instalação inserida, o computador pode emitir um bip (se não houver bip, espere uns 10 a 15 segundos). Dê "Enter". Vai aparecer a lista de idiomas, mas o instalador ainda não estará falando, então pode escolher qualquer coisa por enquanto (quando o instalador começar a falar, ele vai pedir para confirmar o idioma e esta lista aparecerá novamente depois).

O instalador vai carregar, e informar em voz alta (em Inglês) que o Slint tem um instalador falante para ser acessível a usuários com deficiência visual (particularmente, achei isso muito legal :D ) e pedir para digitar "S" (maiúsculo) seguido de "Enter"para continuar com a fala ativada, ou simplesmente dar "Enter" para continuar com o instalador sem fala (para usuários com visão, ou pessoas que usam dispositivos Braille em vez de fala). Depois, virão mais algumas perguntas, e a opção de confirmar o idioma ou escolher outro, e o leiaute do teclado será configurado automaticamente de acordo com o idioma escolhido (por exemplo, escolhendo o português do Brasil, o teclado será configurado automaticamente para o padrão brasileiro, que é "br-abnt2"), e você pode aceitar essa configuração ou escolher uma diferente se desejar. Em seguida, você faz login como root (sem senha) e chega no prompt de comando.

Se o disco ainda não estiver particionado, precisa ser particionado antes da instalação. Esta é provavelmente a parte difícil para as pessoas que não estão acostumadas com o Linux, mas em casos normais não deve ser tão difícil assim (em casos anormais, com o disco já cheio e com outro sistema operacional dentro, é outra história). A maneira mais fácil de criar as partições é com o programa "cfdisk" (dica: pressione o asterisco do teclado numérico algumas vezes até o leitor de tela falar "highlight tracking". Isso deve facilitar a navegação pelas opções). Dentro do Cfdisk, as setas para cima e para baixo navegam entre as partições disponíveis ou espaço não particionado no disco, as setas a esquerda e a direita percorrem pelas ações disponíveis (criar nova partição, alterar o tipo, excluir partição, gravar a tabela de partições), e "Enter" escolhe a opção. Não vou entrar em detalhes aqui, mas, basicamente, supondo um disco vazio ou com espaço não particionado, o lance é: criar pelo menos uma partição Linux e uma partição swap e uma partição EFI se sua máquina suportar EFI. Para cada partição, escolher uma área com espaço livre, criar uma nova partição, digitar o tamanho (em MB, GB, etc.) e escolher o tipo entre as opções apresentadas (as mais relevantes são "Linux", "Linux Swap" e "EFI (FAT-12/16/32)"). Depois de criadas todas as partições, grave as mudanças na tabela de partições e saia do Cfdisk.

Com as partições prontas, digite "setup" e dê "Enter" para iniciar o programa que o guiará na instalação do Slint propriamente dita. O processo de instalação é praticamente o mesmo do Slackware (ou seja, siga as instruções na tela e escolha o que desejar nos menus e pronto. Não pode ser mais fácil que isso!). Quando chegar na parte de instalar pacotes, ele vai perguntar se você quer instalar o desktop KDE (come bastante espaço em disco e não é acessível para leitores de tela, então você pode querer não instalar). Em seguida, ele instala tudo, configura mais coisas, pede para definir a senha do usuário root, o orienta na criação do primeiro usuário não-root, e logo a instalação chega ao fim. Reinicie a máquina, e é isso!

Para (muito mais) detalhes sobre o processo de instalação, leia as instruções na wiki do Slint (em Inglês).

Configurando a Acessibilidade

Depois de instalar o Slint, a princípio encontrei alguns problemas com o som, principalmente relacionados ao PulseAudio e aplicativos que só suportam o ALSA (como players de mídia) brigando pelo controle da placa de som, mas graças às correções no Slint 14.2.1.1 (lançado em 5 de fevereiro de 2018), esses problemas não existem mais, e os leitores de tela e outros aplicativos de áudio coexistem pacificamente.

Para configurar a acessibilidade da interface gráfica (X) para o seu usuário, você deve digitar o comando "orca-on" como seu usuário normal, para ativar o Orca na inicialização do X através de um arquivo em "~/.config/autostart" e configurar as variáveis relacionadas a acessibilidade ​​em seu arquivo "~/.bash_profile". E se você precisa de Braille, certifique-se de dar permissão de execução ​​ao arquivo "/etc/rc.d/rc.brltty". Se quiser mudar de gerenciador de janelas, use o comando "session-chooser". Ou se quiser escolher um gerenciador de login (para escolher entre login em modo texto ou modo gráfico), use "login-chooser" (como root). E é isso. Divirta-se!

Para mais detalhes sobre as configurações de acessibilidade, leia o guia sobre acessibilidade do Slint (em Inglês).

Instalando, Atualizando e Gerenciando Pacotes

O Slint vem com as ferramentas "installpkg", "removepkg" e "upgradepkg" exatamente como o Slackware normal. Para facilitar a busca, a instalação e a atualização de pacotes, ele também vem com outras ferramentas de gerenciamento de pacotes: Slapt-Get, Slapt-Src e SPI.

Assim como o gerenciador de pacotes Apt-Get do Debian, o Slapt-Get instala pacotes pré-compilados dos repositórios e (com tanto que o repositório forneça informações de dependências) instala automaticamente as dependências para que não precisemos procurá-las uma por uma. O Slapt-Src é semelhante, mas em vez de binários, ele encontra e compila pacotes diretamente do código fonte, usando SlackBuilds de repositórios como o Slackbuilds.org. E por último, tem o SPI (Salix Package Installer) que integra as duas ferramentas em uma única interface. Por exemplo, se pedirmos para instalar um pacote com SPI (spi --install nome_do_pacote), ele tenta encontrar e instalar um binário usando o Slapt-Get, e se não encontrar um binário, ele procura por um SlackBuild, compila o código fonte e instala via Slapt-Src.

Graças às minhas experiências negativas com gerenciadores de pacotes de quando comecei a usar Linux e experimentei o Debian e o Ubuntu pela primeira vez, nunca confiei em gerenciadores de pacotes, sempre pensando que eles poderiam fazer coisas que não deveriam e estragar meu sistema. Mas hoje não tenho tanto tempo e disposição para caçar pacotes e dependências como eu tinha no começo. Então, eu decidi dar uma chance aos gerenciadores de pacotes do Slint. E devo dizer que, para minha surpresa, eles estão me economizando bastante tempo e se comportando exatamente como eu esperava. Coloquei os pacotes que terminam em "am" (o sufixo para meus pacotes compilados personalizados) na lista de exclusões em "/etc/slapt-get/slapt-getrc" para que as ferramentas não tentem substituir meus pacotes personalizados, e sempre uso as opções "--prompt" e "--simulate" para ver o que as ferramentas pretendem instalar/remover/atualizar antes de fazer pra valer. Até agora, não tive nenhuma surpresa desagradável.

Falando em exclusões e atualizações, o kernel também está na lista de exclusões do Slint, porque a atualização do kernel precisa de intervenção manual. Então, quando o Slackware oficial (que é de onde o Slint obtém os pacotes do kernel) libera um novo kernel com atualizações de segurança, ele deve ser atualizado separadamente. Para isso, siga estas instruções de atualização do kernel (em Inglês).

Conclusão

Tenho usado o Slint como meu sistema principal desde o início de janeiro de 2018. Estou tratando minha instalação do Slint praticamente da mesma forma que eu tratava minhas instalações do Slackware anteriores, exceto pelo uso de gerenciadores de pacotes, pois é algo que antes eu não fazia. Mas minha experiência com os gerenciadores de pacotes do Slint foi positiva até agora, e sinto que manter meu sistema atualizado nunca foi tão fácil. No geral, estou muito feliz com esta distro.