Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux com interface gráfica no Galaxy S23 (sem root)

Guia completo e um script único para rodar um Ubuntu com desktop KDE Plasma dentro do Galaxy S23, usando Termux + proot-distro + Termux-X11sem root, com aceleração de GPU e opcionalmente num monitor externo.

Stack escolhida: Termux-X11 (display nativo, melhor desempenho) + Ubuntu (via proot-distro) + KDE Plasma (desktop completo) + Turnip/Mesa (GPU Adreno de verdade, sem root).

Dois modos de uso:

  1. Na tela do celular — funciona direto, sem hardware extra e sem DeX.
  2. Como computador de mesa — hub USB-C com HDMI + USB + carregador, virando um desktop Linux com monitor, teclado e mouse. Nesse caso o Samsung DeX é o caminho recomendado, por dar semântica nativa de mouse e não exigir opções de desenvolvedor: veja monitor externo.

Status: validado em campo. Testado num Galaxy S23 (Snapdragon 8 Gen 2, Adreno 740) com Ubuntu 26.04 + Plasma 6 e aceleração de GPU ativa. O que ainda não foi testado é o uso em monitor externo — a parte de DeX/HDMI segue baseada em documentação. Encontrou um erro? Veja solução de problemas e/ou abra uma issue.


Como funciona (visão geral)

┌─────────────────────────────────────────────────┐
│  Android (Galaxy S23)                             │
│                                                   │
│  ┌─────────────┐        ┌──────────────────────┐ │
│  │  Termux      │        │  App Termux:X11      │ │
│  │  (ambiente)  │        │  (mostra a tela)     │ │
│  │              │        └──────────▲───────────┘ │
│  │  proot-distro│                   │ display :0  │
│  │   └─ Ubuntu  │───────────────────┘             │
│  │       └─ KDE Plasma (startplasma-x11)          │
│  └─────────────┘                                  │
└─────────────────────────────────────────────────┘
  • Termux roda o ambiente base (não é root, é um app normal).
  • proot-distro instala uma distro Linux completa (Ubuntu) dentro do Termux.
  • Termux:X11 é um app separado que funciona como "monitor" — o KDE desenha a tela nele.
  • PulseAudio leva o som do Linux para o Android.

Começando — um comando só

Tudo é feito pelo lx, o script único na raiz do repositório.

pkg install -y git
git clone https://github.com/NicolasArthurDev/linux-android.git
cd linux-android
./lx install     # deixa o comando 'lx' disponível de qualquer pasta
lx               # menu interativo

O ./lx install cria um symlink em $PREFIX/bin. A partir daí você digita apenas lx, de onde estiver — não precisa lembrar onde clonou o repositório.

Por que symlink e não um alias no .zshrc? Um alias só existe em shells interativos do shell onde foi definido: não funciona dentro de scripts, em sh -c, em subshells, nem se você trocar de zsh para bash. O symlink num diretório do PATH funciona em todos esses casos — é o que um gerenciador de pacotes faria. E, por ser symlink e não cópia, um git pull já atualiza o comando. Para remover: lx uninstall (o repositório fica intacto).

Sem argumento nenhum ele abre um menu interativo. Se preferir digitar:

Comando O que faz
./lx setup Instala tudo: Termux, Ubuntu, KDE e GPU. Pula o que já está feito — pode rodar de novo sem medo
./lx start Inicia o desktop (detecta a GPU sozinho)
./lx stop Encerra e libera memória
./lx dev Ambiente de desenvolvimento (zsh, NvChad, tmux, lazygit...)
./lx gpu Ativa a aceleração de GPU
./lx browser Instala um navegador que realmente roda em proot (o do apt é snap)
./lx vscode Instala o VS Code (repo oficial arm64) sem o sandbox do Electron
./lx rice Desktop "rice": bspwm + polybar + rofi + picom, tema Catppuccin Mocha. No DeX use --mod alt
./lx de bspwm Define o ambiente padrão do start (kde · bspwm · xfce)
./lx doctor Diagnostica o que está faltando — rode este quando algo der errado
./lx status Mostra quais etapas já foram concluídas
./lx shell Abre um terminal dentro do Ubuntu
./lx update Atualiza o repositório e os pacotes dos dois ambientes
./lx install Habilita o comando lx global · uninstall remove
./lx log Log da última sessão, com as linhas repetidas colapsadas
./lx version Versão e qual arquivo está sendo executado
./lx help Ajuda completa

⚠️ Antes do setup, leia os pré-requisitos. Há dois APKs e uma opção de desenvolvedor que precisam ser feitos à mão — o ./lx doctor avisa se algum ficou faltando, mas não consegue fazer por você.

Os scripts em scripts/ viraram atalhos que chamam o lx. Continuam funcionando, mas o caminho recomendado é o ./lx.


Ambiente de desenvolvimento

./lx dev              # nos dois: Termux e Ubuntu
./lx dev termux       # só no Termux
./lx dev --no-claude  # sem o Claude Code

Instala em ambos: zsh + Oh My Zsh (tema darkblood), NvChad, tmux, git, btop, bat, fzf, lazygit, fastfetch e Claude Code.

Dois detalhes que o script resolve por você:

  • O Neovim do apt pode ser antigo demais para o NvChad, que exige 0.10+ (o Ubuntu 24.04, por exemplo, traz o 0.9.5) — então ele é instalado do tarball oficial.
  • O Claude Code não roda no Termux nativo (é um binário glibc; o Android usa bionic libc). Ele é instalado dentro do Ubuntu, e o comando claude fica disponível no Termux através de um wrapper que executa lá — transparente.

Documentação

Doc Assunto
pré-requisitos apps e opções do Android — leia antes de tudo
instalação o passo a passo detalhado
uso diário iniciar, parar, arquivos, atalhos
solução de problemas quando algo dá errado
dicas de desempenho deixar mais leve, alternativas
monitor externo hub USB-C, HDMI, DeX — virar um computador
aceleração de GPU Turnip/Adreno, o maior ganho do projeto
dentro do desktop subiu o KDE, e agora? terminal, rede, deixar bonito
rice bspwm + Catppuccin Mocha, tiling e atalhos de teclado

Testes

./tests/run.sh              # toda a suite
./tests/run.sh rice         # só as suites que casam com "rice"

164 verificações que não instalam nada: carregam o lx com o main() removido e substituem os comandos externos por mocks que registram como foram chamados. Cobrem detecção de contexto, layouts do proot-distro, resolução de GPU e locale, quoting do comando enviado ao proot, tolerância a pacote inexistente e os arquivos de configuração gerados pelo rice.


Aviso

Tudo aqui roda sem root e em modo de usuário comum. O desempenho é bom no S23 — especialmente com a GPU ativada — mas o KDE Plasma em proot pode ter pequenos bugs (efeitos visuais, bloqueio de tela). A configuração já desativa o que costuma dar problema. Se quiser algo mais leve e estável, o XFCE é uma ótima alternativa (veja as dicas de desempenho).


Autor

Nicolas Arthur@NicolasArthurDev

Projeto criado e validado num Galaxy S23. Se este guia te poupou tempo, deixe uma ⭐ no repositório.

Licença: MIT © 2026 Nicolas Arthur.

About

Ubuntu com KDE Plasma no Android via Termux + proot-distro + Termux-X11, sem root, com aceleração de GPU (Turnip/Adreno) e uso em monitor externo. Um script único (lx) instala e gerencia tudo. Pensado para o Galaxy S23.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages