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 à
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
À peu près la même fonctionnalité
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.
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.
Exécution d'Alpine Linux avec iSH
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
Installation iSH
Commencez par l'installation
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.
Alpine utilise un gestionnaire de paquets
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
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
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 !
Configurer Python et pip
j'ai décidé d'ajouter
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
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
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
apk add man man-pages less less-doc
En plus de l'homme, j'utilise le magnifique
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
Informations supplémentaires
Le Wiki iSH a une page "
Une autre page wiki explique comment
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
Source: habr.com