
Vedeli ste, že môžete spustiť príkazový riadok? Linux na zariadení so systémom iOS? Možno sa pýtate: „Prečo by som mal používať aplikácie na posielanie textových správ na iPhone„To je oprávnená otázka. Ale ak čítate Opensource.com, pravdepodobne poznáte odpoveď: používatelia.“ Linux chcú s ním pracovať na akomkoľvek zariadení a chcú používať vlastné nastavenia.
Zo všetkého najviac však túžia po riešení zložitých problémov.
Mám sedem rokov starý iPad 2 Mini, ktorý je stále celkom dobrý na čítanie elektronických kníh a iné úlohy. Chcem ho však použiť aj na prístup k príkazovému riadku aplikácií s mojou sadou programov a skriptov, bez ktorých nemôžem fungovať. Potrebujem prostredie, na ktoré som zvyknutý, ako aj moje štandardné vývojové prostredie. A takto sa mi to podarilo dosiahnuť.
Pripojenie ku klávesnici
Používanie príkazového riadku na programovanie prostredníctvom klávesnice na obrazovke telefónu alebo tabletu je dosť nepraktické. Odporúčam pripojiť externú klávesnicu, buď cez Bluetooth, alebo pomocou adaptéra fotoaparátu pripojiť káblovú klávesnicu (ja som zvolil druhú možnosť). Pri pripájaní rozdelenej klávesnice Kinesis Advantage k iPhone 6 dostanete zvláštne zariadenie, ktoré sa podobá od klasiky Shadowrun.
Inštalácia shellu na iOS
Spustenie plne funkčného systému Linux V systéme iOS existujú dve možnosti:
- Bezpečné pripojenie k počítaču cez SSH (Secure Shell) Linux
- Spustenie virtuálneho systému s Alpine Linux s iSH, ktorý je s otvoreným zdrojovým kódom, ale musí byť nainštalovaný pomocou proprietárnej aplikácie TestFlight od spoločnosti Apple
Alternatívne existujú dve aplikácie emulátora terminálu s otvoreným zdrojovým kódom, ktoré vám umožňujú pracovať s nástrojmi s otvoreným zdrojovým kódom v obmedzenom prostredí. Toto je najjednoduchšia možnosť – v skutočnosti ju nespúšťate. Linuxa nástroje LinuxPri práci s týmito aplikáciami existujú vážne obmedzenia, ale získate čiastočnú funkcionalitu príkazového riadku.
Predtým, ako prejdem na zložité riešenia, pozriem sa na najjednoduchšiu metódu.
Možnosť 1: Shell Sandbox
Jedným z najjednoduchších spôsobov je inštalácia aplikácie pre iOS . To izolovaný príkazový shell s podporou viac ako 80 príkazov za nula dolárov. Dodáva sa s Pythonom 2.7, Pythonom 3.7, Lua, C, Clang a mnohými ďalšími.
Má približne rovnakú funkčnosť , ktorú vývojári opísali ako „testovacie používateľské rozhranie pre vstupnú platformu obrazovky“. Zdroje a-Shell sú zverejnené , je v aktívnom vývoji, poskytuje prístup k súborovému systému a prichádza s Lua, Python, Tex, Vim, JavaScript, C a C++, ako aj Clang a Clang++. Umožňuje vám dokonca nainštalovať balíčky Pythonu.
Možnosť 2: SSH
Ďalším krokom po stiahnutí aplikácie je nastavenie SSH klienta. Už dlho môžeme použiť ktorúkoľvek z mnohých SSH klientskych aplikácií pre iOS na pripojenie k serveru so spusteným Linux alebo BSD. Výhodou použitia SSH je, že na serveri môže bežať akákoľvek distribúcia s akýmkoľvek softvérom. Pracujete na diaľku a vaša práca sa jednoducho prenesie do terminálového emulátora na vašom zariadení so systémom iOS.
je populárna platená aplikácia SSH v . Ak ignorujete malú obrazovku zariadenia, používanie tohto softvéru je podobné ako pri pripájaní sa k serveru cez akýkoľvek iný príkazový riadok. Blink Terminal vyzerá skvele, má veľa hotových tém a možnosť vytvárať si vlastné, vrátane možnosti upravovať a pridávať nové fonty.
Možnosť 3: Spustenie Linux
Použitie SSH na pripojenie k serveru pod Linux — Toto je skvelý spôsob prístupu k príkazovému riadku, ale vyžaduje si externý server a sieťové pripojenie. Nie je to veľká prekážka, ale nemožno ju úplne ignorovať, takže možno budete musieť pracovať s Linux bez servera.
Ak je to váš prípad, budete musieť urobiť ešte jeden krok ďalej. je proprietárna služba na inštaláciu vyvinutých aplikácií ešte pred ich zverejnením v Apple App Store. Aplikáciu TestFlight si môžete nainštalovať z App Store a potom použiť testovacie aplikácie. Aplikácie v TestFlight umožňujú obmedzenému počtu beta testerov (zvyčajne do 10 000) pracovať s nimi počas obmedzeného času. Ak chcete stiahnuť testovaciu aplikáciu, musíte prejsť zo svojho zariadenia na odkaz, ktorý sa zvyčajne nachádza na webovej lokalite vývojára testovacej aplikácie.
Uvedenie Alpine na trh Linux s iSH
je open-source aplikácia TestFlight, ktorá spúšťa virtuálny stroj s hotovou distribúciou (s trochou úsilia môžete spustiť aj iné distribúcie).
Dôležitá vlastnosť: experimentálna aplikácia. Keďže iSH je momentálne testovacia aplikácia, nečakajte stálu a spoľahlivú prevádzku. Aplikácie TestFlight sú časovo obmedzené. Moja súčasná zostava vydrží len 60 dní. To znamená, že po 60 dňoch budem vyradený a budem sa musieť znova zapojiť do ďalšieho kola testovania iSH. Okrem toho stratím všetky svoje súbory, pokiaľ ich neexportujem pomocou súborov v systéme iOS alebo ich neskopírujem na hostiteľa Git alebo . Inými slovami: Nečakajte, že to bude fungovať aj naďalej! Do systému nevkladajte nič pre vás dôležité! Zálohujte na samostatné miesto!
Inštalácia iSH
Začnite inštaláciou z obchodu App Store. Potom nainštalujte iSH, z webovej stránky aplikácie. Existuje iný spôsob inštalácie pomocou AltStore, ale neskúšal som to. Alebo, ak máte platený vývojársky účet, môžete si stiahnuť repozitár iSH z GitHubu a nainštalovať si ho sami.
Pomocou odkazu TestFlight nainštaluje aplikáciu iSH do vášho zariadenia. Ako pri každej inej aplikácii sa na obrazovke zobrazí ikona.
Správa balíkov
iSH spúšťa emulátor x86 s Alpine LinuxAlpine je malá distribúcia, menšia ako 5 MB. Toto bolo prvýkrát, čo som používal Alpine, takže som si myslel, že jeho minimalizmus bude otravný, ale v skutočnosti sa mi naozaj páčil.

