Linuxi käsurea käivitamine iOS-is

Linuxi käsurea käivitamine iOS-is

Kas teadsite, et saate iOS-i seadmes käitada Linuxi käsurida? Võite küsida: "Miks peaksin iPhone'is tekstirakendusi kasutama?" Õiglane küsimus. Kui aga loed saiti Opensource.com, tead ilmselt vastust: Linuxi kasutajad tahavad seda kasutada mis tahes seadmes ja soovivad kasutada oma seadeid.

Kuid üle kõige ihkavad nad keeruliste probleemide lahendamist.

Mul on seitse aastat vana iPad 2 Mini, mis on endiselt hea e-raamatute lugemiseks ja muudeks ülesanneteks. Kuid ma tahan seda kasutada ka rakenduste käsureale juurdepääsuks oma programmide ja skriptidega, ilma milleta ma ei saa töötada. Vajan keskkonda, millega olen harjunud, ja ka oma standardset arenduskeskkonda. Ja siin on see, kuidas mul õnnestus see saavutada.

Klaviatuuriga ühendamine

Telefoni või tahvelarvuti ekraaniklaviatuuri kaudu programmeerimiseks käsureaga töötamine on üsna ebamugav. Soovitan ühendada välise klaviatuuri, kas Bluetoothi ​​kaudu või kasutada juhtmega klaviatuuri ühendamiseks kaameraühenduse adapterit (valisin viimase). Kinesis Advantage'i poolitatud klaviatuuri ühendamine iPhone 6-ga annab tulemuseks veidra seadme, mis näeb välja nagu ettevõtte kübertekk klassikast rollimäng varju jooks.

Kesta installimine iOS-i

Täielikult toimiva Linuxi süsteemi käitamiseks iOS-is on kaks võimalust.

  • Secure shell (SSH), mis on ühendatud Linuxi masinaga
  • Virtuaalse süsteemi käitamine Alpine Linuxiga koos iSH-ga, mis on avatud lähtekoodiga, kuid tuleb installida Apple'i patenteeritud rakenduse TestFlight abil

Teise võimalusena on kaks avatud lähtekoodiga terminali emulaatori rakendust, mis võimaldavad töötada avatud lähtekoodiga tööriistadega piiratud keskkonnas. See on kõige nõrgem variant – tegelikult ei käitata nii Linuxit, vaid Linuxi tööriistu. Nende rakendustega töötamisel on tõsiseid piiranguid, kuid saate osalise käsurea funktsiooni.

Enne keerukate lahenduste juurde asumist kaalun kõige lihtsamat viisi.

1. valik: kest liivakastis

Üks lihtsamaid viise on iOS-i rakenduse installimine LibTerm. See avatud lähtekoodiga liivakasti käsukest, mis toetab üle 80 käsu null dollariga. Kaasas Python 2.7, Python 3.7, Lua, C, Clang ja palju muud.

Ligikaudu sama funktsionaalsus a-kest, mida arendajad kirjeldavad kui "ekraani sisendiga platvormi testkasutajaliidest". Postitatud a-Shelli allikad avatud lähtekoodiga, see on aktiivses arenduses, pakub juurdepääsu failisüsteemile ning tarnitakse koos Lua, Pythoni, Texi, Vimi, JavaScripti, C ja C++ ning Clangi ja Clang++-ga. See võimaldab isegi installida Pythoni pakette pipiga.

Valik 2: SSH

Veel üks samm pärast rakenduse allalaadimist on SSH-kliendi seadistamine. Oleme pikka aega saanud kasutada mis tahes paljudest iOS-i SSH-klientrakendustest, et luua ühendus Linuxi või BSD-ga töötava serveriga. SSH kasutamise eeliseks on see, et mis tahes distributsioon saab serveris töötada mis tahes tarkvaraga. Töötate eemalt ja teie töö tulemused kantakse lihtsalt teie iOS-i seadme terminali emulaatorisse.

vilkuma kest on populaarne tasuline SSH-rakendus avatud lähtekoodiga. Kui te ei pööra tähelepanu seadme väikesele ekraanile, siis selle tarkvara kasutamine on nagu serveriga ühenduse loomine mis tahes muu käsurea kaudu. Blinki terminal näeb hea välja, sellel on palju valmis teemasid ja võimalus ise luua, sealhulgas kohandada ja lisada uusi fonte.

Valik 3: käivitage Linux

