Lancer la ligne de commande Linux sur iOS

Lancer la ligne de commande Linux sur iOS

Saviez-vous que vous pouvez exécuter une ligne de commande Linux sur un appareil iOS ? Vous vous demandez peut-être : "Pourquoi devrais-je utiliser des applications de texte sur iPhone ?" Question juste. Mais si vous lisez Opensource.com, vous connaissez probablement la réponse : les utilisateurs de Linux veulent pouvoir l'utiliser sur n'importe quel appareil et veulent utiliser leurs propres paramètres.

Mais surtout, ils aspirent à résoudre des problèmes complexes.

J'ai un iPad 2 Mini de sept ans qui est toujours bon pour la lecture de livres électroniques et d'autres tâches. Cependant, je souhaite également l'utiliser pour accéder à la ligne de commande des applications avec mon ensemble de programmes et de scripts, sans lesquels je ne peux pas travailler. J'ai besoin d'un environnement auquel je suis habitué, ainsi que de mon environnement de développement standard. Et voici comment j'ai réussi à y parvenir.

Connexion à un clavier

Travailler avec la ligne de commande pour programmer via le clavier à l'écran d'un téléphone ou d'une tablette est assez gênant. Je recommande de connecter un clavier externe, soit via Bluetooth, soit d'utiliser un adaptateur de connexion d'appareil photo pour connecter un clavier filaire (j'ai choisi ce dernier). La connexion d'un clavier divisé Kinesis Advantage à un iPhone 6 donne un appareil étrange qui ressemble à cyberpont d'entreprise du classique jeu de rôle course de l'ombre.

Installation du shell sur iOS

Pour exécuter un système Linux entièrement fonctionnel sur iOS, il existe deux options :

  • Secure Shell (SSH) connecté à une machine Linux
  • Exécution d'un système virtuel à l'aide d'Alpine Linux avec iSH, qui est open source mais doit être installé à l'aide de l'application propriétaire TestFlight d'Apple

Alternativement, il existe deux applications d'émulation de terminal open source qui offrent la possibilité de travailler avec des outils open source dans un environnement limité. C'est l'option la plus simple - en fait, ce n'est pas la façon dont vous exécutez Linux, mais les outils Linux. Il existe de sérieuses limitations lorsque vous travaillez avec ces applications, mais vous obtenez une fonctionnalité de ligne de commande partielle.

Avant de passer à des solutions complexes, je vais considérer la manière la plus simple.

Option 1 : Shell dans le bac à sable

L'un des moyens les plus simples consiste à installer l'application iOS LibTerm. Il Open source shell de commande sandbox avec prise en charge de plus de 80 commandes à zéro dollar. Il est livré avec Python 2.7, Python 3.7, Lua, C, Clang et plus encore.

À peu près la même fonctionnalité une coquille, décrit par les développeurs comme "une interface utilisateur de test pour une plate-forme avec saisie à l'écran". Sources a-Shell publiées open source, il est en cours de développement, fournit un accès au système de fichiers et est livré avec Lua, Python, Tex, Vim, JavaScript, C et C++, et Clang et Clang++. Il vous permet même d'installer des packages Python avec pip.

Option 2 : SSH

Une autre étape au-delà du téléchargement d'une application consiste à configurer un client SSH. Pendant longtemps, nous avons pu utiliser l'une des nombreuses applications client iOS SSH pour nous connecter à un serveur exécutant Linux ou BSD. L'avantage d'utiliser SSH est que n'importe quelle distribution peut s'exécuter sur le serveur avec n'importe quel logiciel. Vous travaillez à distance et les résultats de votre travail sont simplement transférés vers l'émulateur de terminal de votre appareil iOS.

coque clignotante est une application SSH payante populaire dans open source. Si vous ne faites pas attention au petit écran de l'appareil, l'utilisation de ce logiciel revient à se connecter au serveur via n'importe quelle autre ligne de commande. Le terminal Blink a fière allure, possède de nombreux thèmes prêts à l'emploi et la possibilité de créer le vôtre, y compris la possibilité de personnaliser et d'ajouter de nouvelles polices.

Option 3 : exécuter Linux

L'utilisation de SSH pour se connecter à un serveur sous Linux est un excellent moyen d'accéder à la ligne de commande, mais cela nécessite un serveur externe et une connexion réseau. Ce n'est pas le plus gros obstacle, mais il ne peut pas être complètement ignoré, vous devrez donc peut-être travailler avec Linux sans serveur.