Alpine používa správcu balíkov , čo je jednoduchšie ako dokonca apt alebo pacman.
Ako nainštalovať balík:
apk add packageAko odstrániť balík:
apk del packageAko nájsť ďalšie príkazy a informácie:
apk --helpAktualizácia správcu balíkov:
apk update
apk upgradeInštalácia textového editora
Predvolený textový editor Alpine je Vi, ale uprednostňujem Vim, takže som ho nainštaloval:
apk add vimAk chcete, môžete nainštalovať Nano alebo Emacs.
Zmena škrupiny
Neviem ako vy, ale ja som potreboval . Iní ľudia preferujú alebo . Alpine však používa popol! Jaseň je vidlica škrupiny Dash, ktorá sama o sebe je vidlicou pôvodného jaseňa, príp . Jej prioritou je rýchlosť. Rozhodol som sa vymeniť rýchlosť za vstavané automatické dopĺňanie, farby, ovládacie prvky kláves Vim a zvýraznenie syntaxe, ktoré milujem a poznám z rybej škrupiny.
Inštalácia rýb:
apk add fishAk potrebujete Bash s automatickým dopĺňaním a manuálovými stránkami, nainštalujte si ich:
apk add bash bash-doc bash-completionMinimalistická ideológia Alpine zvyčajne znamená, že niektoré programy, ktoré sú zabalené v iných distribúciách, budú rozdelené do niekoľkých menších balíkov. Znamená to tiež, že si môžete prispôsobiť a zmenšiť veľkosť vášho systému presne tak, ako chcete.
Ďalšie informácie o inštalácii Bash nájdete v časti .
Zmena predvoleného shellu
Po nainštalovaní rýb sa naň môžete dočasne prepnúť zadaním fish a ísť do škrupiny. Chcem však urobiť z rýb predvolený shell a príkaz chsh, ktorý som používal na iných distribúciách, nefungoval.
Najprv zistíme, kde sú ryby nainštalované:
which fishTu je to, čo som dostal:
/usr/bin/fish Ďalej zmeňte prihlasovací shell na rybu. Môžete použiť ľubovoľný editor, ktorý vám vyhovuje. Ak ste začiatočník, nainštalujte Nano (pomocou príkazu apk add nano), aby ste mohli upraviť konfiguračné súbory a uložiť ich pomocou CTRL+X, potvrdiť a ukončiť.
Ale použil som Vim:
vim /etc/passwdMôj prvý riadok bol takýto:
root:x:0:0:root:/root:/bin/ashAk chcete, aby bola ryba predvolená škrupina, zmeňte tento riadok na nasledujúci:
root:x:0:0:root:/root:/usr/bin/fishPotom súbor uložte a ukončite.
Som si istý, že existuje dobrý spôsob, ako zmeniť cestu k shellu, aby sa dal použiť hneď. Ale neviem ho, takže odporúčam vrátiť sa do prehliadača aplikácií, vynútiť ukončenie shellu a pre istotu vypnúť a reštartovať iPad alebo iPhoneZnova otvorte iSH a teraz okrem správy „Vitajte v Alpine!“ a informácií o spustení z APK uvidíte štandardnú uvítaciu správu pre prihlásenie do systému Fish: Vitajte na rybách, priateľskej interaktívnej škrupine. Hurá!

