
Vai jūs zinājāt, ka Linux komandrindas saskarni var palaist uz iOS ierīcēm? Varbūt jūs jautājat: “Kāpēc man būtu jālieto teksta lietotnes iPhone?” Godīgs jautājums. Bet, ja jūs lasāt Opensource.com, tad, iespējams, jūs jau zināt atbildi: Linux lietotāji vēlas strādāt ar to jebkurā ierīcē un izmantot savas konfigurācijas.
Bet visvairāk viņi alkst risinājumus sarežģītām problēmām.
Man ir septiņus gadus vecs iPad 2 Mini, kas joprojām ir diezgan labs elektronisko grāmatu lasīšanai un citām aktivitātēm. Tomēr es gribu to izmantot arī, lai piekļūtu programmu komandrindai ar manām programmām un skriptiem, bez kuriem es nevaru strādāt. Man ir nepieciešama vide, pie kā esmu pieradis, kā arī mana standarta izstrādes vide. Un šeit ir, kā man izdevās to panākt.
Savienojums ar tastatūru
Strādāt ar komandrindām programmēšanai, izmantojot telefona vai planšetes ekrāna tastatūru, ir diezgan neērti. Es iesaku pieslēgt ārējo tastatūru, vai nu izmantojot Bluetooth, vai arī izmantojot kameru adapteri, lai pieslēgtu vadu tastatūru (es izvēlējos otro variantu). Pieslēdzot Kinesis Advantage sadalīto tastatūru pie iPhone 6, rodas dīvaina ierīce, kas atgādina no klasiskajām Shadowrun.
Uzstādīsim apvalku uz iOS
Lai palaistu pilnībā funkcionālu Linux sistēmu uz iOS, ir divas iespējas:
- Secure shell (SSH), savienojot ar Linux datoru
- Palaist virtuālo sistēmu, izmantojot Alpine Linux ar iSH, kas ir atvērtā koda, bet tam jābūt instalētam ar Apple patentēto TestFlight lietotni.
Alternatīvi ir divas atvērtā koda termināla emulācijas lietotnes, kas nodrošina iespēju strādāt ar atvērtā koda rīkiem ierobežotā vidē. Tas ir visvienkāršākais variants — patiesībā jūs nesākat Linux, bet gan Linux rīkus. Strādājot ar šīm lietotnēm, pastāv stingri ierobežojumi funkcionalitātē, taču jūs iegūstat daļēju komandrindas funkcionalitāti.
Pirms pāriet uz sarežģītākiem risinājumiem, es apskatīšu vienkāršāko veidu.
Variants 1: apvalks «sand-boxā»
Viens no vienkāršākajiem veidiem ir uzstādīt iOS lietotni . Tas Komandrēķins «smilšu kastē» ar atbalstu vairāk nekā 80 komandām par nulles dolāriem. Komplektā iekļauts Python 2.7, Python 3.7, Lua, C, Clang un daudz kas cits.
Aptuveni tādu pašu funkcionalitāti nodrošina , ko izstrādātāji raksturo kā «testētāja lietotāja saskarni platformām ar ekrānveida ievadi». a-Shell pirmkodu komplekts ir pieejams , tas ir aktīvā izstrādē, nodrošina piekļuvi failu sistēmai un komplektā iekļauj Lua, Python, Tex, Vim, JavaScript, C un C++, kā arī Clang un Clang++. Tas pat ļauj instalēt Python paketes, izmantojot pip.
Variants 2: SSH
Vēl viens solis uz priekšu salīdzinājumā ar aplikācijas lejupielādi ir SSH klienta iestatīšana. Jau ilgu laiku varējām izmantot jebkuru no daudziem SSH klienta lietotnēm iOS, lai izveidotu savienojumu ar serveri, kurā darbojas Linux vai BSD. SSH izmantošanas priekšrocība ir tāda, ka serverī var darboties jebkura izplatīšanas sistēma ar jebkuru programmatūru. Jūs strādājat attālināti, un darba rezultāti tiek vienkārši pārsūtīti uz termināla emulatoru iOS ierīcē.
— tas ir populārs maksas SSH lietotne . Ja neņem vērā mazo ierīces ekrānu, šī programmatūras izmantošana šķiet līdzīga pieslēgšanai serverim caur jebkuru citu komandrindas interfeisu. Blink termināls izskatās lieliski, tam ir daudz gatavu tēmām un iespēja izveidot savas, tostarp iespēja konfigurēt un pievienot jaunus fontus.
Variants 3: Linux palaišana
SSH izmantošana, lai pieslēgtos serverim zem Linux, ir lielisks veids, kā piekļūt komandrindai, taču tam ir nepieciešams ārējais serveris un tīkla savienojums. Tas nav vislielākais šķērslis, taču to nevar pilnīgi ignorēt, tāpēc jums var nākties strādāt ar Linux bez servera.
Ja tas ir jūsu gadījums, jums būs jāveic vēl viens solis uz priekšu. — tas ir patentēts pakalpojums, lai instalētu izstrādātās lietojumprogrammas vēl pirms to publicēšanas Apple App Store. Lietojumprogrammu TestFlight var instalēt no App Store un pēc tam izmantot testēšanas lietojumprogrammas. Lietojumprogrammas TestFlight ļauj ierobežotam skaitam beta testētāju (parasti līdz 10 000) strādāt ar tām noteiktu laiku. Lai lejupielādētu testēšanas lietojumprogrammu, ir jāapmeklē saite no sava ierīces, kas parasti atrodas izstrādātāja vietnē.
Alpine Linux palaišana ar iSH
— tas ir open-source lietojumprogramma TestFlight, kas palaiž virtuālo mašīnu ar gatavu distribūciju (pievēršot nedaudz pūļu, var palaist arī citas distribūcijas).
Svarīga iezīme: lietojumprogramma ir eksperimentāla. Tā kā iSH pašlaik ir testējošā lietojumprogramma, negaidiet pastāvīgu un uzticamu darbu. Lietojumprogrammas TestFlight ir ierobežotas laikā. Mana pašreizējā versija darbosies tikai 60 dienas. Tas nozīmē, ka pēc 60 dienām es tiksu izslēgts un man būs jāpieprasa piekļuve nākamajam iSH testēšanas posmam. Turklāt es zaudēšu visus savus failus, ja tos neeksportēšu, izmantojot Files iOS vai nenokopēšu uz Git hostinga vai . Citiem vārdiem sakot: Neuzticieties, ka viss šis turpinās darboties! Neievietojiet sistēmā nekā svarīga jums! Veiciet dublēšanu citā vietā!
iSH uzstādīšana
Sāciet ar instalēšanu no App Store. Pēc tam instalējiet iSH, no lietojumprogrammas vietnes. Ir arī cits veids, kā instalēt, izmantojot AltStore, bet es to neesmu mēģinājis. Vai arī, ja jums ir maksas izstrādātāja konts, varat lejupielādēt iSH repozitoriju no GitHub un instalēt to pats.
Izmantojot saiti, TestFlight instalēs lietojumprogrammu iSH uz jūsu ierīces. Kā jebkurai citai lietojumprogrammai, ekrānā parādīsies ikona.
Paku pārvaldība
iSH veic x86 emulatoru ar Alpine Linux. Alpine ir maza distribūcija, kuras lielums ir mazāks par 5 MB. Es pirmo reizi strādāju ar Alpine, tāpēc domāju, ka šāds minimālisms mani kaitinās, bet patiesībā man ļoti patika.

