
Kas teadsite, et saate Linuxi käsurea käivitada iOS-seadmest? Võib-olla küsite: „Miks peaksin iPhone'is tekstirakendusi kasutama?“ Õiglane küsimus. Kuid kui loed Opensource.com, siis ilmselt tead selle vastust: Linuxi kasutajad soovivad, et nad saaksid sellega töötada igas seadmes ja soovivad kasutada oma seadistusi.
Kuid kõige rohkem soovivad nad keeruliste ülesannete lahendamist.
Mul on seitsme aasta vanune iPad 2 Mini, mis sobib ikka veel hästi e-raamatute lugemiseks ja muude ülesannete jaoks. Siiski tahan kasutada seda ka rakenduste käsureale juurdepääsuks koos oma programmide ja skriptide kogumiga, ilma milleta ei saa ma töötada. Mul on vaja keskkonda, millega olen harjunud, ja oma tavapärast arenduskeskkonda. Nii sain ma seda saavutada.
Ühendamine klaviatuuriga
Käesoleval või tahvelarvuti ekraanil klaviatuuriga töötamine on käsureaga programmeerimiseks üsna ebamugav. Soovitan ühendada välist klaviatuuri, kas Bluetoothi kaudu või kasutada kaameraliidese adapterit, et ühendada juhtmevaba klaviatuur (valisin viimase). Kui ühendada jaotatud klaviatuur Kinesis Advantage iPhone 6-ga, saab kummaline seade, mis meenutab klassikalisest Shadowrun.
Kihla iOS-ile shell
Täisfunktsionaalse Linuxi süsteemi käivitamiseks iOS-is on kaks võimalust:
- Secure Shell (SSH), mis on ühendatud Linuxi arvutiga
- Virtuaalsüsteemi käivitamine Alpine Linuxi abil iSH, mis on avatud lähtekoodiga, kuid tuleb installida Apple'i patenteeritud rakenduse TestFlight kaudu
Alternatiivina on olemas kaks avatud lähtekoodiga terminali emulaatorirakendust, mis võimaldavad avatud lähtekoodiga tööriistade kasutamist piiratud keskkonnas. See on kõige lihtsustatud variant — tegelikult ei käivita te Linuxit, vaid Linuxi tööriistu. Nende rakendustega töötamisel on piiratud võimalused, kuid saate osalise käsureafunktsionaalsuse.
Enne keerukate lahenduste käsitlemist vaatan lihtsama viisi.
Variant 1: shell „liivakastis“
Üks lihtsamaid viise on installida iOS-i rakendus . See on Sande tööriist, mis toetab rohkem kui 80 käsku, maksab null dollarit. Sellega koos tulevad Python 2.7, Python 3.7, Lua, C, Clang ja palju muud.
Umbes sama funktsionaalsusega on , mida arendajad kirjeldavad kui "katse kasutajaliidest sisendi ekraaniga platvormil". a-Shelli algkood on avalikult kätte saadav, , see on aktiivses arenduses, pakub juurdepääsu failisüsteemile ning tuleb koos Lua, Python, Tex, Vim, JavaScript, C ja C++ koos Clang ja Clang++. See võimaldab ka Python pakette pip abil installida.
Valik 2: SSH
Teine samm edasi rakenduse allalaadimise võrreldes on SSH-klientide seadistamine. Oleme juba pikka aega saanud kasutada paljusid SSH-kliente iOS-i jaoks, et ühendada end serveriga, kus töötab Linux või BSD. SSH kasutamise eeliseks on see, et serveris võib töötada igasugune distributsioon koos igasuguse tarkvaraga. Töö käib kaugjuhtimise teel ja töö tulemused edastatakse lihtsalt terminali emulaatorisse iOS-seadmes.
on populaarne tasuline SSH-rakendus . Kui mitte arvestada seadme väikest ekraani, siis tundub selle tarkvara kasutamine serveriga ühendust võtmise asemel sarnasena igasuguseks muuks käsureaks. Blink terminal on suurepäraselt kujundatud, sisaldab palju valmis teemasid ning võimaldab luua ka omasid, sealhulgas uute fontide seadistamise ja lisamise võimalust.
Valik 3: Linuxi käitamine
SSH kasutamine Linuxi serveriga ühenduse saamiseks on suurepärane võimalus käsureale juurdepääsuks, kuid selleks on vajalik väline server ja võrguühendus. See ei ole kõige suurem takistus, kuid seda ei saa täielikult ignoreerida, seega võib teile olla vajalik töötada Linuxiga ilma serverita.
Kui see on teie juhtum, peate astuma veel ühe sammu edasi. — see on patenteeritud teenus arendatavate rakenduste installimiseks enne nende avalikustamist Apple App Store'is. Rakenduse TestFlight saab installida App Store'ist ning seejärel saab kasutada testrakendusi. TestFlightis olevad rakendused võimaldavad piiratud ajaks töötada piiratud arvu beetatestijatega (tavaliselt kuni 10 000). Testrakenduse allalaadimiseks peab minema oma seadmes lingile, mis asub tavaliselt rakenduse arendaja veebisaidil.
Alpine Linuxi käivitamine iSH-ga
— see on avatud lähtekoodiga rakendus TestFlight, mis käivitab virtuaalse masina koos valmiskujul väljaande (veidi vaeva näha, on võimalik käivitada ka teisi väljaandeid).
Oluline tunnusjoon: rakendus on katsetamisfaasis. Kuna iSH on praegu katserakendus, siis ei tasu oodata pidevat ja usaldusväärset tööd. TestFlighti rakendused on ajaliselt piiratud. Minu praegune versioon töötab ainult 60 päeva. See tähendab, et 60 päeva pärast ma eemaldatakse ja pean uuesti liituma järgmise iSH testimise etapiga. Veelgi enam, ma kaotan kõik oma failid, kui ma ei ekspordi neid Files rakenduse kaudu iOS-is või ei kopeeri neid Git-hostile või . Teisisõnu: Ärge loodke, et see kõik jätkab töötamist! Ärge paigutage süsteemi midagi olulist! Tehke varukoopia eraldi kohta!
iSH installimine
Alustage installimisega App Store'ist. Seejärel installige iSH, rakenduse veebisaidilt. On veel üks installimismeetod AltStore'i kaudu, kuid ma ei ole seda proovinud. Või kui teil on tasuline arendaja konto, võite alla laadida iSH repositooriumi GitHubist ja installida selle ise.
TestFlighti lingi kaudu installib iSH rakenduse teie seadmesse. Nagu iga teise rakenduse puhul, ilmub ekraanile ikoon.
Pakettide haldamine
iSH käitub x86 emulaatorina koos Alpine Linuxiga. Alpine on pisike väljaanne, mille suurus on vähem kui 5 MB. Ma töötasin esmakordselt Alpine'iga, seega arvasin, et selline minimalism võib olla ärritav, kuid tegelikult meeldis mulle see väga.