Si tel est votre cas, vous devrez aller plus loin. TestFlight est un service propriétaire permettant d'installer des applications en cours de développement avant leur publication sur l'App Store d'Apple. Vous pouvez installer l'application TestFlight depuis l'App Store, puis utiliser les applications de test. Les applications dans TestFlight permettent à un nombre limité de bêta-testeurs (généralement jusqu'à 10 000) de travailler avec eux pendant une durée limitée. Pour télécharger l'application de test, vous devez accéder au lien sur votre appareil, qui se trouve généralement sur le site Web du développeur de l'application de test.

Exécution d'Alpine Linux avec iSH

ISH est une application TestFlight open source qui exécute une machine virtuelle avec une distribution prête à l'emploi Alpine Linux (avec un peu de travail, vous pouvez exécuter d'autres distributions).

Caractéristique importante: application expérimentale. Étant donné qu'iSH est actuellement une application de test, ne vous attendez pas à des performances constantes et fiables. Les candidatures TestFlight sont limitées dans le temps. Ma version actuelle ne fonctionnera que 60 jours. Cela signifie qu'après 60 jours, je serai expulsé et devrai rejoindre la prochaine phase des tests iSH. De plus, je perdrai tous mes fichiers si je ne les exporte pas avec Files sur iOS ou si je ne les copie pas sur un hébergeur Git ou par SSH. Autrement dit: Ne vous attendez pas à ce que tout continue à fonctionner ! Ne mettez rien d'important pour vous dans le système ! Sauvegardez dans un emplacement séparé !

Installation iSH

Commencez par l'installation TestFlight depuis l'AppStore. Installez ensuite iSH, obtenir un lien pour installer depuis le site Web de l'application. Il existe un autre moyen d'installer en utilisant AltStore, mais je ne l'ai pas essayé. Ou, si vous avez un compte développeur payant, vous pouvez télécharger le référentiel iSH depuis GitHub et l'installer vous-même.

En utilisant le lien, TestFlight installera l'application iSH sur votre appareil. Comme pour toute autre application, une icône apparaîtra à l'écran.

Gestion des colis

iSH exécute un émulateur x86 avec Alpine Linux. Alpine est une petite distribution dont la taille est inférieure à 5 Mo. C'était la première fois que je travaillais avec Alpine, donc je pensais que le minimalisme serait ennuyeux, mais j'ai vraiment aimé ça.

Lancer la ligne de commande Linux sur iOS
Alpine utilise un gestionnaire de paquets apkce qui est plus facile que même apt ou pacman.

Comment installer le paquet :

apk add package

Comment supprimer un paquet :

apk del package

Comment trouver d'autres commandes et informations :

apk --help

Mise à jour du gestionnaire de packages :

apk update
apk upgrade

Installation d'un éditeur de texte

L'éditeur de texte standard d'Alpine est Vi, mais je préfère Vim, donc je l'ai installé :

apk add vim

Si vous le souhaitez, vous pouvez installer Nano ou Emacs.

Changement de coque

Je ne sais pas pour vous, mais j'avais besoin coquille de poisson. D'autres préfèrent Frapper ou Zsh. Pourtant, Alpine utilise de la cendre ! Ash est une fourche de la coque Dash, qui est elle-même une fourche de la cendre d'origine, ou Coquillage Almquist. Sa priorité est la vitesse. J'ai décidé d'échanger la vitesse contre l'auto-complétion intégrée, les couleurs, la gestion des clés Vim et la mise en évidence de la syntaxe que j'aime et que je connais de la coquille de poisson.

pose de poisson :

apk add fish

Si vous avez besoin de Bash avec sa saisie semi-automatique et ses pages de manuel, installez-les :

apk add bash bash-doc bash-completion

L'idéologie minimaliste d'Alpine signifie généralement que certains programmes qui constituent un package unique sur d'autres distributions seront divisés en plusieurs packages plus petits. Cela signifie également que vous pouvez régler et réduire le système comme vous le souhaitez.

Pour plus d'informations sur l'installation de Bash, voir ce tutoriel.

Changer le shell par défaut

