Iniciando a liña de comandos de Linux en iOS

Iniciando a liña de comandos de Linux en iOS

Sabías que podes executar unha liña de comandos de Linux nun dispositivo iOS? Podes estar preguntando: "Por que debería usar aplicacións de texto no iPhone?" Pregunta xusta. Pero se estás lendo Opensource.com, probablemente coñezas a resposta: os usuarios de Linux queren poder usalo en calquera dispositivo e queren usar a súa propia configuración.

Pero, sobre todo, desexan resolver problemas complexos.

Teño un iPad 2 Mini de sete anos que aínda é bo para ler libros electrónicos e outras tarefas. Non obstante, tamén quero usalo para acceder á liña de comandos das aplicacións co meu conxunto de programas e scripts, sen os cales non podo traballar. Necesito un ambiente ao que estea afeito, así como o meu ambiente de desenvolvemento estándar. E aquí é como conseguín conseguilo.

Conectando a un teclado

Traballar coa liña de comandos para programar a través do teclado en pantalla dun teléfono ou tableta é bastante inconveniente. Recomendo conectar un teclado externo, xa sexa mediante Bluetooth ou mediante un adaptador de conexión de cámara para conectar un teclado con cable (escollín este último). Conectar un teclado dividido Kinesis Advantage a un iPhone 6 dá como resultado un dispositivo estraño que parece ciberdeck corporativo do clásico xogo de rol carreira de sombra.

Instalando o shell en iOS

Para executar un sistema Linux totalmente funcional en iOS, hai dúas opcións:

  • Shell seguro (SSH) conectado a unha máquina Linux
  • Executar un sistema virtual usando Alpine Linux con iSH, que é de código aberto pero que debe instalarse mediante a aplicación TestFlight propietaria de Apple

Alternativamente, hai dúas aplicacións de emulador de terminal de código aberto que ofrecen a posibilidade de traballar con ferramentas de código aberto nun ambiente limitado. Esta é a opción máis reducida; de feito, non é así como executas Linux, senón as ferramentas de Linux. Hai limitacións severas ao traballar con estas aplicacións, pero obtén unha funcionalidade parcial da liña de comandos.

Antes de pasar a solucións complexas, vou considerar a forma máis sinxela.

Opción 1: Shell no Sandbox

Unha das formas máis sinxelas é instalar a aplicación iOS LibTerm. É código aberto Shell de comandos sandbox con soporte para máis de 80 comandos a cero dólares. Vén con Python 2.7, Python 3.7, Lua, C, Clang e moito máis.

Aproximadamente a mesma funcionalidade a-Concha, descrito polos desenvolvedores como "unha interface de usuario de proba para unha plataforma con entrada de pantalla". a-Fontes de Shell publicadas de código aberto, está en desenvolvemento activo, ofrece acceso ao sistema de ficheiros e envíase con Lua, Python, Tex, Vim, JavaScript, C e C++ e Clang e Clang++. Mesmo che permite instalar paquetes de Python con pip.

Opción 2: SSH

Outro paso máis aló da descarga dunha aplicación é configurar un cliente SSH. Durante moito tempo, puidemos usar calquera das moitas aplicacións cliente SSH de iOS para conectarnos a un servidor que executa Linux ou BSD. A vantaxe de usar SSH é que calquera distribución pode executarse no servidor con calquera software. Vostede traballa de forma remota e os resultados do seu traballo simplemente transfírense ao emulador de terminal do seu dispositivo iOS.

palpebrar shell é unha aplicación SSH de pago popular en de código aberto. Se non prestas atención á pequena pantalla do dispositivo, usar este software é como conectarte ao servidor a través de calquera outra liña de comandos. O terminal Blink ten un excelente aspecto, ten moitos temas preparados e a posibilidade de crear os teus propios, incluída a posibilidade de personalizar e engadir novas fontes.

Opción 3: executar Linux

