Lanciamentu di a linea di cummanda Linux in iOS

Lanciamentu di a linea di cummanda Linux in iOS

Sapete chì pudete eseguisce una linea di cummanda Linux in un dispositivu iOS? Puderete dumandà: "Perchè duverebbe aduprà app di testu in iPhone?" Quistione ghjustu. Ma s'è vo leghjite Opensource.com, probabilmente sapete a risposta: l'utilizatori di Linux volenu pudè usà in ogni dispositivu è volenu aduprà i so paràmetri.

Ma a maiò parte di tutti anu brama di risolve prublemi cumplessi.

Aghju un iPad 2 Mini di sette anni chì hè sempre bonu per a lettura di ebook è altre attività. In ogni casu, vogliu ancu aduprà per accede à a linea di cummanda di l'applicazioni cù u mo settore di prugrammi è script, senza quale ùn possu micca travaglià. Aghju bisognu di un ambiente chì sò abituatu, è ancu di u mo ambiente di sviluppu standard. È quì hè cumu riesciutu à ottene questu.

Cunnessione à un teclatu

U travagliu cù a linea di cummanda per a prugrammazione attraversu u teclatu nantu à u screnu di un telefunu o tableta hè abbastanza inconveniente. Aghju ricumandemu di cunnette un teclatu esternu, o via Bluetooth o cù un adattatore di cunnessione di càmera per cunnette un teclatu cablatu (aghju sceltu l'ultimu). Cunnettendu un teclatu split Kinesis Advantage à un iPhone 6 risulta in un dispositivu stranu chì pare cyberdeck corporativu da u classicu ghjocu di rollu ombra corsa.

Stallà a cunchiglia in iOS

Per eseguisce un sistema Linux cumplettamente funziunale in iOS, ci sò duie opzioni:

  • Secure Shell (SSH) cunnessu à una macchina Linux
  • Esecuzione di un sistema virtuale utilizendu Alpine Linux cù iSH, chì hè open source ma deve esse installatu cù l'applicazione TestFlight di Apple.

In alternativa, ci sò duie applicazioni di emulatore di terminale open source chì furniscenu a capacità di travaglià cù strumenti open-source in un ambiente limitatu. Questa hè l'opzione più spogliata - in fattu, questu ùn hè micca cumu eseguite Linux, ma l'arnesi Linux. Ci sò severi limitazioni quandu u travagliu cù queste applicazioni, ma uttene funziunalità parziale di linea di cummanda.

Prima di passà à suluzioni cumplessi, cunsiderà u modu più simplice.

Opzione 1: Shell in Sandbox

Unu di i modi più faciuli hè di stallà l'app iOS LibTerm. chistu fonte aperta Conchiglia di cumanda di sandbox cù supportu per più di 80 cumandamenti à zero dollari. Veni cù Python 2.7, Python 3.7, Lua, C, Clang è più.

Circa a stessa funziunalità a-Conchiglia, descritta da i sviluppatori cum'è "una interfaccia d'utilizatore di prova per una piattaforma cù input di schermu". a-Shell fonti publicati fonti apertu, hè in sviluppu attivu, furnisce l'accessu à u sistema di fugliale, è spedisce cù Lua, Python, Tex, Vim, JavaScript, C è C ++, è Clang è Clang ++. Hè ancu permette di installà pacchetti Python cù pip.

Opzione 2: SSH

Un altru passu oltre a scaricamentu di una app hè a creazione di un cliente SSH. Per un bellu pezzu, avemu pussutu utilizà qualsiasi di e parechje applicazioni di cliente SSH iOS per cunnette à un servitore chì funziona Linux o BSD. U vantaghju di utilizà SSH hè chì ogni distribuzione pò esse esecutatu nantu à u servitore cù qualsiasi software. U travagliu remotely è i risultati di u vostru travagliu sò simpricimenti trasferitu à u emulator tirminali nant'à u vostru aparechju iOS.

shell lampeggiante hè una famosa applicazione SSH pagata in fonti apertu. Se ùn fate micca attente à a piccula schermu di u dispusitivu, allora aduprà stu software hè cum'è cunnette à u servitore attraversu qualsiasi altra linea di cummanda. U terminal Blink hè bellu, hà assai temi pronti è a capacità di creà u vostru propiu, cumprese a capacità di persunalizà è aghjunghje fonti novi.

Opzione 3: Eseguite Linux

Utilizà SSH per cunnette à un servitore sottu Linux hè una bella manera di accede à a linea di cummanda, ma hè bisognu di un servitore esternu è una cunnessione di rete. Questu ùn hè micca u più grande ostaculu, ma ùn pò micca esse ignoratu cumplettamente, perchè pudete bisognu di travaglià cù Linux senza un servitore.

Sè questu hè u vostru casu, allora vi tuccherà à piglià un passu più. TestFlight hè un serviziu pruprietariu per installà l'applicazioni in sviluppu prima di esse liberate in l'App Store di Apple. Pudete installà l'app TestFlight da l'App Store è dopu aduprà l'app di prova. L'applicazioni in TestFlight permettenu à un numeru limitatu di tester beta (tipicamente finu à 10 000) per travaglià cun elli per un tempu limitatu. Per scaricà l'app di prova, avete bisognu à accede à u ligame nantu à u vostru dispositivu, chì si trova di solitu in u situ web di u sviluppatore di l'app di prova.

Esecuzione di Alpine Linux cù iSH

ISH hè una applicazione TestFlight open-source chì esegue una macchina virtuale cù una distribuzione pronta Linux Alpine (cù un pocu di travagliu, pudete eseguisce altre distribuzioni).

Funzione impurtante: applicazione sperimentale. Siccomu iSH hè attualmente una applicazione di prova, ùn aspettate micca un rendiment coherente è affidabile. L'applicazioni TestFlight sò limitate in u tempu. A mo custruzzione attuale duverà solu 60 ghjorni. Questu significa chì dopu à 60 ghjorni seraghju espulsu è duverà riunite à a fase successiva di teste iSH. Inoltre, perderaghju tutti i mo fugliali s'ellu ùn l'esportu micca cù Files in iOS o copià in un host Git o via SSH. In altre parolle: Ùn aspettate micca chì tuttu cuntinueghja à travaglià! Ùn mette nunda di impurtante per voi in u sistema! Torna à un locu separatu!

Installazione iSH

Cumincià cù a stallazione TestFlight da l'App Store. Allora installate iSH, uttene un ligame per installà da u situ di l'applicazione. Ci hè un altru modu per installà cù AltStore, ma ùn aghju micca pruvatu. O, sè vo avete un cuntu di sviluppatore pagatu, pudete scaricà u repository iSH da GitHub è installate sè stessu.

Utilizendu u ligame, TestFlight installerà l'app iSH in u vostru dispositivu. Cum'è cù qualsiasi altra applicazione, un icona apparirà nantu à u screnu.

Gestione di pacchetti

iSH gestisce un emulatore x86 cù Alpine Linux. Alpine hè una distribuzione chjuca chì hè menu di 5MB in dimensione. Questa era a mo prima volta chì travaglià cù Alpine, cusì pensu chì u minimalismu seria fastidiosu, ma mi piace assai.

Lanciamentu di a linea di cummanda Linux in iOS
Alpine usa un gestore di pacchetti Androidchì hè più faciule ch'è ancu apt o pacman.

Cumu installà u pacchettu:

apk add package

Cumu caccià un pacchettu:

apk del package

Cumu truvà altre cumandamenti è informazioni:

apk --help

Actualizazione di u gestore di pacchetti:

apk update
apk upgrade

Stallà un editore di testu

L'editore di testu standard di Alpine hè Vi, ma preferimu Vim, cusì l'aghju stallatu:

apk add vim

Se vulete, pudete installà Nano o Emacs.

Cambia di cunchiglia

Ùn sò micca sapè di voi, ma aghju avutu bisognu shell di pesci. L'altri persone preferite Bash o Zsh. Tuttavia, Alpine usa cendra ! Ash hè una furchetta di a cunchiglia Dash, chì hè stessa una furchetta di u frassino uriginale, o Conchiglia di Almquist. A so priorità hè a rapidità. Aghju decisu di scambià a velocità per l'autocumplementu integratu, i culori, a gestione di chjave di Vim, è a sintassi chì mette in risaltu chì mi piace è cunnosce da a cunchiglia di pisci.

installazione di pisci:

apk add fish

Sè avete bisognu di Bash cù e so pagine di autocompletion è man, allora installate:

apk add bash bash-doc bash-completion

L'ideulugia minimalista di Alpine generalmente significa chì certi prugrammi chì sò un solu pacchettu nantu à altre distribuzioni seranu spartuti in parechji pacchetti più chjuchi. Hè ancu significatu chì pudete sintonizà è riduce u sistema cum'è vo vulete.

Per più infurmazione nantu à l'installazione di Bash, vede stu tutoriale.

Cambia a cunchiglia predeterminata

Una volta chì u pesciu hè stallatu, pudete cambià temporaneamente à ellu scrivendu fish è andendu à a cunchiglia. Ma vogliu fà u pesciu a cunchiglia predeterminata, è u cumandamentu chsh, chì aghju utilizatu in altre distribuzioni, ùn hà micca travagliatu.

Prima, scopremu induve hè stallatu u pesciu:

which fish

Eccu ciò chì mi hè accadutu:

/usr/bin/fish

Dopu, cambia a cunchiglia di login in pesce. Pudete aduprà qualsiasi editore chì ti piace. Sè site un principiante, allora installate Nano (cù u cumandimu apk add nano) in modu chì pudete edità i schedarii di cunfigurazione è salvà via CTRL + X, cunfirmà è esce.

Ma aghju utilizatu Vim:

vim /etc/passwd

A mo prima linea era:

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

Per fà u pesciu a cunchiglia predeterminata, cambia sta linea à a seguente:

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

Allora salvà u schedariu è surtite.

Sò sicuru chì ci hè una bona manera di cambià a strada di cunchiglia in modu chì pò esse usata subitu. Ma ùn u cunnoscu micca, cusì ricumandemu di vultà in u navigatore di l'applicazioni, forzà l'esce da a cunchiglia, è per esse sicuru, spegne è ripigliate l'iPad o l'iPhone. Aprite iSH di novu è avà, in più di u missaghju "Benvenuti in Alpine!" è infurmazione nantu à u lanciamentu da l'apk, vi vede u missaghju di benvenutu standard di login di pesci: Benvenutu à u pesciu, a cunchiglia interattiva amichevule. Eura!

Lanciamentu di a linea di cummanda Linux in iOS

Configurazione di Python è pip

Aghju decisu di aghjunghje pitone (versione 3.x), micca solu per scrive codice, ma ancu perchè aghju utilizatu parechji prugrammi Python. Stallamu:

apk add python3

Ancu se Python 2.x hè obsoletu, pudete ancu installà:

apk add python

Installa un gestore di pacchetti Python chjamatu pip è setuptools:

python3 -m ensurepip --default-pip

Ci hà da piglià un pocu di tempu per installà è cunfigurà u gestore di pacchetti, cusì sia pacienza.

Pudete tandu scaricà un strumentu à trasfiriri schedari nant'à a reta curl:

apk add curl

Lettura di manuali

Fish usa l'autocompletion integrata basatu nantu à e pagine man. Cum'è l'altri utilizatori di linea di cumanda, aghju utilizatu u manuale man, è Alpine ùn hà micca stallatu. Allora l'aghju stallatu cù un pager di terminal menu:

apk add man man-pages less less-doc

In più di l'omu, aghju utilizatu u magnificu prughjettu di e pagine tldr, chì furnisce pagine man simplificate è guidate da a cumunità.

L'aghju stallatu cù pip:

pip install tldr

squadra tldr cunnetta à u web per piglià e pagine quandu scontra una dumanda per una nova pagina. Sè avete bisognu di sapè cumu utilizà un cumandamentu, pudete scrive qualcosa cum'è tldr curl è uttene una descrizzione in inglese chjaru è boni esempi nantu à cumu utilizà u cumandamentu.

Di sicuru, tuttu stu travagliu di stallazione pò esse automatizatu utilizendu dotfiles o un script d'installazione, ma in fattu questu ùn hè micca assai coherente cù l'ideulugia di Alpine - persunalizà a stallazione minima chjaramente à i vostri bisogni. D’altronde, ci hà pigliatu tantu tempu, nò ?

applicàrisi nantu à u corsu

L'iSH Wiki hà una pagina "ciò chì travaglia" cù rapporti nantu à quali pacchetti sò attualmente in esecuzione. Per via, pare npm ùn hè micca travagliatu avà.

Una altra pagina wiki spiega cumu accede à i schedari iSH da l'app Files iOS. Questu hè unu di i modi chì pudete spustà è cupià i schedari.

Pudete ancu installà Git (sì! apk add git ) è spinghja u vostru travagliu à un repositoriu remotu o spinghja à u servitore via SSH. E, sicuru, pudete scaricà è eseguisce qualsiasi quantità di grandi prughjetti open-source da GitHub.

Più infurmazione nantu à iSH pò esse truvata in questi ligami:

I diritti di publicità

Vdsina offerte servitori virtuali in Linux o Windows. Avemu aduprà solu equipaggiu di marca, u megliu di u so pannellu di cuntrollu di u servitore in-house è unu di i migliori centri di dati in Russia è in a UE. Affrettatevi à l'ordine!

Lanciamentu di a linea di cummanda Linux in iOS

Source: www.habr.com

Add a comment