Linuxin komentorivin käynnistäminen iOS:ssä

Linuxin komentorivin käynnistäminen iOS:ssä

Tiesitkö, että voit suorittaa Linux-komentorivin iOS-laitteessa? Saatat kysyä: "Miksi minun pitäisi käyttää tekstiviestisovelluksia iPhonessani?" Kohtuullinen kysymys. Mutta jos luet Opensource.com-sivustoa, tiedät todennäköisesti vastauksen: Linux-käyttäjät haluavat pystyä käyttämään sitä millä tahansa laitteella ja haluavat muokata sitä itse.

Mutta ennen kaikkea he kaipaavat monimutkaisten ongelmien ratkaisemista.

Minulla on seitsemän vuotta vanha iPad 2 Mini, joka on edelleen melko hyvä e-kirjojen lukemiseen ja muihin tehtäviin. Haluan kuitenkin käyttää sitä myös sovellusten komentoriville pääsyyn ohjelmien ja komentosarjojen kanssa, joita ilman en voi työskennellä. Tarvitsen ympäristön, johon olen tottunut, sekä tavallisen kehitysympäristöni. Ja näin onnistuin saavuttamaan tämän.

Yhdistäminen näppäimistöön

Ohjelmoinnin komentorivin käyttäminen puhelimen tai tabletin näyttönäppäimistön kautta on melko hankalaa. Suosittelen ulkoisen näppäimistön liittämistä joko Bluetoothin kautta tai kameraliitäntäsovittimen avulla langallisen näppäimistön liittämiseen (valitsin jälkimmäisen). Kun yhdistät Kinesis Advantage -jaetun näppäimistön iPhone 6:een, saat outon laitteen, joka muistuttaa yrityksen kyberkansi klassikosta roolipeli Shadowrun.

Kotelon asentaminen iOS:ään

Täysin varustetun Linux-järjestelmän käyttäminen iOS:ssä on kaksi vaihtoehtoa:

  • Secure Shell (SSH) yhdistetty Linux-tietokoneeseen
  • Virtuaalijärjestelmän käyttäminen Alpine Linuxilla iSH:n kanssa, joka on avoimen lähdekoodin, mutta joka on asennettava Applen omalla TestFlight-sovelluksella

Vaihtoehtona on kaksi avoimen lähdekoodin pääteemulaattorisovellusta, jotka tarjoavat mahdollisuuden työskennellä avoimen lähdekoodin työkalujen kanssa rajoitetussa ympäristössä. Tämä on riisutuin vaihtoehto - itse asiassa tällä tavalla käytät Linux-työkaluja, ei Linuxia. Näiden sovellusten kanssa työskentelyssä on vakavia ominaisuuksien rajoituksia, mutta saat osittaisen komentorivitoiminnon.

Ennen kuin siirryn monimutkaisiin ratkaisuihin, tarkastelen yksinkertaisinta menetelmää.

Vaihtoehto 1: Sandbox-kuori

Yksi helpoimmista tavoista on asentaa iOS-sovellus LibTerm. Se avoin lähdekoodi sandbox-komentotulkki, joka tukee yli 80 komentoa nollalla dollarilla. Sen mukana tulee Python 2.7, Python 3.7, Lua, C, Clang ja paljon muuta.

Siinä on suunnilleen samat toiminnot helvetisti, jota kehittäjät kuvailevat "näytönsyöttöalustan testikäyttöliittymäksi". a-Shell-lähteet on lähetetty avoimen lähdekoodin, se on aktiivisessa kehitysvaiheessa, tarjoaa pääsyn tiedostojärjestelmään ja mukana tulee Lua, Python, Tex, Vim, JavaScript, C ja C++ sekä Clang ja Clang++. Sen avulla voit jopa asentaa Python-paketteja.

Vaihtoehto 2: SSH

Toinen vaihe sovelluksen lataamisesta on SSH-asiakkaan määrittäminen. Olemme jo pitkään voineet käyttää mitä tahansa monista iOS:n SSH-asiakassovelluksista yhteyden muodostamiseen Linux- tai BSD-palvelimeen. SSH:n käytön etuna on, että palvelin voi ajaa mitä tahansa jakelua millä tahansa ohjelmistolla. Työskentelet etänä ja työsi tulokset siirretään yksinkertaisesti iOS-laitteesi pääteemulaattoriin.

Blink-kuori on suosittu maksullinen SSH-sovellus avoimen lähdekoodin. Jos jätät huomioimatta laitteen pienen näytön, tämän ohjelmiston käyttö on samanlaista kuin yhteyden muodostaminen palvelimeen minkä tahansa muun komentorivin kautta. Blink Terminal näyttää hyvältä, siinä on monia valmiita teemoja ja mahdollisuus luoda omia, mukaan lukien mahdollisuus muokata ja lisätä uusia fontteja.

Vaihtoehto 3: Käynnistä Linux