Usar SSH para conectarse a un servidor en Linux é unha boa forma de acceder á liña de comandos, pero require un servidor externo e unha conexión de rede. Este non é o maior obstáculo, pero non se pode ignorar por completo, polo que pode ter que traballar con Linux sen servidor.

Se este é o teu caso, terás que dar un paso máis. TestFlight é un servizo propietario para instalar aplicacións en desenvolvemento antes de que sexan lanzadas na Apple App Store. Podes instalar a aplicación TestFlight desde a App Store e despois usar as aplicacións de proba. As aplicacións de TestFlight permiten que un número limitado de probadores beta (normalmente ata 10) traballen con eles durante un tempo limitado. Para descargar a aplicación de proba, debes acceder á ligazón do teu dispositivo, que normalmente se atopa no sitio web do programador da aplicación de proba.

Executar Alpine Linux con iSH

ISH é unha aplicación TestFlight de código aberto que executa unha máquina virtual cunha distribución preparada Linux Alpine (cun pouco de traballo, pode executar outras distribucións).

Característica importante: aplicación experimental. Dado que iSH é actualmente unha aplicación de proba, non esperes un rendemento consistente e fiable. As aplicacións de TestFlight teñen un tempo limitado. A miña versión actual só funcionará durante 60 días. Isto significa que despois de 60 días serei expulsado e terei que reincorporarme á seguinte fase de probas iSH. Ademais, perderei todos os meus ficheiros se non os exporto con Files en iOS ou os copio nun host Git ou vía SSH. Noutras palabras: Non esperes que todo siga funcionando! Non coloques nada importante para ti no sistema! Fai unha copia de seguranza nunha localización separada!

Instalación iSH

Comeza coa instalación TestFlight desde a App Store. Despois instala iSH, obtendo unha ligazón para instalar dende o sitio web da aplicación. Hai outra forma de instalar usando AltStore, pero non o probei. Ou, se tes unha conta de programador de pago, podes descargar o repositorio iSH de GitHub e instalalo ti mesmo.

Usando a ligazón, TestFlight instalará a aplicación iSH no teu dispositivo. Como con calquera outra aplicación, aparecerá unha icona na pantalla.

Xestión de paquetes

iSH executa un emulador x86 con Alpine Linux. Alpine é unha pequena distribución que ten menos de 5 MB de tamaño. Esta foi a primeira vez que traballaba con Alpine, así que pensei que o minimalismo sería molesto, pero gustoume moito.

Iniciando a liña de comandos de Linux en iOS
Alpine usa un xestor de paquetes apkque é máis fácil que incluso apt ou pacman.

Como instalar o paquete:

apk add package

Como eliminar un paquete:

apk del package

Como atopar outros comandos e información:

apk --help

Actualización do xestor de paquetes:

apk update
apk upgrade

Instalación dun editor de texto

O editor de texto estándar de Alpine é Vi, pero eu prefiro Vim, polo que o instalei:

apk add vim

Se o desexa, pode instalar Nano ou Emacs.

Cambio de casca

Non sei ti, pero necesitaba casca de peixe. Outras persoas prefiren Bater ou zsh. Non obstante, Alpine usa cinza! Ash é un garfo do shell Dash, que é en si mesmo un garfo da cinza orixinal, ou Concha de Almquist. A súa prioridade é a velocidade. Decidín cambiar a velocidade polo autocompletado integrado, as cores, a xestión de chaves de Vim e a sintaxe destacando que me encanta e coñezo a cuncha de peixe.

instalación de peixe:

apk add fish

Se necesitas Bash coas súas páxinas de autocompletado e man, instálaas:

apk add bash bash-doc bash-completion

A ideoloxía minimalista de Alpine normalmente significa que algúns programas que son un só paquete noutras distribucións dividiranse en varios paquetes máis pequenos. Tamén significa que podes axustar e reducir o tamaño do sistema como queiras.

Para obter máis información sobre a instalación de Bash, consulte este tutorial.

Cambiando o shell predeterminado

Unha vez instalado o peixe, podes cambiar a el temporalmente escribindo fish e indo á cuncha. Pero quero facer de fish o shell predeterminado e o comando chsh, que usei noutras distribucións, non funcionou.

