Como executar um shell Linux no iOS

Conteúdo

Ilustração mostrando o ícone iSH

iSH é um projeto ativo para executar um shell Linux no iOS. Oferece um ambiente Alpine Linux, complete com o apk gerente de embalagem. O aplicativo é baseado em emulação x86 em modo de usuário.

Você pode baixar iSH da App Store. As novas instalações incluem um apk por padrão. Os usuários existentes do aplicativo podem precisar instalá-lo manualmente apk seguindo os passos na documentação.

Iniciando

Comece instalando o iSH na App Store. Inicie o aplicativo e você será enviado diretamente para um ambiente de terminal Alpine Linux.

Você pode começar a executar comandos Linux familiares!! Você pode usar todos os utilitários Unix fornecidos por BusyBox, Incluindo cat, grep, ls, sed e wget.

iSH fornece sua própria faixa de ícones de teclado para simplificar o uso do terminal touchscreen. Os quatro botões à esquerda da faixa são Tab, Ao controle, Escape e setas respectivamente. Deslize o botão da tecla de seta na direção em que deseja que o cursor navegue.

Os três botões à direita abrem a interface de configuração, cole o texto da área de transferência do iOS e oculte o teclado. Toque em qualquer lugar para recuperar o teclado depois de escondê-lo.

Configurações ISH

O menu Configurações permite que você personalize algumas opções. A página Aparência permite que você determine a fonte e alterne entre temas claros e escuros. Na página de ícones do aplicativo, você pode selecionar entre vários ícones de aplicativos. Esta opção permite que você combine o iSH com o estilo visual de outros aplicativos na tela inicial do iOS.

O teclado externo permite controlar como o iSH deve lidar com um teclado físico conectado via Bluetooth ou um adaptador USB. Ao mesmo tempo, a partir das alternativas de remapeamento iOS integradas, você pode remapear as teclas de opção e til para as teclas iSH meta e escape. você pode ocultar a banda do ícone ish quando você usa um teclado externo ativando a configuração “Ocultar com teclado externo”.

Sistemas de arquivos

iSH suporta o uso de múltiplos sistemas de arquivos. Vá para a página “Sistemas de arquivos” no menu de configurações para gerenciá-los. Para iniciar, você verá um único sistema de arquivos “predeterminado” contendo a instalação alpina incorporada.

pressione “Procurar arquivos” para abrir o sistema de arquivos no aplicativo arquivos iOS. Isso ajuda a copiar arquivos rapidamente do iSH para outros locais em seu dispositivo iOS..

Você pode exportar todo o sistema de arquivos com a opção “Exportar”. Os sistemas de arquivos podem ser importados para o iSH usando o “importar” na página inicial do File Systems.

O caso de uso prático para sistemas de arquivos permite que você execute várias instalações autônomas. Atualmente, apenas imagens Alpine mínimas semelhantes ao iSH original funcionarão.

Você pode experimentar o Alpine’s “Mini sistema de arquivos raiz” – baixe, importá-lo e pressionar "Inicializar a partir deste sistema de arquivos" para reiniciar iSH usando o sistema de arquivos. Retorne ao sistema de arquivos padrão selecionando sua entrada de menu e novamente selecionando “Inicialização deste sistema de arquivos”.

Adicionar pacotes

Você pode usar regularmente apk comandos para gerenciar pacotes em seu ambiente iSH.

# Update the package lists
apk update

# Upgrade existing installed packages
apk upgrade

# Install SSH
apk add openssh

# Remove SSH
apk del openssh

Observe que o iSH usa seus próprios repositórios de pacotes por padrão. Isso possibilita que o aplicativo seja aprovado na revisão da App Store, certificando-se de que é absolutamente autônomo..

tu pode mudar para repositórios oficiais Alpine Linux se você preferir. Isso lhe dá acesso à lista completa de software Alpine. Muitos pacotes terão versões mais recentes nos repositórios Alpine principais do que as oferecidas nos repositórios iSH..