Alpine izmanto pakotņu pārvaldnieku , kas ir vienkāršāks pat nekā apt vai pacman.
Kā instalēt pakotni:
apk add packageKā dzēst pakotni:
apk del packageKā uzzināt citas komandas un informāciju:
apk --helpPaku pārvaldnieka atjaunināšana:
apk atjaunināt
apk uzlabotTeksta redaktora instalēšana
Standarta teksta redaktors Alpine sistēmā ir Vi, bet es dodu priekšroku Vim, tāpēc es to instalēju:
apk pievienot vimJa vēlaties, varat instalēt Nano vai Emacs.
Šellē mainīšana
Nezinu, kā jums, bet man vajadzēja . Citi cilvēki dod priekšroku vai . Tomēr Alpine izmanto ash! Ash ir Dash šellē radīts atzars, kas pats ir oriģinālā ash atzars, vai . Tā prioritāte ir ātrums. Es izvēlējos apmainīt ātrumu pret iebūvētu automātisko pabeigšanu, krāsām, Vim taustiņu kontroles un sintakse apgaismojumu, kurus es mīlu un zinu no fish shell.
Fish instalēšana:
apk pievienot fishJa jums nepieciešams Bash ar tās automātisko pabeigšanu un man lapām, tad instalējiet tos:
apk pievienot bash bash-doc bash-completionAlpine minimālisma ideoloģija parasti nozīmē, ka dažas programmas, kas citos izplatījumos ir vienā paketē, tiek sadalītas vairākās mazākās pakotnēs. Tas arī nozīmē, ka varat pielāgot un samazināt sistēmas izmēru tieši tā, kā vēlaties.
Vairāk par Bash instalēšanu varat uzzināt no .
Noklusējuma šellē mainīšana
Pēc fish instalēšanas varat pagaidu piekļūt tam, ierakstot fish un pārejot uz šelli. Bet es vēlos padarīt fish par noklusējuma šelli, bet komanda chsh, ko esmu izmantojis citos izplatījumos, nedarbojās.
Vispirms noskaidrosim, kur fish ir instalēts:
which fishLūk, kādi rezultāti man sanāca:
/usr/bin/fish Tālāk mainīsim login shell uz fish. Varat izmantot jebkuru jums ērtu redaktoru. Ja esat iesācējs, installējiet Nano (komandu apk pievienot nano), lai varētu rediģēt konfigurācijas failus un saglabāt tos, nospiežot CTRL+X, apstipriniet un izejiet.
Bet es izmantoju Vim:
vim /etc/passwdManas pirmās rindas izskatījās šādi:
root:x:0:0:root:/root:/bin/ashLai fish padarītu par noklusējuma šelli, mainīsim šo rindu uz sekojošo:
root:x:0:0:root:/root:/usr/bin/fishTad saglabāsim failu un iziesim.
Es esmu pārliecināts, ka ir labs veids, kā mainīt ceļu uz šelli, lai to varētu izmantot uzreiz. Bet es to nezinu, tāpēc iesaku atgriezties aplikāciju pārlūkā, piespiedu kārtā iziet no šellas un drošības labad izslēgt un restartēt iPad vai iPhone. Atkal atveriet iSH, un tagad, izņemot ziņu "Laipni lūdzam Alpine!" un informāciju par palaišanu ar apk, jūs redzēsiet standarta fish logona sveiciena ziņu: Laipni lūdzam fish, draudzīgajā interaktīvajā apakšprogrammā. Jā!

