I device Android consentono a programmatori e sistemisti di avere sempre a portata di mano una shell Linux funzionante, cioè l'interprete della riga di comando necessario ad eseguire comandi tramite interfaccia testuale simile a quella del Prompt o del Terminal di Windows 10, sia su smartphone che su tablet.
Per chi invece utilizza i dispositivi iOS, Apple non ha previsto l’integrazione di un sistema di shell Linux che sia “nativo”. L’unica soluzione per chi utilizza un iPhone o un iPad e ha bisogno di una shell Linux funzionante è quella di utilizzare il progetto iSH, che consente di installare in locale sul dispositivo un emulatore x86 in modalità utente.
L’iSH può essere scaricato dall’App Store e installato sul device, così da avere accesso a un ambiente virtuale basato su Alpine Linux che non presenta interfaccia grafica, ma permette di immettere righe di comandi ed eseguirle proprio come su un sistema Unix.
L’app iSH si basa su Alpine Linux, una distribuzione minima che è priva di interfaccia grafica e quindi ha il vantaggio di essere molto leggera. D’altronde, l’app è stata progettata proprio per essere compatta, sicura e facile da utilizzare. L’app appare quindi come una distribuzione Linux virtualizzata e completa, che comprende solo un set minimo di strumenti ma consente l’aggiunta di altri grazie al gestore di pacchetti Alpine “apk”, che serve a semplificare l’installazione dei tool.
Dato che l’app utilizza un’architettura di cartelle completa, è possibile accedere ai file attraverso l’applicazione File del device iOS, con lo spazio utente che si trova per impostazione predefinita nella cartella /root, i file di configurazione in /etc, quelli eseguibili in /bin e così via. L’app iSH consente di avere una shell Linux, anche se si tratta di un emulatore x86 in modalità utente, che quindi viene eseguito solo localmente sul dispositivo e per cui non sono ancora disponibili tutti i programmi GNU/Linux.
Tra i programmi standard che si potranno utilizzare nell’ambiente Linux, anche se emulato, ci sono vi, wget, zip, unzip e tar, oltre ad altri di base. Un particolare importante di iSH è che rispetta tutte le funzionalità di un’applicazione sviluppata per iOS, dato che è conforme alle condizioni di pubblicazione nell’App Store.
Per iniziare a utilizzare iSH bisogna scaricare l’app dall’App Store di Apple e avviarla. L’utente si troverà direttamente in un ambiente Alpine Linux senza interfaccia, dotato solo di una propria tastiera con una barra contenente delle icone per semplificare l’uso del terminale attraverso il touchscreen.
I quattro pulsanti in alto a destra nella barra sono il Tab, il Control, l’Escape e le frecce per navigare la schermata con il cursore. I tre pulsanti a destra consentono invece di accedere a Impostazioni, la funzione Incolla e Nascondi tastiera.
Dopo aver preso confidenza con la tastiera, sarà possibile iniziare a immettere righe di comandi, scegliendo tra le utility Unix più comuni come:
Accedendo alla sezione Impostazioni, gli utenti potranno accedere alla personalizzazione di alcune opzioni dell’app della shell Linux su iOS. Prima di tutto, si potrà cambiare l’aspetto: scegliere tra tema chiaro o scuro, così come lo stile dei caratteri.
Un’altra delle sezioni è Icona app, che consente di scegliere tra diverse icone per iSH, così di abbinare lo stile di visualizzazione a quello delle altre app presenti sul device mobile di Apple. L’utente potrà decidere di aggiungere una tastiera fisica esterna, da collegare tramite Bluetooth o adattatore USB al proprio iPhone o iPad.
In questo modo, sarà possibile rimappare le opzioni associate ai tasti. Quando si utilizza la tastiera esterna, si potrà decidere di nascondere alla vista la barra delle icone di iSH.
L’app iSH supporta l’utilizzo di più FileSystem e si potranno modificare le opzioni accedendo al menu Impostazioni. Dapprima l’utente vedrà un singolo filesystem predefinito che contiene l’installazione di Alpine, ma facendo tap su Sfoglia file si aprirà il filesystem dell’app File di iOS.
In questo modo, si potranno copiare agilmente i file da una cartella a un’altra del device, oltre che esportare o importare interi filesystem.
Uno dei punti di forza dell’app iSH è che consente di aggiungere tool grazie ai file APK per la gestione dei pacchetti. In particolare, l’app utilizza per impostazione predefinita i propri repository di pacchetti, così da essere sempre in linea con le condizioni poste da Apple per il suo App Store. Ad esempio, si potranno utilizzare comandi quali:
Inoltre, sarà possibile utilizzare i repository ufficiali di Alpine Linux, con pacchetti e programmi Linux più recenti e aggiornati. Poter accedere ai pacchetti aggiornati è fondamentale e rende iSH un’app indispensabile per tutti gli sviluppatori e i sistemisti che hanno bisogno di una shell Linux sui propri device iOS da utilizzare ovunque e in qualsiasi momento.