Olá, Habr! Apresento a vocês a tradução de um artigo da revista APC.

Neste artigo, discutimos a instalação completa de um ambiente operacional Linux junto com uma interface gráfica de desktop em dispositivos Android.
Uma das tecnologias-chave utilizadas por muitos sistemas Linux no Android é . Esta é uma implementação da utilidade chroot no espaço do usuário, que é muito popular em sistemas e servidores Linux desktop. No entanto, a ferramenta chroot requer privilégios de usuário root, que não estão disponíveis por padrão no Android. O pRoot oferece essa vantagem ao estabelecer um vínculo com um diretório.
Terminais Linux
Nem todos os emuladores de terminais Linux para Android possuem um conjunto de utilitários BusyBox, ao contrário, por exemplo, do Termux. A razão para isso é que toda a essência de sistemas como esse reside em fornecer uma instalação 'completa' de todos os componentes do SO, enquanto o BusyBox é destinado a reunir todas as utilidades comuns em um único arquivo binário. Em sistemas onde o BusyBox não está instalado, é usada uma imagem de inicialização para Linux que contém versões completas dos programas.
"
Defina um nome de usuário e senha para a distribuição e VNC no UserLAnd.
No entanto, esses sistemas apresentam uma tecnologia adicional que não requer a presença do Termux. Este artigo abordará a instalação completa da distribuição Linux, bem como do desktop GUI. Mas primeiro, é necessário escolher o método de instalação do sistema gráfico.
Linux no Android
Como mencionado anteriormente, os pacotes de software que iremos instalar são executados no espaço do usuário.
Isso significa que eles têm permissão apenas para o usuário atual, que no caso do sistema operacional Android é sempre um usuário comum, ou seja, não possui privilégios de administrador. No entanto, para instalar um desktop Linux, precisamos configurar um servidor gráfico, como X ou Wayland. Se fizéssemos isso em um ambiente operacional Linux, ele seria iniciado com privilégios de usuário comum, sem acesso ao nível gráfico do Android. Portanto, devemos considerar a instalação do servidor de uma maneira 'padrão' do Android, para que ele tenha acesso ao hardware e a capacidade de suportar um ambiente gráfico.
Os desenvolvedores inteligentes da comunidade sugeriram duas soluções para esse problema. A primeira é usar versões personalizadas do Linux (geralmente, isso se refere ao servidor X). Depois que elas começarem a rodar em segundo plano, você terá acesso a esse processo em segundo plano via VNC. Se o seu dispositivo Android já tiver um aplicativo VNC viewer para interagir remotamente com outros computadores, basta usá-lo para obter acesso remoto ao nó local. Essa é uma solução simples de implementar, no entanto, alguns usuários relatam dificuldades em fazer o aplicativo funcionar.
A segunda opção é instalar um servidor projetado especificamente para dispositivos Android. Alguns servidores estão disponíveis na Play Store em versões pagas e gratuitas. Antes de instalar, é necessário verificar se a opção escolhida é compatível ou pelo menos funciona com o pacote de software Linux para Android que você pretende instalar. Nós optamos pelo sistema X-Server, e por isso usamos o pacote de software XServer XSDL (). Este artigo descreverá o processo de instalação deste servidor, embora ele possa variar um pouco se você tiver um aplicativo diferente instalado ou usar VNC.
Escolha do sistema
Assim como no X-Servers, há vários aplicativos no Play Store para instalar distribuições do sistema Linux. Aqui, assim como com o Termux, nos concentraremos nas opções que não requerem privilégios de superusuário, o que, por sua vez, implica um certo grau de risco. Esses aplicativos fornecem toda a funcionalidade necessária para a maioria dos usuários, mantendo seus dados seguros. Abaixo estão exemplos de tais aplicativos no Play Store:
— : uma escolha bastante popular entre os usuários. O aplicativo inclui um conjunto de distribuições comuns: Debian, Ubuntu, Arch e Kali. Curiosamente, apesar da ausência de opções baseadas em RPM, o UserLAnd inclui Alpine Linux para dispositivos com menos memória.
— : este aplicativo ajuda na instalação de uma ou várias listas de distribuições de grande volume e pode incluir Ubuntu/Debian, Fedora/CentOS, openSUSE e até Kali. Também é possível escolher opções de desktop de baixo consumo: Xfce4, MATE, LXQt e LXDE. Para funcionar, é necessário ter o Termux instalado, e o sistema operacional Android deve ser a partir da versão 5.0.
— : muito parecido com o AnLinux. Pode ter um design melhor do que o aplicativo anterior, mas suporta menos distribuições.
— : este projeto começou como uma versão do Linux no Android e foi desenvolvido para programas de código aberto. Como sugere o nome, ele se concentra nas distribuições Debian, enquanto o 'X' no final indica que o aplicativo é voltado para desktop gráfico. E apesar de os criadores terem interrompido o desenvolvimento do projeto em favor do UserLAnd, o GNURoot WheezyX ainda está disponível no Play Store, caso alguém precise dele.
Os autores deste artigo usarão o aplicativo UserLAnd para instalar um desktop Linux no Android, e há várias razões para isso. Em primeiro lugar, o aplicativo é de código aberto (embora o AnLinux também seja). Em segundo lugar, ele oferece um bom conjunto de distribuições (embora Fedora e CentOS não estejam incluídos), além de permitir a instalação de distribuições com requisitos de sistema mínimos, que não ocuparão muito espaço na memória do smartphone. Mas a principal vantagem do UserLAnd é que ele possui ferramentas de suporte para a instalação de aplicativos individuais em vez de distribuições inteiras. Descobriremos o que isso significa para nós mais adiante. Agora, vamos instalar o UserLAnd em seu dispositivo.
Aplicativo UserLAnd
Baixe o aplicativo do Google Play ou F-Droid () no sistema Android. Ele é instalado como qualquer outro aplicativo – não há nada de especial a ser feito aqui. Depois disso, inicie-o a partir da sua gaveta de aplicativos.
A primeira coisa que você verá lá é uma lista de distribuições. No final, você pode encontrar algumas opções de desktop: LXDE e Xfce4. Fechando a lista estão o aplicativo Firefox, alguns jogos e várias utilidades de escritório: GIMP, Inkscape e LibreOffice. Esta aba é chamada de "Aplicativos". Ela é destinada à instalação de aplicativos.
Após instalar algo, aparecerá um registro correspondente na aba "Sessão". Aqui você pode iniciar ou parar a sessão atual, além de visualizar os processos em execução.
"Sistemas de Arquivos" – é a última aba, que mostra as instalações concluídas. Vale ressaltar que, após remover qualquer item dos Sistemas de Arquivos, as informações sobre ele serão excluídas da aba Sessão, o que, no entanto, não prova o contrário. Isso significa que você poderá criar uma nova sessão com base no sistema de arquivos atual. Compreender como essa inter-relação funciona é muito mais fácil ao vê-la em ação, e por isso começaremos instalando um aplicativo no ambiente do UserLAnd.