SSH:n käyttäminen yhteyden muodostamiseen Linux-palvelimeen on loistava tapa käyttää komentoriviä, mutta se vaatii ulkoisen palvelimen ja verkkoyhteyden. Tämä ei ole suurin este, mutta sitä ei voida täysin sivuuttaa, joten saatat joutua käyttämään Linuxia ilman palvelinta.

Jos tämä on sinun tapauksesi, sinun on otettava se askel pidemmälle. TestFlight on oma palvelu kehitettyjen sovellusten asentamiseen jo ennen kuin ne julkaistaan ​​Apple App Storessa. Voit asentaa TestFlight-sovelluksen App Storesta ja käyttää sitten testisovelluksia. TestFlightin sovellukset sallivat rajoitetun määrän betatestaajia (yleensä jopa 10 000) työskennellä niiden kanssa rajoitetun ajan. Testisovelluksen lataamiseksi sinun on siirryttävä laitteeltasi linkille, joka yleensä sijaitsee testisovelluksen kehittäjän verkkosivustolla.

Käyttää Alpine Linuxia iSH:n kanssa

ISH on avoimen lähdekoodin TestFlight-sovellus, joka käynnistää virtuaalikoneen valmiilla jakelulla Alpine Linux (pienellä vaivalla voit ajaa muita jakeluja).

Tärkeä ominaisuus: kokeellinen sovellus. Koska iSH on tällä hetkellä testisovellus, älä odota jatkuvaa ja luotettavaa toimintaa. TestFlight-sovellukset ovat ajallisesti rajoitettuja. Nykyinen rakennelmani kestää vain 60 päivää. Tämä tarkoittaa, että 60 päivän jälkeen minut putoaa ja minun täytyy liittyä uudelleen seuraavalle iSH-testauskierrokselle. Lisäksi menetän kaikki tiedostoni, ellei vie niitä Filesilla iOS:ssä tai kopioi niitä Git-isäntään tai SSH:n kautta. Toisin sanoen: Älä odota tämän toimivan jatkossakin! Älä laita mitään sinulle tärkeää järjestelmään! Takaisin erilliseen paikkaan!

iSH:n asennus

Aloita asennuksesta TestFlight App Storesta. Asenna sitten iSH, sai asennuslinkin sovellussivustolta. On olemassa toinen asennustapa AltStorella, mutta en ole kokeillut sitä. Tai jos sinulla on maksullinen kehittäjätili, voit ladata iSH-tietovaraston GitHubista ja asentaa sen itse.

Linkin avulla TestFlight asentaa iSH-sovelluksen laitteellesi. Kuten minkä tahansa muun sovelluksen kohdalla, kuvake ilmestyy näytölle.

Paketinhallinta

iSH käyttää x86-emulaattoria Alpine Linuxin kanssa. Alpine on pieni distro, jonka koko on alle 5 Mt. Tämä oli ensimmäinen kerta, kun työskentelin Alpinen kanssa, joten ajattelin, että minimalismi olisi ärsyttävää, mutta itse asiassa pidin siitä todella.

Linuxin komentorivin käynnistäminen iOS:ssä
Alpine käyttää paketinhallintaa apk, mikä on helpompaa kuin apt tai pacman.

Kuinka asentaa paketti:

apk add package

Paketin poistaminen:

apk del package

Kuinka etsiä muita komentoja ja tietoja:

apk --help

Paketinhallinnan päivitys:

apk update
apk upgrade

Tekstieditorin asennus

Alpinen oletustekstieditori on Vi, mutta pidän enemmän Vimistä, joten asensin sen:

apk add vim

Halutessasi voit asentaa Nanon tai Emacsin.

Kuoren vaihto

En tiedä sinusta, mutta tarvitsin kalan kuori. Muut ihmiset haluavat Kemut tai zsh. Alpine käyttää kuitenkin tuhkaa! Tuhka on Dash-kuoren haarukka, joka itsessään on alkuperäisen tuhkan haarukka, tai Almquist kuori. Hänen prioriteettinsa on nopeus. Päätin vaihtaa nopeuden sisäänrakennettuun automaattiseen täydennykseen, väreihin, Vim-näppäinsäätimiin ja syntaksin korostuksiin, joita rakastan ja tunnen kalankuoresta.

Kalan asennus:

apk add fish

Jos tarvitset Bashia sen automaattisen täydennyksen ja man-sivujen kanssa, asenna ne:

apk add bash bash-doc bash-completion

Alpinen minimalistinen ideologia tarkoittaa yleensä sitä, että jotkut ohjelmat, jotka on pakattu muihin jakeluihin, jaetaan useisiin pienempiin paketteihin. Se tarkoittaa myös, että voit mukauttaa ja pienentää järjestelmäsi kokoa juuri haluamallasi tavalla.

Lisätietoja Bashin asentamisesta on kohdassa tämä opetusohjelma.

Oletuskuoren muuttaminen