Nastavenie jazyka Python a pip
Rozhodol som sa pridať (verzia 3.x), a to nielen na písanie kódu, ale aj preto, že používam viacero programov Python. Poďme si to nainštalovať:
apk add python3Hoci je Python 2.x zastaraný, môžete si ho nainštalovať:
apk add pythonNainštalujeme správcu balíkov Python s názvom pip a :
python3 -m ensurepip --default-pipInštalácia a konfigurácia správcu balíkov bude chvíľu trvať, takže počkajte.
Potom si môžete stiahnuť nástroj na prenos súborov cez sieť :
apk add curlČítanie manuálov
Fish používa vstavané automatické dopĺňanie založené na manuálových stránkach. Rovnako ako ostatní používatelia príkazového riadku používam príručku man, ale nie je nainštalovaný v Alpine. Tak som to nainštaloval s terminálovým pagerom :
apk add man man-pages less less-docOkrem človeka používam veľkolepý , ktorý poskytuje zjednodušené a komunitou riadené manuálové stránky.
Nainštaloval som to pomocou pip:
pip install tldr Tím tldr pripojí sa na web a načíta stránky, keď narazí na požiadavku na novú stránku. Ak potrebujete vedieť, ako používať príkaz, môžete napísať niečo ako tldr curl a získajte popis v jednoduchej angličtine a dobré príklady použitia príkazu.
Všetky tieto inštalačné práce je možné samozrejme automatizovať alebo inštalačný skript, ale v skutočnosti to nezodpovedá ideológii Alpine - prispôsobenie minimálnej inštalácie presne podľa vašich potrieb. Okrem toho to trvalo tak dlho, však?
doplňujúce informácie
iSH Wiki má stránku "“ so správami o tom, ktoré balíky sú momentálne spustené. Mimochodom, vyzerá to tak .
Ďalšia stránka wiki vysvetľuje ako z aplikácie Súbory systému iOS. Toto je jeden zo spôsobov, ako môžete presúvať a kopírovať súbory.
Môžete tiež nainštalovať Git (áno! apk add git ) a preneste svoju prácu do vzdialeného úložiska alebo ju preneste na server cez SSH. A samozrejme si môžete stiahnuť a spustiť ľubovoľný počet skvelých open-source projektov z GitHubu.
Viac informácií o iSH nájdete na týchto odkazoch:
O právach reklamy
Vdsina ponúk alebo WindowsPoužívame výhradne , najlepší serverový ovládací panel svojho druhu s vlastným dizajnom a jedno z najlepších dátových centier v Rusku a EÚ. Poponáhľajte sa s objednávkou!
Zdroj: hab.com