Primeiro, imos descubrir onde está instalado o peixe:

which fish

Aquí está o que me pasou:

/usr/bin/fish

A continuación, cambia o shell de inicio de sesión a peixe. Podes usar calquera editor que che guste. Se es un principiante, instala Nano (co comando apk add nano) para que poida editar os ficheiros de configuración e gardalos mediante CTRL+X, confirmar e saír.

Pero usei Vim:

vim /etc/passwd

A miña primeira liña foi:

root:x:0:0:root:/root:/bin/ash

Para que o peixe sexa a cuncha predeterminada, cambia esta liña á seguinte:

root:x:0:0:root:/root:/usr/bin/fish

A continuación, garda o ficheiro e sae.

Estou seguro de que hai unha boa forma de cambiar a ruta do shell para que se poida usar de inmediato. Pero non o coñezo, así que recomendo volver ao navegador da aplicación, forzar a saída do shell e, para estar seguro, apagar e reiniciar o iPad ou o iPhone. Abre iSH de novo e agora, ademais da mensaxe "Benvido a Alpine!" e información sobre o lanzamento desde o apk, verá a mensaxe de benvida de inicio de sesión de peixe estándar: Benvido a fish, o simpático shell interactivo. Hurra!

Iniciando a liña de comandos de Linux en iOS

Configurando Python e pip

Decidín engadir Pitão (versión 3.x), non só para escribir código, senón tamén porque uso varios programas de Python. Instalémolo:

apk add python3

Aínda que Python 2.x está desactualizado, tamén podes instalalo:

apk add python

Instala un xestor de paquetes Python chamado pip and ferramentas de configuración:

python3 -m ensurepip --default-pip

Levará algún tempo instalar e configurar o xestor de paquetes, así que ten paciencia.

Despois podes descargar unha ferramenta para transferir ficheiros pola rede enrolar:

apk add curl

Manuais de lectura

Fish usa o autocompletado integrado baseado en páxinas de manual. Como outros usuarios da liña de comandos, eu uso o manual man, e Alpine non o ten instalado. Así que o instalei cun buscapersonas de terminal menos:

apk add man man-pages less less-doc

Ademais do home, uso o magnífico Proxecto de páxinas tldr, que ofrece páxinas de manual simplificadas e dirixidas pola comunidade.

Instaleino con pip:

pip install tldr

Equipo tldr conéctase á web para buscar páxinas cando atopa unha solicitude para unha páxina nova. Se precisas saber como usar un comando, podes escribir algo así tldr curl e obtén unha descrición en inglés sinxelo e bos exemplos sobre como usar o comando.

Por suposto, todo este traballo de instalación pódese automatizar usando ficheiros de puntos ou un script de instalación, pero de feito isto non é moi consistente coa ideoloxía de Alpine: personalizando claramente a instalación mínima ás súas necesidades. Ademais, levou moito tempo, non?

información adicional

A Wiki iSH ten unha páxina "que funciona" con informes sobre os paquetes que se están executando actualmente. Por certo, parece npm non funciona neste momento.

Outra páxina da wiki explica como acceder aos ficheiros iSH desde a aplicación iOS Files. Esta é unha das formas en que pode mover e copiar ficheiros.

Tamén podes instalar Git (si! apk add git ) e envía o teu traballo a un repositorio remoto ou envialo ao servidor mediante SSH. E, por suposto, podes descargar e executar calquera gran número de proxectos de código aberto desde GitHub.

Podes atopar máis información sobre iSH nestas ligazóns:

Sobre os dereitos da publicidade

Vdsina ofertas servidores virtuais en Linux ou Windows. Usamos exclusivamente equipos de marca, o mellor panel de control do servidor interno deste tipo e un dos mellores centros de datos de Rusia e da UE. ¡Apresúrate a ordenar!

Iniciando a liña de comandos de Linux en iOS

Fonte: www.habr.com

Engadir un comentario