Alpine's kasutatakse paketihaldurit , mis on lihtsam isegi kui apt või pacman.
Kuidas paketti installida:
apk add packageKuidas paketti eemaldada:
apk del packageKuidas teada saada muid käske ja teavet:
apk --helpPaketihalduri uuendamine:
apk update
apk upgradeTekstiredaktori installimine
Alpine'i vaikimisi tekstiredaktor on Vi, kuid ma eelistan Vim'i, seetõttu installisin selle:
apk add vimSoovi korral on võimalik installida Nano või Emacs.
Käivitamistüübi vahetamine
Mina ei tea, kuidas teie, aga mulle oli vajalik . Teised eelistavad või . Kuid Alpine'is kasutatakse ash'i! Ash on Dash'i fork, mis on omakorda originaalse ash'i fork või . Selle prioriteet on kiirus. Otsustasin kiirusest loobuda, et saada sisse ehitatud automaatne täiendamine, värvid, Vim'i klahvihaldus ja süntaksihighlighting, mida ma armastan ja tunnen fish shell'is.
Fish'i installimine:
apk add fishKui vajate Bash'i koos selle automaatse täiendamise ja man-lehtedega, siis installige need:
apk add bash bash-doc bash-completionAlpine'i minimalistlik ideoloogia tähendab tavaliselt, et mõned programmid, mis teistes distributsioonides on ühe pakina, jagunevad mitmeks väiksemaks paketiks. See tähendab ka, et saate oma süsteemi häälestada ja vähendada selle suurust just nii, nagu soovite.
Bashi installimise kohta leiate rohkem teavet .
Vaikimisi shell'i vahetamine
Pärast fish'i installimist saate ajutiselt sellele üle minna, sisestades fish ja minnes shell'i. Kuid ma soovin muuta fish'i vaikimisi shell'iks, ja käsk chsh, mida olen kasutanud teistes distributsioonides, ei töötanud.
Esmalt saame teada, kuhu fish paigaldati:
which fishSiin, mida mina sain:
/usr/bin/fish Seejärel muudame login shell'i fish'iks. Võite kasutada mis tahes mugavat redaktorit. Kui olete algaja, siis installige Nano (käsk apk add nano), et saaksite konfigureerimisfaile redigeerida ja need CTRL+X abil salvestada, kinnitada ja väljastuda.
Aga mina kasutasin Vim'i:
vim /etc/passwdMinu esimene rida oli selline:
root:x:0:0:root:/root:/bin/ashKuna fish'i vaikimisi shell'iks tegemiseks peate selle rea muutma järgmisele:
root:x:0:0:root:/root:/usr/bin/fishSeejärel salvestame faili ja väljastume.
Olen kindel, et on olemas hea viis shell'i teed muuta, et seda saaks kohe kasutada. Kuid ma ei tea seda, seega soovitan tagasi minna rakenduste brauserisse, välja logida ja usaldusväärsuse tagamiseks välja lülitada ja iPadi või iPhone'i taaskäivitada. Avage taas iSH ja nüüd, peale "Tere tulemast Alpine'i!" ja teabe apk käivitamise kohta, näete tavapärast fish'i sisselogimise tervitusmööndust: Tere tulemast fishi, sõbralikkuse interaktiivne shell. Jeii!