SSH kasutamine serveriga ühenduse loomiseks Linuxi all on suurepärane viis käsureale juurdepääsuks, kuid selleks on vaja välist serverit ja võrguühendust. See ei ole suurim takistus, kuid seda ei saa täielikult ignoreerida, mistõttu võib tekkida vajadus töötada Linuxiga ilma serverita.

Kui see on teie juhtum, peate astuma sammu edasi. TestFlight on patenteeritud teenus arendatavate rakenduste installimiseks enne nende Apple App Store'is avaldamist. Saate installida rakenduse TestFlight App Store'ist ja seejärel kasutada testrakendusi. TestFlighti rakendused võimaldavad piiratud arvul beetatestijatel (tavaliselt kuni 10 000) nendega piiratud aja jooksul töötada. Testrakenduse allalaadimiseks peate pääsema ligi oma seadmes olevale lingile, mille leiate tavaliselt testrakenduse arendaja veebisaidilt.

Alpine Linuxi käitamine iSH-ga

ISH on avatud lähtekoodiga TestFlighti rakendus, mis käivitab valmis distributsiooniga virtuaalmasina Alpine Linux (väikese tööga saate käivitada ka muid distributsioone).

Oluline omadus: rakendus eksperimentaalne. Kuna iSH on praegu testrakendus, siis ärge oodake ühtlast ja usaldusväärset jõudlust. TestFlighti rakendused on ajaliselt piiratud. Minu praegune ehitus kestab vaid 60 päeva. See tähendab, et 60 päeva pärast saadetakse mind välja ja ma pean uuesti liituma iSH testimise järgmise faasiga. Lisaks kaotan kõik oma failid, kui ma ei ekspordi neid iOS-i rakendusega Files või ei kopeeri neid Giti hosti või SSH kaudu. Teisisõnu: Ärge oodake, et see kõik toimib! Ära pane süsteemi midagi enda jaoks olulist! Tagasi eraldi asukohta!

iSH installimine

Alusta paigaldusega TestFlight App Store'ist. Seejärel installige iSH, installimiseks lingi hankimine rakenduse veebisaidilt. AltStore'i abil installimiseks on veel üks viis, kuid ma pole seda proovinud. Või kui teil on tasuline arendajakonto, saate iSH-i hoidla alla laadida GitHubist ja selle ise installida.

Linki kasutades installib TestFlight teie seadmesse iSH-i rakenduse. Nagu kõigi muude rakenduste puhul, ilmub ekraanile ikoon.

Paketihaldus

iSH käitab Alpine Linuxiga x86 emulaatorit. Alpine on väike jaotus, mille suurus on alla 5 MB. See oli minu esimene kord, kui Alpine'iga töötasin, nii et ma arvasin, et minimalism oleks tüütu, kuid mulle see väga meeldis.

Linuxi käsurea käivitamine iOS-is
Alpine kasutab paketihaldurit APKmis on lihtsam kui isegi apt või pacman.

Kuidas paketti installida:

apk add package

Kuidas pakendit eemaldada:

apk del package

Kuidas leida muid käske ja teavet:

apk --help

Paketihalduri värskendus:

apk update
apk upgrade

Tekstiredaktori installimine

Alpine'i tavaline tekstiredaktor on Vi, kuid ma eelistan Vimi, nii et installisin selle:

apk add vim

Soovi korral saate installida Nano või Emacsi.

Kesta vahetus

Ma ei tea sinust, aga mul oli vaja kala kest. Teised inimesed eelistavad sisse lööma või Zsh. Alpine kasutab aga tuhka! Tuhk on Dashi kesta kahvel, mis ise on algse tuha kahvel või Almquisti kest. Tema prioriteet on kiirus. Otsustasin vahetada kiiruse sisseehitatud automaatse täitmise, värvide, Vimi võtmehalduse ja süntaksi esiletõstmise vastu, mida ma armastan ja tean kalakoorest.

kala paigaldamine:

apk add fish

Kui vajate Bashi koos selle automaatse täitmise ja man-lehtedega, installige need:

apk add bash bash-doc bash-completion

Alpine'i minimalistlik ideoloogia tähendab tavaliselt seda, et mõned programmid, mis on teistel distributsioonidel üks pakett, jagatakse mitmeks väiksemaks paketiks. See tähendab ka seda, et saate süsteemi häälestada ja vähendada just nii, nagu soovite.

Lisateavet Bashi installimise kohta vt see õpetus.

Vaikimisi kesta muutmine