Python un pip konfigurācija
Es nolēmu pievienot (versiju 3.x), ne tikai tāpēc, lai rakstītu kodu, bet arī tāpēc, ka es izmantoju vairākas programmas Python. Instalēsim to:
apk add python3Lai gan Python 2.x ir novecojis, to joprojām var instalēt:
apk add pythonInstalēsim Python pakotņu pārvaldnieku, ko sauc par pip un :
python3 -m ensurepip --default-pipLai instalētu un konfigurētu pakotņu pārvaldnieku, būs nepieciešams nedaudz laika, tāpēc vienkārši uzgaidiet.
Pēc tam varēsiet lejupielādēt failu pārsūtīšanas rīku :
apk add curlLasām rokasgrāmatas
Fish izmanto iebūvētu automātisko pabeigšanu, kas balstās uz man-lapām. Tāpat kā citi komandrindas lietotāji, es izmantoju rokasgrāmatu man, bet Alpine tas nav instalēts. Tāpēc es to instalēju ar termināla lapojumu :
apk add man man-pages less less-docPapildus man es izmantoju izcilo , kas nodrošina vienkāršotas un sabiedrībā pārvaldītas man-lapas.
Es to instalēju, izmantojot pip:
pip install tldr Komanda tldr savienojas ar internetu, lai iegūtu lapas, kad saskaras ar pieprasījumu par jaunu lapu. Ja jums ir nepieciešams, lai uzzinātu, kā lietot komandu, varat uzrakstīt kaut ko līdzīgu tldr curl un saņemt aprakstu vienkāršā angļu valodā un labus izmantošanas piemērus komandas lietošanai.
Protams, visu šo instalēšanas darbu var automatizēt, izmantojot vai instalācijas skriptu, taču patiesībā tas nav ļoti saskaņā ar Alpine ideoloģiju — minimālas instalācijas konfigurēšana tieši savām vajadzībām. Turklāt tas aizņēma tik daudz laika, vai ne?
Papildu informācija
iSH Viki ir lapa "" ar ziņojumiem, kuri pakotnes šobrīd darbojas. Starp citu, izskatās, ka .
Vēl vienā viki lapā tiek skaidrots, kā no iOS Files lietotnes. Tas ir viens no veidiem, kā var pārvietot un kopēt failus.
Varat arī instalēt Git (jā! apk add git ) un nosūtīt savu darbu uz attālo repozitoriju vai pārsūtīt to uz serveri, izmantojot SSH. Un, protams, varat lejupielādēt un palaist jebkuru daudzveidīgu open-source projektu no GitHub.
Vairāk par iSH var uzzināt pēc šīm saitēm:
Reklāmas tiesībās
VDS piedāvā vai Windows. Izmantojam tikai , labākā sava veida serveru vadības paneļa pašizstrādes un viena no labākajām datu centriem Krievijā un ES. Pasteidzieties pasūtīt!
Avots: habr.com
