- App de código aberto que oferece um ambiente Linux e recursos de terminal no Android, com possibilidade de expansão por meio da instalação de vários pacotes
- Complementa recursos por meio de vários apps de plugin, como Termux:API, Boot, Float, Styling, Tasker e Widget
- Pode ser instalado via F-Droid, GitHub, Google Play (experimental) etc., e como as chaves de assinatura são diferentes, não é possível misturá-las
- No Android 12 ou superior, pode haver instabilidade causada por limitações de processo, com links para problemas relacionados e soluções
- Para desenvolvedores e mantenedores, há documentação clara sobre biblioteca compartilhada (
termux-shared), regras de mensagens de commit e diretrizes para forks
Visão geral do Termux
- Termux é um app emulador de terminal que fornece um ambiente Linux no Android
- O próprio app inclui a interface do usuário e os recursos de emulação de terminal
- Os pacotes instaláveis são gerenciados em um repositório separado, termux/termux-packages
- No Android 12 ou superior, podem ocorrer limite de 32 processos e encerramento de processos em caso de uso excessivo de CPU
- Os problemas relacionados e formas de resolução são indicados na issue #2366 do GitHub e em links para a documentação do Android
App Termux e plugins
- Além do app principal, há suporte aos seguintes apps de plugin
- Termux:API, Termux:Boot, Termux:Float, Termux:Styling, Termux:Tasker, Termux:Widget
- Como todos os plugins usam o mesmo sharedUserId(com.termux), só é possível instalar juntos APKs assinados com a mesma chave de assinatura
Como instalar
- A versão mais recente é a v0.118.3, com suporte completo ao Android 7 ou superior
- O suporte ao Android 5 e 6 foi encerrado em 2020, mas em 2022 houve retomada do suporte apenas para o app no código-fonte do GitHub
- Se forem instaladas em conjunto versões de fontes com chaves de assinatura diferentes (F-Droid, GitHub etc.), ocorrerão erros
- Para instalar a partir de outra fonte, é necessário remover antes todos os APKs existentes do Termux e de seus plugins e depois reinstalar
F-Droid
- É possível baixar o APK diretamente pelo F-Droid; após instalar o app, as atualizações precisam ser verificadas manualmente
- As compilações do F-Droid são mantidas pela equipe do F-Droid, e não pelos desenvolvedores do Termux, e a chave de assinatura é diferente
- Não são fornecidos APKs por arquitetura; é distribuído apenas um APK universal único (~180 MB)
GitHub
- Os APKs são disponibilizados por meio do GitHub Releases ou Build Action
- Para Android 7 ou superior, usa-se
apt-android-7; para Android 5 e 6, apt-android-5
- Os APKs compilados no GitHub são assinados com a chave de teste (
testkey_untrusted.jks), e qualquer pessoa pode compilar usando a mesma chave
- Como há risco de distribuição de versões maliciosas, não é recomendada a instalação de APKs vindos de fontes fora do repositório oficial no GitHub
- O APK universal tem cerca de 180 MB, e os APKs por arquitetura têm cerca de 120 MB
Google Play (experimental)
- Existe no Google Play uma versão adaptada às políticas para Android 11 ou superior, mas com recursos ausentes e bugs
- A versão da Play Store está sendo desenvolvida em um repositório separado (termux-play-store)
- Ela não é compatível com a versão do F-Droid devido à remoção de
sharedUserId, e é recomendável desativar as atualizações automáticas
Remoção e backup
- Ao mudar para outra fonte de instalação ou ao excluir o app, é necessário remover completamente todos os APKs do Termux e de seus plugins
- Antes da remoção, é possível fazer backup dos dados pelo procedimento Backing up Termux
Comunidade e documentação
- Principais comunidades: Reddit (r/termux), canais Matrix/Gitter, Twitter (@termuxdevs), e-mail de suporte (support@termux.dev)
- Documentação oficial:
- Materiais adicionais: FAQ, estrutura do sistema de arquivos, acesso remoto, acesso ao armazenamento do Android, configurações do terminal etc.
5 comentários
Sou da geração que mal começou a poder usar smartphone no exército,
instalei o Termux para praticar desenvolvimento web e até escrever interpretadores,
levei um livro de Rust para estudar também.
Depois de muito tempo, saindo da GUI
e mergulhando em um ambiente de texto, achei muito divertido.
Também aprendi
vimusando o Termux.Como nos comentários do Hacker News,
até hoje, quando pego um novo dispositivo Android,
instalo o Termux sem falta.
Pessoalmente, tenho achado extremamente útil para dar um
sshrápido no servidor quando preciso monitorar algum código enquanto estou fora.Estou usando um Pixel e, nas versões mais recentes do Android, passou a ser oficialmente possível instalar contêineres Linux pelas configurações de desenvolvedor (não sei se isso também é possível em outros celulares; provavelmente sim, né?)
Eu já deixava o Termux instalado mais como um brinquedinho que eu abria de vez em quando, ou, se fosse para citar um uso específico, só para algo como teste de
ping, mas agora tenho a impressão de que nem para esse tipo de uso ele vai mais ser necessário.Era um app interessante, então dá até um pouco de pena me despedir dele.
Eu tinha deixado o CopyParty mofando na minha lista de vídeos para assistir depois no YouTube, mas vendo os comentários no HN percebi que era da mesma pessoa o.o
Opiniões do Hacker News
Um dos meus softwares favoritos é o Copyparty, feito pela mesma pessoa que colocou o Termux no celular
O link do GitHub está aqui, e também há um vídeo no YouTube relacionado
Sempre que pego um dispositivo Android novo, a primeira coisa que instalo é o Termux
Conecto um case com teclado Bluetooth e faço programação remota do sofá com Neovim, gerencio notas com vimwiki e sincronizo tudo com o GitHub
A maioria das ferramentas de CLI está no repositório do Termux e, quando não está, eu mesmo compilo com clang, cmake etc.
É por causa do Termux que ainda uso Android como principal
Meu caso de uso do Termux é automatizar backup de fotos
Faço backup das fotos em um NAS, mas algumas ficam faltando, então executo no Termux um script que calcula checksums MD5 no NAS e apaga no celular os mesmos arquivos
Assim consigo liberar com segurança dezenas de GB de espaço
A issue relacionada do Nextcloud está aqui
Com o aumento do desenvolvimento baseado em IA, acho que mais gente vai passar a usar ferramentas como Termux, tmux
Digitar no celular é difícil, mas com teclados como o Unexpected Keyboard(link) e o modo vim, fica bem utilizável
Eu uso o Termux para executar SSH só quando preciso
Abro o Termux e o SSH liga; fecho e ele encerra. Isso já basta para sincronizar arquivos com rsync
Não preciso deixar nada rodando o tempo todo, então não uso apps como LocalSend ou SyncThing. No desktop, só executo um script simples de sync apontando a direção
Hoje em dia quase não uso apps assim porque já não existem celulares Android com teclado físico
Na época do Motorola Droid, eu montava um ambiente altamente produtivo com Termux e ConnectBot
Agora o potencial diminuiu, e a variedade de hardware e a abertura dos bootloaders também não são mais como antes. O Termux me traz nostalgia daquela época
No Termux dá para usar o mesmo ambiente com tmux, fish, git, yazi
Também é possível compilar apps em Rust, e é impressionante como apps TUI reagem ao toque
Fico curioso se existe um terminal desse nível também no iOS
Ouvi dizer que o Android agora está ganhando um ambiente Linux completo; nesse caso, o Termux ainda é necessário?
Vejo muita discussão sobre isso no r/androidterminal
Já o novo terminal Linux roda em uma VM separada, então usa mais espaço de armazenamento
Para mim, o Termux é o melhor emulador de terminal para Android
Organizo notas com fzf, Neovim e Git, e também faço acesso remoto por SSH
Se eu criar uma CLI ou TUI em Go e compilar com o NDK, ela roda direto no Termux
Sinceramente, tenho curiosidade de como vocês usam um ambiente de terminal numa touchscreen tão pequena?
:help. Hoje já estou totalmente acostumado