Header Ads

Como executar um Linux Shell no iOS

iSH é um projeto ativo para executar um shell Linux no iOS. Ele oferece um ambiente Alpine Linux completo com o gerenciador de pacotes apk. O aplicativo depende da emulação do modo de usuário x86.

Você pode baixar iSH na App Store. Novas instalações incluem um apk totalmente funcional por padrão. Os usuários de aplicativos existentes podem precisar instalar manualmente o apk seguindo as etapas na documentação.

Primeiros passos

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

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

O iSH fornece sua própria faixa de ícones de teclado para simplificar o uso do terminal com tela de toque. Os quatro botões à esquerda da faixa são Tab, Control, Escape e teclas de seta, respectivamente. Passe 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ções, colam o texto da área de transferência do iOS e ocultam o teclado. Toque em qualquer lugar para trazer o teclado de volta depois de escondê-lo.

Configurações iSH

O menu Configurações permite personalizar algumas opções. A página Aparência permite definir a fonte e alternar entre temas claros e escuros. Na página Ícone do aplicativo, você pode escolher entre vários ícones de aplicativo. Essa escolha permite que você combine o iSH com o estilo visual dos outros aplicativos em sua tela inicial do iOS.

O teclado externo permite controlar como o iSH deve lidar com um teclado físico conectado por Bluetooth ou um adaptador USB. Além do iOS &’ opções de remapeamento integradas, você pode remapear a opção e as chaves de backtick para o meta iSH e as chaves de escape. Você pode ocultar a faixa de ícones do iSH ao usar um teclado externo ativando a opção “ Ocultar com teclado externo ” configuração.

Sistemas de arquivos

iSH suporta o uso de múltiplos sistemas de arquivos. Vá para a página “ Sistemas de arquivos ” página no menu de configurações para gerenciá-los. Para começar, você &’ verá um único “ padrão ” Sistema de arquivos contendo a instalação integrada do Alpine.

Pressione “ Procurar arquivos ” para abrir o sistema de arquivos no iOS &’ Aplicativo Arquivos. Isso ajuda a copiar arquivos rapidamente do iSH para outros locais no seu dispositivo iOS.

Você pode exportar todo o sistema de arquivos com a opção “ Exportar ” opção. Os sistemas de arquivos podem ser importados para o iSH usando o botão “ Importar ” botão na página principal dos sistemas de arquivos.

O caso de uso prático para sistemas de arquivos é permitir que você execute várias instalações autocontidas. No momento, apenas imagens Alpine mínimas semelhantes ao iSH original funcionarão.

Você pode experimentar o Alpine &’ s “ Mini Root Filesystem ” – baixe-o, importe-o e pressione “ Inicializar deste sistema de arquivos ” para reiniciar o iSH usando o sistema de arquivos. Volte para o sistema de arquivos padrão selecionando sua entrada de menu e novamente selecionando “ Inicializar a partir deste sistema de arquivos ”.

Adicionando pacotes

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

 # Atualizar a atualização do apk das listas de pacotes # Atualizar atualização do apk dos pacotes existentes # Instalar apk SSH add openssh # Remover apk SSH do openssh 

Esteja ciente de que o padrão do iSH é seus próprios repositórios de pacotes. Isso permite que o aplicativo seja aprovado na análise da App Store, garantindo que seja totalmente independente.

Você pode alternar para os repositórios oficiais do Alpine Linux se 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 &’ s.

 grep -v "arquivo: /// ish / apk /" / etc / apk / repositories | dd de = / 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 / repositories 

Execute os comandos acima para substituir o conteúdo do pseudo-sistema de arquivos iSH &’ s / ish / apk pelos repositórios oferecidos pelo Alpine Linux. Você precisará executar a atualização do apk para obter as novas listas de pacotes.

Usando SSH

Você pode instalar o OpenSSH com apk add openssh.

O cliente funcionará imediatamente – tente ssh me @ myserver.

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

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

Isso gerará chaves de host SSH e solicitará que você defina uma senha para o usuário root. O executável sshd é chamado para iniciar o servidor SSH. Agora você poderá se conectar ao seu dispositivo como usuário root.

iSH não suporta a inicialização automática de serviços por padrão. Você pode configurar isso editando a terceira linha de / etc / inittab para :: sysinit: / sbin / openrc. Em seguida, execute rc-update add sshd para fazer o servidor SSH iniciar automaticamente quando você iniciar uma sessão iSH.

Executando um servidor web

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

Execute apk install apache2 para adicionar o Apache. Use httpd para iniciar o processo do Apache. Em seguida, visite o endereço IP do seu dispositivo iOS em um navegador da web – você deverá ver o padrão do Apache “ Funciona! ” texto.

iSH atualmente não oferece suporte para execução em segundo plano. Isso significa que você não pode mudar para o Safari e navegar nas suas páginas da web enquanto usa um iPhone. Em um iPad, é possível abrir um navegador na visualização dividida – iSH permanece ativo em seu lado da tela.

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

E agora?

Agora você está executando um ambiente Alpine Linux em seu dispositivo iOS. Adicione os pacotes que fazem sentido para o seu trabalho. Há uma lista crescente de softwares funcionais que incluem básicos do Unix e linguagens de programação completas. Node. js, Python, PHP, Ruby e Git estão todos operacionais.

Nem todo pacote funcionará. O software que faz chamadas de sistema que não foram traduzidas irá travar. Como o iSH é um emulador, o desempenho também pode ser inferior às vezes.

Você pode executar um servidor VNC se quiser usar aplicativos gráficos. Etapas detalhadas são fornecidas no wiki iSH. As limitações de desempenho ficarão claras com uma carga de trabalho gráfica, mas é tecnicamente possível. O processo envolve instalar o xorg-server, definir uma configuração headless e adicionar um arquivo . xinitrc para definir o gerenciador de janelas a ser usado. Você obterá os melhores resultados com um gerenciador de janelas leve como o i3.

Conclusão

O iSH parece prestes a se tornar um aplicativo iOS obrigatório para desenvolvedores e administradores de sistema. Já existem aplicativos de qualidade, como o a-Shell, que fornecem ferramentas básicas do Unix, e também clientes SSH, como o Termius, que permitem a conexão com uma máquina Linux remota. O iSH é a solução mais completa até o momento, oferecendo um ambiente Linux que oferece suporte a uma lista crescente de softwares populares.

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

Nenhum comentário