Une fois fish installé, vous pouvez y basculer temporairement en tapant fish et aller à la coquille. Mais je veux faire du poisson le shell par défaut, et la commande chsh, que j'utilisais dans d'autres distributions, ne fonctionnait pas.

Voyons d'abord où le poisson est installé:

which fish

Voici ce qui m'est arrivé :

/usr/bin/fish

Ensuite, changez le shell de connexion en poisson. Vous pouvez utiliser n'importe quel éditeur que vous aimez. Si vous êtes débutant, alors installez Nano (avec la commande apk add nano) afin de pouvoir éditer les fichiers de configuration et les enregistrer via CTRL+X, valider et quitter.

Mais j'ai utilisé Vim :

vim /etc/passwd

Ma première ligne était :

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

Pour faire du poisson la coquille par défaut, remplacez cette ligne par la suivante :

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

Enregistrez ensuite le fichier et quittez.

Je suis sûr qu'il existe un bon moyen de modifier le chemin du shell afin qu'il puisse être utilisé immédiatement. Mais je ne le connais pas, je recommande donc de retourner dans le navigateur de l'application, de forcer la sortie du shell, et pour être sûr, d'éteindre et de redémarrer l'iPad ou l'iPhone. Ouvrez iSH à nouveau et maintenant, en plus du message "Welcome to Alpine!" et des informations sur le lancement à partir de l'apk, vous verrez le message de bienvenue standard de connexion de poisson : Bienvenue au poisson, la coquille interactive conviviale. Hourra !

Lancer la ligne de commande Linux sur iOS

Configurer Python et pip

j'ai décidé d'ajouter Python (version 3.x), non seulement pour écrire du code, mais aussi parce que j'utilise plusieurs programmes Python. Installons-le :

apk add python3

Bien que Python 2.x soit obsolète, vous pouvez également l'installer :

apk add python

Installez un gestionnaire de packages Python appelé pip et outils de configuration:

python3 -m ensurepip --default-pip

L'installation et la configuration du gestionnaire de paquets prendront un certain temps, alors soyez patient.

Vous pouvez ensuite télécharger un outil pour transférer des fichiers sur le réseau boucle:

apk add curl

Manuels de lecture

Fish utilise la saisie semi-automatique intégrée basée sur les pages de manuel. Comme les autres utilisateurs de la ligne de commande, j'utilise le manuel man, et Alpine ne l'a pas installé. Je l'ai donc installé avec un téléavertisseur de terminal moins:

apk add man man-pages less less-doc

En plus de l'homme, j'utilise le magnifique projet de pages tldr, qui fournit des pages de manuel simplifiées et axées sur la communauté.

Je l'ai installé avec pip :

pip install tldr

Équipe tldr se connecte au Web pour récupérer des pages lorsqu'il rencontre une demande pour une nouvelle page. Si vous avez besoin de savoir comment utiliser une commande, vous pouvez écrire quelque chose comme tldr curl et obtenez une description en anglais simple et de bons exemples sur la façon d'utiliser la commande.

Bien sûr, tout ce travail d'installation peut être automatisé en utilisant fichiers dot ou un script d'installation, mais en fait ce n'est pas très cohérent avec l'idéologie d'Alpine - personnaliser clairement l'installation minimale en fonction de vos besoins. En plus, ça a pris tellement de temps, n'est-ce pas ?

Informations supplémentaires

Le Wiki iSH a une page "ce qui fonctionne" avec des rapports sur les packages en cours d'exécution. Au fait, il semble que npm ne fonctionne pas maintenant.

Une autre page wiki explique comment accéder aux fichiers iSH depuis l'application iOS Fichiers. C'est l'une des façons dont vous pouvez déplacer et copier des fichiers.

Vous pouvez également installer Git (oui ! apk add git ) et poussez votre travail vers un référentiel distant ou poussez-le vers le serveur via SSH. Et, bien sûr, vous pouvez télécharger et exécuter n'importe quel nombre de grands projets open source à partir de GitHub.

Plus d'informations sur iSH peuvent être trouvées sur ces liens :

Comme la publicité

Vdsina offre serveurs virtuels sous Linux ou Windows. Nous utilisons exclusivement équipement de marque, le meilleur panneau de contrôle de serveur interne de son genre et l'un des meilleurs centres de données en Russie et dans l'UE. Dépêchez-vous de commander!

Lancer la ligne de commande Linux sur iOS

Source: habr.com

Ajouter un commentaire