Antes de instalar uma distribuição no smartphone, é necessário conceder ao UserLAnd acesso ao armazenamento.
Distribuições no UserLAnd
Escolha uma das distribuições listadas na tela Apps para instalação no dispositivo. Como exemplo, usaremos o Ubuntu. Ao clicar no ícone, uma janela de diálogo aparecerá, solicitando o nome de usuário, a senha e a senha VNC. Em seguida, escolha a forma como você acessará a distribuição. O download começará, envolvendo a imagem básica da distribuição selecionada. A extração do arquivo será realizada no diretório UserLAnd.
Após o término do download, volte para o emulador de terminal xterm. Você pode digitar o comando de sistema para descobrir qual versão do Linux você instalou:
uname -aO próximo passo é instalar o ambiente de desktop usando o comando do Ubuntu:
sudo apt install lxdeO último passo é garantir que seu novo ambiente de desktop esteja pronto para ser iniciado. Para isso, você precisará editar o arquivo .xinitrcfile, que atualmente possui apenas uma linha. /usr/ bin/twmVocê precisará alterá-la para /usr/bin/startlxde. Agora saia da sessão XSDL (certifique-se de ter pressionado o botão STOP na área de notificações), mantenha pressionado o botão 'Ubuntu listing' na aba Sessions, em seguida, clique em 'Stop Sessions' e reinicie as sessões. Após alguns segundos, o ambiente do sistema LXDE deve aparecer. Nele, você pode fazer o mesmo que faria em um desktop normal. Ele pode ser um pouco menor e funcionar um pouco mais lento: para clicar em um botão no dispositivo, você precisará esperar mais do que se estivesse usando um teclado e um mouse. Vamos ver como podemos aprimorar especificamente o ambiente do sistema Linux no smartphone.
Guia rápido para UserLAnd
Ao examinar cuidadosamente o conteúdo da área de trabalho, você poderá encontrar uma recriação exata da versão desktop. Se você estiver usando o UserLAnd em um dispositivo com teclado e mouse (conectados via Bluetooth ou de outra forma), será fácil se adaptar ao uso do ambiente do sistema Linux nesse formato. Exceto por um pequeno atraso causado pela sincronização do cursor X-Windows com o cursor do dispositivo Android, tudo funciona sem problemas.
Provavelmente, a primeira coisa que você gostaria de fazer é ajustar o sistema de fontes padrão, pois o tamanho das fontes na área de trabalho é muito grande para a tela do telefone. Vá para o menu principal e selecione ‘Configurações’ → ‘Ajuste de aparência e widgets’ → ‘Widget’. Aqui você pode alterar o tamanho da fonte padrão para uma opção mais adequada ao seu telefone.
Talvez você queira instalar seus programas favoritos no ambiente de sistema Linux a seguir. Como mencionado anteriormente, os comandos do sistema não funcionarão nesse caso, então sinta-se à vontade para usar a ferramenta indispensável instalada no ambiente de sistema UserLAnd, chamada ASAP:
sudo apt install emacs 
As distribuições no aplicativo são apresentadas como sessões. Você pode iniciar e fechar essas sessões.