Kalan asennuksen jälkeen voit siirtyä siihen tilapäisesti syöttämällä fish ja menee kuoreen. Mutta haluan tehdä kalasta oletuskuoren ja komennon chsh, jota käytin muissa jakeluissa, ei toiminut.

Ensin selvitetään, mihin kala on asennettu:

which fish

Tässä mitä sain:

/usr/bin/fish

Vaihda seuraavaksi kirjautumiskuori kalaksi. Voit käyttää mitä tahansa sinulle sopivaa editoria. Jos olet aloittelija, asenna Nano (komennolla apk add nano), jotta voit muokata asetustiedostoja ja tallentaa ne näppäinyhdistelmällä CTRL+X, vahvista ja poistu.

Mutta käytin Vimia:

vim /etc/passwd

Ensimmäinen rivini oli tällainen:

root:x:0:0:root:/root:/bin/ash

Jos haluat tehdä kalasta oletuskuoren, muuta tämä rivi seuraavaksi:

root:x:0:0:root:/root:/usr/bin/fish

Tallenna sitten tiedosto ja poistu.

Olen varma, että on olemassa hyvä tapa muuttaa polkua kuoreen, jotta sitä voidaan käyttää heti. Mutta en tiedä sitä, joten suosittelen palaamista sovellusselaimeen, pakottaa poistumaan kuoresta ja varmuuden vuoksi sammuttaa iPad tai iPhone ja käynnistää se uudelleen. Avaa iSH uudelleen ja nyt, viestin "Tervetuloa Alpineen!" ja tietoja käynnistämisestä apk:sta, näet tavallisen kalakirjautumisen tervetuloviestin: Tervetuloa kalaan, ystävälliseen interaktiiviseen kuoreen. Hurraa!

Linuxin komentorivin käynnistäminen iOS:ssä

Pythonin ja pipin asetukset

Päätin lisätä Python (versio 3.x), ei vain koodin kirjoittamiseen, vaan myös siksi, että käytän useita Python-ohjelmia. Asennataan se:

apk add python3

Vaikka Python 2.x on vanhentunut, voit asentaa sen:

apk add python

Asennetaan Python-pakettienhallinta nimeltä pip and asennustyökalut:

python3 -m ensurepip --default-pip

Paketinhallinnan asentaminen ja määrittäminen vie jonkin aikaa, joten odota vain.

Tämän jälkeen voit ladata työkalun tiedostojen siirtämiseksi verkon kautta kiemura:

apk add curl

Oppaiden lukeminen

Fish käyttää sisäänrakennettua automaattista täydennystä, joka perustuu man-sivuihin. Kuten muutkin komentorivikäyttäjät, käytän käsikirjaa man, mutta sitä ei ole asennettu Alpineen. Joten asensin sen päätehakulaitteella vähemmän:

apk add man man-pages less less-doc

Miesten lisäksi käytän upeaa tldr pages -projekti, joka tarjoaa yksinkertaistettuja ja yhteisölähtöisiä man-sivuja.

Asensin sen pip:llä:

pip install tldr

Joukkue tldr muodostaa yhteyden Internetiin hakeakseen sivuja, kun se kohtaa uuden sivun pyynnön. Jos haluat osata käyttää komentoa, voit kirjoittaa jotain vastaavaa tldr curl ja saat selkein englanninkielisen kuvauksen ja hyviä esimerkkejä komennon käytöstä.

Tietenkin kaikki tämä asennustyö voidaan automatisoida käyttämällä pistetiedostot tai asennuskäsikirjoitus, mutta itse asiassa tämä ei todellakaan vastaa Alpinen ideologiaa - minimaalisen asennuksen räätälöiminen juuri sinun tarpeisiisi. Sitä paitsi se kesti niin kauan, eikö niin?

lisätiedot

iSH Wikissä on sivu "mikä toimii" ja raportit siitä, mitkä paketit ovat tällä hetkellä käynnissä. Muuten näyttää siltä npm ei toimi juuri nyt.

Toinen wikisivu selittää kuinka käyttää iSH-tiedostoja iOS Files -sovelluksesta. Tämä on yksi tavoista siirtää ja kopioida tiedostoja.

Voit myös asentaa Gitin (kyllä! apk add git ) ja työnnä työsi etävarastoon tai siirrä se palvelimelle SSH:n kautta. Ja tietysti voit ladata ja suorittaa mitä tahansa hienoja avoimen lähdekoodin projekteja GitHubista.

Lisätietoja iSH:sta löytyy näistä linkeistä:

Mainonnan oikeuksista

Vdsina tarjoukset virtuaalipalvelimet Linuxissa tai Windows. Käytämme yksinomaan merkkituotteita, oman suunnittelunsa paras palvelinohjauspaneeli ja yksi Venäjän ja EU:n parhaista datakeskuksista. Kiirehdi tilaamaan!

Linuxin komentorivin käynnistäminen iOS:ssä

Lähde: will.com

Lisää kommentti