>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Shell

Como Transformar um Celular Android Antigo em um Servidor Linux de Bolso ou Desktop Sem Acesso Root

Quase todo mundo tem um smartphone antigo acumulando poeira em uma gaveta. A tela está intacta, a bateria ainda segura algumas horas, e o processador lá dentro tem oito núcleos—mas jogá-lo fora parece um desperdício. O destino típico desse tipo de dispositivo é ficar parado por anos até a bateria finalmente inflar.

Muitos tentaram instalar distribuições Linux no Android através de VNC, mas geralmente essa experiência termina em decepção: lentidão selvagem na interface, sem aceleração 3D adequada, e uma trabalheira infinita com permissões root. Recentemente descobri o repositório linux-android do desenvolvedor mayukh4. O projeto resolve esse problema de forma elegante. Usando um par de scripts baseados em Termux e Termux-X11, o celular se transforma em uma estação de trabalho completa com desktop gráfico ou um hub de automação residencial funcionando 24 horas. Sem root necessário.

mayukh_builds (3)

Dois Cenários em Um Repositório

O autor dividiu o projeto em dois ramos de uso independentes, que podem ser executados simultaneamente no mesmo dispositivo, se desejado.

O primeiro caminho é um desktop gráfico completo. O script implanta um ambiente de sua escolha (XFCE4, LXQt, MATE ou KDE Plasma), canaliza o áudio através do PulseAudio e configura a aceleração gráfica por hardware. Pronto para usar, você obtém o navegador Firefox, reprodutor VLC, Python 3 com gerenciador de pacotes pip, OpenSSH e até Wine para executar programas Windows x86 através de emulação Box64 e Hangover.

O segundo caminho é um servidor de automação residencial. O script cria um container Ubuntu leve via proot-distro e compila o Home Assistant Core dentro. O resultado é um servidor de casa inteligente local que controla lâmpadas e tomadas Wi-Fi, consumindo apenas poucos watts do carregador do celular.

Como Funcionam a Pilha Gráfica e a Aceleração 3D

O principal problema com os guias antigos para rodar Linux em celulares era o uso de clientes VNC lentos. Aqui, a imagem é enviada diretamente através do Termux-X11. Este é um aplicativo separado que serve como display X11 rápido para o ambiente Termux.

O autor tratou os gráficos corretamente. O script detecta automaticamente o modelo da GPU através das propriedades do sistema Android, ignorando a marca do smartphone (já que linhas da Samsung podem ter chips Snapdragon e Exynos).

Se o dispositivo tiver um chip Qualcomm Snapdragon com gráficos Adreno, o sistema baixa o driver Vulkan Turnip de código aberto paired com Zink (tradução OpenGL sobre Vulkan). Isso oferece desempenho 3D quase nativo e interface suave. Se o smartphone rodar em um processador com gráficos Mali ou PowerVR, o ambiente alterna para o renderizador de software SwRast. Para Mali, o autor recomenda razoavelmente escolher shells leves como LXQt ou XFCE, já que o KDE Plasma pesado em um renderizador de software vai apresentar lentidão perceptível.

Todos os parâmetros gráficos são salvos no arquivo de configuração ~/.config/linux-gpu.sh. Se desejar, você pode editá-lo manualmente e ajustar as flags do Mesa—por exemplo, forçar uma versão específica do OpenGL ou habilitar o modo de debug.

Trabalho Remoto via SSH

Ficar olhando para uma tela de cinco polegadas do smartphone quando se trabalha com terminal ou código nem sempre é conveniente. O desenvolvedor previu isso e incluiu um servidor OpenSSH no pacote base.

Como o Termux não tem privilégios root, o servidor SSH escuta na porta não padrão 8022. Você pode conectar ao smartphone de um laptop ou PC na rede local com um único comando:

ssh [email protected] -p 8022