grep -v "Arquivo:///ish / apk /" /etc / apk / repositórios | dd of=/etc/apk/repositories bs=4194304
echo https://dl-cdn.alpinelinux.org/alpine/v3.12/main >> /etc/apk/repositories
echo https://dl-cdn.alpinelinux.org/alpine/v3.12/community >> /etc / apk / repositórios

Execute os comandos acima para substituir o conteúdo iSH /ish/apk pseudo-arquivo sistema com os repositórios oferecidos pelo Alpine Linux. Então você vai precisar correr apk update para obter as novas listas de pacotes.

Usando SSH

Você pode instalar o OpenSSH com apk add openssh.

O cliente trabalhará imediatamente., Experimente ssh me@myserver.

Para usar seu dispositivo iOS como um servidor SSH, executar os seguintes comandos:

ssh-keygen -A
passwd
echo "PermitRootLogin sim" >> /etc/ssh/sshd_config
sshd

Isso vai gerar chaves de host SSH e pedir que você defina uma senha para o root Nome do usuário. a sshd executável é invocado para iniciar o servidor SSH. Agora você será capaz de se conectar ao seu dispositivo como o root Nome do usuário.

O iSH não suporta serviços de partida automática por padrão. Você pode configurar isso edição da terceira linha de /etc/inittab para ::sysinit:/sbin/openrc. Próxima corrida rc-update add sshd para que o servidor ssh comece automaticamente quando você iniciar uma sessão ish.

Executando um servidor web

Como visto no exemplo SSH, iSH usa a pilha de rede do seu dispositivo. Você pode hospedar um servidor da web que você pode navegar em seus outros dispositivos.

Para correr apk install apache2 adicionar Apache. Usar httpd para iniciar o procedimento Apache. A seguir, visite o endereço IP do seu dispositivo iOS em um navegador da web; você deve ver a mensagem Apache padrão “Funciona!” texto.

Apache rodando em iSH no iOS

Hoje em dia, iSH não suporta execução em segundo plano. Isso significa que você não pode mudar para o Safari e navegar em suas páginas da web enquanto usa um iPhone.. Em um iPad, é possível abrir um navegador em visão dividida: iSH permanece ativo do seu lado da tela.

Apache pode ser configurado tão frequentemente. Você encontrará seu arquivo de configuração em /etc/apache2/httpd.conf. A raiz padrão do documento, de onde as páginas da web são veiculadas, isto é /var/www/localhost/htdocs.

Agora que?

Agora você está executando um ambiente Alpine Linux em seu dispositivo iOS. Adicione os pacotes que fazem sentido para o seu trabalho. Existe uma lista crescente de software de trabalho incluindo grampos Unix e linguagens de programação completas. Node.js, Pitão, PHP, Ruby e Git estão operacionais.

Apesar disto, nem todos os pacotes funcionarão. O software que faz chamadas de sistema que não foram traduzidas será bloqueado. Como iSH é um emulador, o desempenho também pode estar abaixo da média às vezes.

Você pode executar um servidor VNC se quiser usar aplicativos gráficos. Etapas detalhadas são fornecidas no Wiki do iSH. As limitações de desempenho serão eliminadas com uma carga de trabalho gráfica, mas é tecnicamente viável. O procedimento envolve instalação xorg-server, configurar uma configuração sem cabeça e, subsequentemente, adicionar um .xinitrc arquivo para definir o gerenciador de janelas a ser usado. Você obterá os melhores resultados com um gerenciador de janelas leve como i3.

conclusão

Parece que o iSH se tornará um aplicativo iOS obrigatório para desenvolvedores e administradores de sistemas. Já existem aplicativos de qualidade, como como o inferno que fornecem ferramentas básicas do Unix, bem como clientes SSH como Termius que permite que você se conecte a uma máquina Linux remota. Apesar disto, iSH é a resposta mais abrangente até agora, uma vez que oferece um ambiente Linux que suporta uma lista crescente de softwares populares.

Com iSH no seu iPhone ou iPad, você pode usar o conhecido software x86 Linux onde quer que esteja. Emparelhe-o com um teclado externo e você terá um dispositivo de produtividade portátil que pode realmente substituir o seu laptop..

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.