Wousst Dir datt Dir d'Linux Kommandozeil op engem iOS Apparat ausféiere kënnt? Dir kënnt froen, "Firwat soll ech SMSen Apps op mengem iPhone benotzen?" Fair Fro. Awer wann Dir Opensource.com liest, wësst Dir wahrscheinlech d'Äntwert: Linux Benotzer wëllen et op all Apparat benotze kënnen a wëllen et selwer personaliséieren.
Awer virun allem si si frou fir komplex Probleemer ze léisen.
Ech hunn e siwe Joer alen iPad 2 Mini deen nach ëmmer ganz gutt ass fir E-Bicher an aner Aufgaben ze liesen. Wéi och ëmmer, ech wëll et och benotze fir Zougang zu der Kommandozeil vun Uwendungen mat mengem Set vu Programmer a Skripte ze kréien, ouni déi ech net schaffen kann. Ech brauch en Ëmfeld dat ech gewinnt sinn, souwéi mäi Standard Entwécklungsëmfeld. An hei ass wéi ech dat fäerdeg bruecht hunn.
Uschloss un eng Tastatur
Schafft mat der Kommandozeil fir ze programméieren duerch d'On-Écran Tastatur vun engem Telefon oder Tablet ass zimmlech onbequem. Ech recommandéieren eng extern Tastatur ze verbannen, entweder iwwer Bluetooth, oder e Kameraverbindungsadapter ze benotzen fir eng kabelt Keyboard ze verbannen (ech hunn déi lescht gewielt). Wann Dir d'Kinesis Advantage Split-Tastatur mat engem iPhone 6 verbënnt, kritt Dir e komeschen Apparat dat ähnelt
Installatioun vun der Shell op iOS
Fir e komplette Linux System op iOS ze lafen, ginn et zwou Méiglechkeeten:
- Secure Shell (SSH) verbonne mat engem Linux Computer
- E virtuelle System mat Alpine Linux mat iSH auszeféieren, deen Open Source ass awer muss mat der proprietärer TestFlight Applikatioun vun Apple installéiert ginn
Als Alternativ ginn et zwou Open Source Terminal Emulator Uwendungen déi d'Fäegkeet ubidden fir mat Open Source Tools an engem limitéierten Ëmfeld ze schaffen. Dëst ass déi meescht ofgeschnidden Optioun - tatsächlech ass dëst wéi Dir Linux Tools leeft, net Linux. Et gi schwéier Featurebeschränkungen wann Dir mat dësen Uwendungen schafft, awer Dir kritt deelweis Kommandozeilfunktionalitéit.
Ier Dir op komplex Léisungen weider geet, wäert ech déi einfachst Method kucken.
Optioun 1: Sandbox Shell
Ee vun de einfachste Weeër ass d'iOS App z'installéieren
Huet ongeféier déiselwecht Funktionalitéit
Optioun 2: SSH
En anere Schrëtt erop fir eng App erofzelueden ass en SSH Client opzestellen. Zënter enger laanger Zäit kënne mir eng vun de ville SSH Client Apps fir iOS benotze fir mat engem Server mat Linux oder BSD ze verbannen. De Virdeel fir SSH ze benotzen ass datt de Server all Verdeelung mat all Software lafen kann. Dir schafft op afstand an d'Resultater vun Ärer Aarbecht ginn einfach op den Terminalemulator op Ärem iOS Apparat transferéiert.
Optioun 3: Lancéiere Linux
SSH ze benotzen fir mat engem Linux Server ze verbannen ass e super Wee fir Zougang zu der Kommandozeil ze kréien, awer et erfuerdert en externen Server an eng Netzwierkverbindung. Dëst ass net déi gréissten Hürd, awer et kann net komplett ignoréiert ginn, also musst Dir Linux ouni Server lafen.
Wann dat Äre Fall ass, da musst Dir et e Schrëtt weider huelen.
Lafen Alpine Linux mat iSH
Wichteg Fonktioun: experimentell Applikatioun. Zënter iSH ass de Moment eng Testapplikatioun, erwaart Iech keng konstant an zouverlässeg Operatioun. TestFlight Uwendungen sinn Zäit limitéiert. Meng aktuell Build wäert nëmme 60 Deeg daueren. Dëst bedeit datt ech no 60 Deeg éliminéiert ginn an ech muss erëm an déi nächst Ronn vun iSH Testen matmaachen. Ausserdeem verléieren ech all meng Dateien ausser ech exportéieren se mat Dateien op iOS oder kopéieren se op e Git Host oder
Installatioun vun iSH
Start mat Installatioun
Mat Hëllef vum Link wäert TestFlight d'iSH Applikatioun op Ärem Apparat installéieren. Wéi mat all aner Applikatioun, erschéngt eng Ikon um Écran.
Package Management
iSH leeft en x86 Emulator mat Alpine Linux. Alpine ass eng kleng Distro, déi manner wéi 5MB an der Gréisst moosst. Dëst war meng éischte Kéier mat Alpine ze schaffen, also ech hu geduecht datt de Minimalismus lästeg wier, awer ech hunn et eigentlech wierklech gär.
Alpine benotzt e Package Manager
Wéi installéiert de Package:
apk add package
Wéi läschen ech e Package:
apk del package
Wéi fannt Dir aner Kommandoen an Informatioun:
apk --help
Package Manager Update:
apk update
apk upgrade
Installéiere vun engem Texteditor
Dem Alpine säin Default Text Editor ass Vi, awer ech léiwer Vim, also hunn ech et installéiert:
apk add vim
Wann Dir wëllt, kënnt Dir Nano oder Emacs installéieren.
Shell änneren
Ech weess net iwwer Iech, mee ech brauch
Fësch Installatioun:
apk add fish
Wann Dir Bash mat senger Autocompletion a Mann Säiten braucht, installéiere se dann:
apk add bash bash-doc bash-completion
Dem Alpine seng minimalistesch Ideologie bedeit normalerweis datt verschidde Programmer, déi an anere Verdeelunge verpackt sinn, an e puer méi kleng Packagen opgedeelt ginn. Et heescht och datt Dir d'Gréisst vun Ärem System personaliséiere kënnt a reduzéieren genau wéi Dir wëllt.
Fir méi Informatiounen iwwer d'Installatioun vu Bash, kuckt
Änneren vun der Default Shell
Nodeems Dir Fësch installéiert hutt, kënnt Dir temporär op et wiesselen andeems Dir gitt fish
a geet an d'Schuel. Awer ech wëll Fësch d'Standard Shell an de Kommando maachen chsh
, déi ech op aner Verdeelungen benotzt hunn, huet net geschafft.
Als éischt fanne mir eraus wou Fësch installéiert ass:
which fish
Hei ass wat ech krut:
/usr/bin/fish
Als nächst ännert d'Login Shell op Fësch. Dir kënnt all Editor benotze fir Iech bequem ze maachen. Wann Dir en Ufänger sidd, installéiert dann Nano (mat dem Kommando apk add nano
) sou datt Dir d'Konfiguratiounsdateien änneren an se iwwer CTRL+X späicheren, confirméieren an ausgoen.
Awer ech hunn Vim benotzt:
vim /etc/passwd
Meng éischt Linn war esou:
root:x:0:0:root:/root:/bin/ash
Fir Fësch als Standard Shell ze maachen, ännert dës Linn op déi folgend:
root:x:0:0:root:/root:/usr/bin/fish
Da späichert d'Datei a gitt eraus.
Ech si sécher datt et e gudde Wee ass fir de Wee op d'Schuel z'änneren sou datt et direkt benotzt ka ginn. Awer ech weess et net, also ech recommandéieren zréck an den Applikatiounsbrowser ze goen, d'Schuel erauszekréien, a fir op der sécherer Säit ze sinn, auszeschalten an Ären iPad oder iPhone nei starten. Open iSH erëm an elo, nieft dem Message "Welcome to Alpine!" an Informatioun iwwer de Start vun der Apk, gesitt Dir de Standard Fësch Login Wëllkomm Message: Wëllkomm um Fësch, déi frëndlech interaktiv Schuel. Hour!
Ariichten Python a Pip
Ech hu beschloss ze addéieren
apk add python3
Och wann Python 2.x al ass, kënnt Dir et installéieren:
apk add python
Loosst eis de Python Package Manager mam Numm pip an installéieren
python3 -m ensurepip --default-pip
Et dauert e bëssen Zäit fir de Package Manager z'installéieren an ze konfiguréieren, also waart just.
Dir kënnt dann en Tool eroflueden fir Dateien iwwer d'Netz ze transferéieren
apk add curl
D'Handbuch liesen
Fish benotzt gebaut-an Autocompletion baséiert op Mann Säiten. Wéi aner Kommandozeil Benotzer benotzen ech d'Handbuch man
, mee et ass net am Alpine installéiert. Also hunn ech et mat Terminal Pager installéiert
apk add man man-pages less less-doc
Nieft Mann benotzen ech herrlechen
Ech hunn et mat Pip installéiert:
pip install tldr
Equipe tldr
verbënnt op de Web fir Säiten ze recuperéieren wann et eng Ufro fir eng nei Säit begéint. Wann Dir wësse musst wéi Dir e Kommando benotzt, kënnt Dir eppes schreiwen wéi tldr curl
a kritt eng Beschreiwung op einfach Englesch a gutt Beispiller wéi een de Kommando benotzt.
Natierlech, all dës Installatioun Aarbecht kann automatiséiert ginn benotzt
zousätzlech Informatioune
D'iSH Wiki huet eng Säit "
Eng aner Wiki Säit erkläert wéi
Dir kënnt och Git installéieren (jo! apk add git
) an dréckt Är Aarbecht op e Remote Repository oder transferéiert se op de Server iwwer SSH. An, natierlech, kënnt Dir all Zuel vu super Open-Source Projete vu GitHub eroflueden a lafen.
Méi Informatioun iwwer iSH fannt Dir op dëse Linken:
Iwwer d'Rechter vu Reklammen
Vdsina bitt
Source: will.com