O nome de usuário do Termux geralmente segue o padrão u0_a123 (você pode encontrá-lo com o comando whoami). Arquivos podem ser transferidos convenientemente via scp padrão ou qualquer cliente SFTP familiar. Basta adicionar o host a ~/.ssh/config no seu computador principal, configurar login por chave, e o celular se torna um sandbox remoto silencioso para testes e builds de código.

Nuances com o Home Assistant

Transformar um smartphone em um servidor de casa inteligente parece tentador, mas é importante entender as limitações técnicas do Android que o autor alerta honestamente na documentação.

Como o Home Assistant Core roda dentro de um container proot sem privilégios de superusuário:

  1. mDNS e descoberta automática de dispositivos na rede local não funcionam. A partir do Android 10, o sistema bloqueia o acesso a /proc/net/dev, então tomadas e lâmpadas inteligentes (por exemplo, TP-Link Kasa) devem ser adicionadas manualmente pelos seus endereços IP.
  2. Sem acesso ao stack Bluetooth do celular.
  3. Você não pode conectar um stick USB Zigbee ou Z-Wave externo sem um kernel customizado e acesso root.
  4. Isso é especificamente o Home Assistant Core, não o Home Assistant OS completo. Add-ons do catálogo de add-ons da comunidade que requerem Docker não podem ser iniciados aqui, mas as integrações nativas funcionam bem.

Para integrações na nuvem como Tuya ou Smart Life, não há essas restrições—elas se conectam via API do desenvolvedor e são gerenciadas sem problemas.

Instalação e Execução

Para instalação, você precisará do próprio Termux (obtenha estritamente o build do F-Droid, já que a versão da Google Play foi abandonada há muito tempo) e do Termux-X11 do repositório GitHub.

Antes de executar o script principal, você deve atualizar o banco de dados de pacotes e impedir que a CPU entre em modo de suspensão:

termux-wake-lock
pkg upgrade -y

O comando termux-wake-lock impede que o sistema operacional mate o processo de build quando a tela escurecer. Depois disso, você pode clonar e executar o script do desktop:

curl -O https://raw.githubusercontent.com/mayukh4/linux-android/main/termux-linux-setup.sh
chmod +x termux-linux-setup.sh
bash termux-linux-setup.sh

Durante o processo, o script perguntará qual shell gráfico instalar e se você precisa da camada de compatibilidade Wine. A instalação leva de 10 a 30 minutos.

Um detalhe interessante de implementação: o script tem uma função safe_install_pkg customizada. Ele analisa metadados de pacotes via apt-cache e verifica o bloco Conflicts antecipadamente. Se o sistema já tiver um pacote conflitante (por exemplo, builds diferentes de loaders Vulkan), o script ignora cuidadosamente o componente problemático em vez de travar com um erro.

O desktop inicia com o comando:

bash ~/start-linux.sh

Depois disso, basta abrir o aplicativo Termux-X11, onde o desktop aparecerá.

Se seu objetivo é configurar o Home Assistant, execute o script separado setup-homeassistant.sh. Ele cria um ambiente Ubuntu, instala dependências Python e compila os módulos necessários. A interface web do servidor abre em qualquer navegador na rede local no endereço http://<ip-телефона>:8123 após a inicialização.

Quem Vai Encontrar Este Projeto Útil

Os scripts do Mayukh4 eliminam a necessidade de montar um ambiente de trabalho a partir de instruções dispersas em fóruns. Todas as armadilhas comuns, incluindo conflitos de dependências e processos sendo mortos pelo gerenciador de segundo plano do Android, já estão tratadas aqui.

O projeto é perfeito para quem quer:

  • experimentar com Linux e a linha de comando sem comprar um Raspberry Pi ou configurar máquinas virtuais;
  • obter um servidor de bolso para tarefas Python em segundo plano e experimentos;
  • executar um hub de automação residencial barato em hardware antigo;
  • construir uma estação de trabalho móvel compacta conectando um teclado e mouse Bluetooth ao smartphone.

Se você tem um smartphone não utilizado com processador de 64 bits e 3-4 GB de RAM, este repositório dá a ele uma excelente chance de uma segunda vida.

Projetos relacionados