O iSH coloca uma linha de comando Linux funcional no iPhone ou no iPad sem jailbreak. É gratuito, está na App Store e não é uma sessão remota: o shell, o sistema de arquivos e os pacotes ficam no próprio aparelho.
Como funciona de verdade
O iSH não é uma máquina virtual nem uma versão nativa. Ele roda um ambiente Alpine Linux por meio de emulação x86 em modo usuário combinada com tradução de chamadas de sistema: binários Linux x86 reais são interpretados instrução por instrução, e as chamadas de sistema que eles fazem são traduzidas para algo que o iOS aceite.
É esse desenho que explica ao mesmo tempo a compatibilidade do iSH e a sua lentidão. O interpretador do projeto usa threaded code — um vetor de ponteiros de função em vez de um switch simples — o que rende cerca de 3 a 5 vezes mais velocidade que a abordagem ingênua, mas você continua pagando um pedágio de emulação a cada instrução. Encare-o como um lugar para rodar scripts e ferramentas pequenas, não para compilar um projeto grande.
Há uma consequência que pega muita gente: como o emulador é x86, binários ARM que você tenha copiado de um Raspberry Pi ou de um Mac com chip M não vão funcionar. Tudo precisa vir dos repositórios x86 do Alpine.
Instalação e os primeiros cinco minutos
Instale o iSH Shell pela App Store. O download é pequeno — cerca de 6 MB — porque o sistema de arquivos raiz do Alpine é baixado e descompactado na primeira execução. Também existe um canal beta no TestFlight para quem quiser versões antes da loja.
A primeira coisa a fazer é atualizar o índice de pacotes:
apk update
Um engano comum é dizer que o iSH “suporta Bash, Zsh e Fish”. O que vem de fábrica é o BusyBox ash, o shell padrão do Alpine. Bash, Zsh e Fish estão todos disponíveis, mas você os instala:
apk add bash git python3 nano openssh
Gestão de pacotes: apk, não apt
Se os seus hábitos de Linux vêm do Debian ou do Ubuntu, a memória muscular vai atrapalhar. Aqui não existe apt-get. O Alpine usa apk:
apk add <pacote> para instalar, apk del <pacote> para remover, apk search <termo> para procurar e apk upgrade para atualizar tudo.
O Alpine é construído sobre a musl libc em vez da glibc. A maior parte do software de linha de comando não se importa, mas um binário ou um wheel de Python que pressuponha glibc vai se recusar a funcionar. Esse é um limite do Alpine, não do iSH.
O git clone que trava — e a correção
O problema mais relatado, de longe: o git clone para em resolving deltas 0% e não sai do lugar. Não é falha de rede, e sim um problema de threads sob emulação. Force o git a trabalhar com uma única thread:
git config --global pack.threads "1"
O clone então conclui, ainda que devagar em repositórios grandes. Vale a ressalva: isso resolve o clone, não tudo o que vem depois. Cadeias de ferramentas que abrem muitas threads ou esperam uma glibc completa — as compilações em Go são o exemplo clássico — ainda podem falhar mesmo com o checkout bem-sucedido.
Os limites que convém saber antes de depender dele
O iOS suspende aplicativos em segundo plano. Se você sair do iSH durante uma tarefa longa, o sistema vai acabar congelando o app ou recuperando sua memória. O wiki do projeto documenta uma gambiarra que mantém o aplicativo vivo usando o modo de localização em segundo plano, lendo /dev/location para /dev/null. Funciona, mas gasta bateria e é um contorno, não um recurso suportado.
Não há JIT. A Apple não concede aos aplicativos da App Store a permissão que deixaria o iSH compilar código em tempo de execução, o que impõe um teto à velocidade que o emulador pode alcançar.
Você está dentro do sandbox do aplicativo. O iSH não alcança o restante do iOS. Ele se integra ao app Arquivos, então dá para levar dados para dentro e para fora; mas “acesso em nível de sistema no iOS” não é isso — essa frase aparece em muitos textos e está errada.
iSH ou a-Shell?
Essas são as duas escolhas realistas, e são opostas.
O a-Shell traz binários nativos compilados para iOS. É rápido e gentil com a bateria, mas não é uma distribuição Linux: não há apk, não há apt, não há gerenciador de pacotes nenhum, nem intenção de acrescentar um. Você tem o que o mantenedor empacotou.
O iSH é um sistema Alpine de verdade, com milhares de pacotes instaláveis, e paga por isso com o custo da emulação.
Escolha o a-Shell se velocidade importa mais que variedade de pacotes. Escolha o iSH se você realmente precisa de uma distribuição Linux e aguenta a lentidão. E para encerrar uma dúvida recorrente: o Termux nunca foi portado para o iOS. O que aparecer na App Store se anunciando como “Termux para iPhone” não é o projeto do Android.
Onde o projeto está em 2026
Aqui vale frieza. A versão da App Store é a 1.3.2, de maio de 2023 — há mais de três anos não sai uma publicação na loja. A ficha mantém 4,7 de 5 em cerca de 1.200 avaliações, e o app roda a partir do iOS 11.
O repositório conta uma história mais animada: mais de 20 mil estrelas, mais de 4 mil commits e cerca de 660 issues abertas. O desenvolvimento não parou, mas o fluxo de versões prontas para a App Store parou — e o número de issues abertas é um sinal honesto das arestas que você vai encontrar.
Então vale a pena instalar?
Vale, com as expectativas ajustadas. Como ambiente Unix de bolso — escrever e rodar scripts de shell, editar arquivos com vim ou nano, um Python rápido, SSH para um servidor de verdade, operações com git, mexer num arquivo de texto às duas da manhã porque o computador não está por perto — ele cumpre, e nada mais no iOS faz isso de forma tão completa.
Como máquina de desenvolvimento, vai te irritar. Compilar é lento, tarefas longas morrem quando o app vai para segundo plano e alguns pacotes simplesmente não colaboram. Nossa avaliação anterior nesta página dizia que o iSH “precisava de bastante trabalho”; três anos depois isso continua verdade — com a diferença de que agora conseguimos apontar exatamente onde está o atrito, em vez de parar numa impressão.