Python'i ja pip'i seadistamine
Otsustasin lisada (versioon 3.x), mitte ainult koodi kirjutamiseks, vaid ka seetõttu, et kasutan mitmeid Python'i programme. Paigaldame selle:
apk add python3Kuigi Python 2.x on aegunud, saab ka selle paigaldada:
apk add pythonPaigaldame Python'i pakihalduri nimega pip ja :
python3 -m ensurepip --default-pipPakihalduri paigaldamine ja seadistamine võtab natuke aega, nii et oodake lihtsalt.
Seejärel saab alla laadida failide edastamise tööriista :
apk add curlLugedes manuaale
Fish kasutab sisseehitatud automaatset täiendamist man-lehtede põhjal. Nagu kõik teised käsurida kasutajad, kasutan ma manuaali man, kuid Alpine ei ole see installitud. Seetõttu paigaldasin selle terminali lehekirjaga :
apk add man man-pages less less-docLisaks man'ile kasutan ma suurepärast , mis pakub lihtsustatud ja kogukonna poolt juhitavaid man-lehti.
Paigaldasin selle pip'i abil:
pip install tldr Meeskond tldr ühendab veebiga, et saada lehti, kui see kohtub uue lehe päringuga. Kui soovite teada, kuidas käsk töötab, saate kirjutada midagi sellist tldr curl ja saada lihtsas inglise keeles kirjelduse koos headest näidetest käsu kasutamise kohta.
Muidugi, kogu see paigaldustöö saab automatiseerida või paigaldus skripti abil, kuid tegelikult ei vasta see palju Alpine'i ideoloogiale - minimaalne paigaldus selgelt oma vajaduste järgi. Lisaks, see ju võttis nii palju aega, eks?
Lisainformatsioon
iSH Vikis on leht "" aruannetega, millised paketid praegu töötavad. Üksikasjalikult, tundub, et .
Teisel viki lehel tuleb selguseks, kuidas iOS Files rakenduse kaudu. See on üks viis, kuidas faile liigutada ja kopeerida.
Saab ka installida Git'i (jah! apk add git ) ja saata oma töö kaugrepositooriumisse või edastada seda serverisse SSH kaudu. Ja muidugi, saab alla laadida ja käivitada palju suurepäraseid open-source projekte GitHub'ist.
Täpsemalt iSH kohta saab lugeda nende linkide kaudu:
Reklaami õigustes
VDS pakub või Windowsil. Kasutame ainult , parim oma klassi serveri haldamise paneel, mille oleme ise arendanud, ja mõned parimad andikeskused Venemaal ja ELis. Kiirustage tellima!
Allikas: habr.com