Após a instalação da distribuição, você pode adicionar um ambiente de área de trabalho com comandos padrão.
Provavelmente, você também precisará de métodos alternativos para estabelecer a conexão com sua distribuição. O fato de você ter inicialmente instalado o XSDL não significa que ele deva permanecer inalterado o tempo todo. Você pode criar outra conta na aba Sessão e escolher outro servidor. Apenas tenha certeza de que está especificando-o no mesmo sistema de arquivos. O UserLAnd tentará redirecioná-lo para o aplicativo adequado para instalar um novo tipo de conexão: seja XSDL, ConnectBot para SSH, ou bVNC.
No entanto, a insistência com que o aplicativo o redireciona automaticamente para a Play Store ao tentar reconectar pode ser irritante. Para parar isso, é suficiente mudar de servidor através da instalação de um aplicativo específico. Para instalar SSH, escolha o confiável VX ConnectBot. Basta entrar na porta 2022 na estação de trabalho com seu nome e senha. Para se conectar ao servidor VNC, basta instalar o aplicativo comercial, mas avançado em muitos aspectos, Jump Desktop, e digitar o endereço 127.0.0.1:5951.
Esperamos que você se lembre da senha VNC que definiu ao criar o sistema de arquivos.
Você pode acessar a sessão atual do UserLAnd usando ferramentas semelhantes em outro computador na sua rede. Basta conectar via SSH a uma sessão ativa (com tipo de conexão SSH, naturalmente) por meio de um terminal Linux, como o Konsole, ou conectar-se à sessão VNC usando o KRDC. Basta substituir os endereços locais na tela do computador pelos endereços IP do seu Android.
Combinada com alguns aplicativos portáteis, essa configuração fornecerá um sistema Linux portátil conveniente, ao qual você pode se conectar usando qualquer computador disponível no momento.
Fonte: habr.com