Kui kala on installitud, saate sellele ajutiselt lülituda, kirjutades fish ja läheb kesta juurde. Kuid ma tahan muuta kala vaikekestaks ja käsuks chsh, mida kasutasin teistes distributsioonides, ei töötanud.

Kõigepealt uurime välja, kuhu kala on paigaldatud:

which fish

Minuga juhtus järgmine:

/usr/bin/fish

Järgmiseks muutke sisselogimiskestaks kala. Saate kasutada mis tahes meelepärast redaktorit. Kui olete algaja, installige Nano (käsuga apk add nano), et saaksite konfiguratsioonifaile redigeerida ja neid CTRL+X abil salvestada, kinnitage ja väljuge.

Aga ma kasutasin Vimi:

vim /etc/passwd

Minu esimene rida oli:

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

Kala vaikekestaks muutmiseks muutke seda rida järgmiseks:

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

Seejärel salvestage fail ja väljuge.

Olen kindel, et on olemas hea viis kesta tee muutmiseks, et seda saaks kohe kasutada. Kuid ma ei tunne teda, seega soovitan naasta rakenduse brauserisse, sundida kestast väljuma ning veendumaks, et lülitage iPad või iPhone välja ja taaskäivitage. Avage iSH uuesti ja kohe, lisaks sõnumile "Tere tulemast Alpine!" ja teavet APK-st käivitamise kohta, näete tavalist kala sisselogimise tervitussõnumit: Tere tulemast kalasse, sõbralikku interaktiivsesse kesta. Hurraa!

Linuxi käsurea käivitamine iOS-is

Pythoni ja pipi seadistamine

Otsustasin lisada Python (versioon 3.x), mitte ainult koodi kirjutamiseks, vaid ka seetõttu, et kasutan mitut Pythoni programmi. Installime selle:

apk add python3

Kuigi Python 2.x on aegunud, saate ka selle installida.

apk add python

Installige Pythoni paketihaldur nimega pip and seadistustööriistad:

python3 -m ensurepip --default-pip

Paketihalduri installimine ja konfigureerimine võtab veidi aega, seega olge kannatlik.

Seejärel saate alla laadida tööriista failide võrgu kaudu edastamiseks Curl:

apk add curl

Käsiraamatute lugemine

Fish kasutab man-lehtedel põhinevat sisseehitatud automaatset lõpetamist. Nagu teised käsurea kasutajad, kasutan ka juhendit man, ja Alpine pole seda installinud. Nii et ma installisin selle terminali piipariga vähem:

apk add man man-pages less less-doc

Lisaks mehele kasutan suurepärast tldr lehtede projekt, mis pakub lihtsustatud ja kogukonnapõhiseid manlehti.

Paigaldasin selle pipiga:

pip install tldr

Meeskond tldr loob lehtede toomiseks ühenduse veebiga, kui tal tekib uue lehe taotlus. Kui teil on vaja teada, kuidas käsku kasutada, võite kirjutada midagi sarnast tldr curl ja saate lihtsas inglise keeles kirjelduse ja häid näiteid käsu kasutamise kohta.

Loomulikult saab kogu seda paigaldustööd kasutades automatiseerida dotfailid või installiskripti, kuid tegelikult ei ole see väga kooskõlas Alpine'i ideoloogiaga – minimaalse paigalduse kohandamine selgelt teie vajadustega. Pealegi võttis see nii kaua aega, kas pole?

lisainfo

iSH Wikis on lehekülg "mis töötab" koos aruannetega, millised paketid hetkel töötavad. Muide, tundub npm ei tööta praegu.

Teine wiki leht selgitab, kuidas pääseda juurde iSH-failidele iOS-i rakendusest Files. See on üks failide teisaldamise ja kopeerimise viise.

Saate installida ka Giti (jah! apk add git ) ja lükake oma töö kaughoidlasse või lükake see SSH kaudu serverisse. Ja loomulikult saate GitHubist alla laadida ja käivitada palju suurepäraseid avatud lähtekoodiga projekte.

Lisateavet iSH kohta leiate nendelt linkidelt:

Reklaamide õiguste kohta

Vdsina pakub virtuaalserverid Linuxis või Windows. Kasutame eranditult kaubamärgiga seadmed, parim omataoline ettevõttesisese serveri juhtpaneel ning üks parimaid andmekeskusi Venemaal ja ELis. Kiirusta tellima!

Linuxi käsurea käivitamine iOS-is

Allikas: www.habr.com

Lisa kommentaar