iSH è un progetto attivo per eseguire una shell Linux su iOS. Offre un ambiente Linux Alpine, completare con il apk
responsabile dell'imballaggio. L'applicazione è basata sull'emulazione x86 in modalità utente.
Puoi scaricare iSH dall'App Store. Le nuove strutture includono a apk
predefinito. Gli utenti esistenti dell'app potrebbero dover installarla manualmente apk
seguendo i passaggi nella documentazione.
Di partenza
Inizia installando iSH dall'App Store. Avvia l'applicazione e verrai inviato direttamente a un ambiente terminale Alpine Linux.
Puoi iniziare a eseguire comandi Linux familiari!! Puoi usare tutte le utility Unix fornite da BusyBox, Compreso cat
, grep
, ls
, sed
e wget
.
iSH fornisce la propria striscia di icone della tastiera per semplificare l'uso del terminale touchscreen. I quattro pulsanti a sinistra della striscia sono Tab, Controllo, Fuga e frecce rispettivamente. Fai scorrere il tasto freccia nella direzione in cui desideri che il cursore si sposti.
I tre pulsanti sulla destra aprono l'interfaccia di configurazione, incolla il testo dagli appunti di iOS e nascondi la tastiera. Tocca un punto qualsiasi per recuperare la tastiera dopo averla nascosta.
Impostazioni ISH
Il menu Impostazioni ti consente di personalizzare alcune opzioni. La pagina Aspetto ti consente di determinare il carattere e di alternare tra temi chiari e scuri. Nella pagina dell'icona dell'app, puoi selezionare tra varie icone di app. Questa opzione ti consente di abbinare iSH allo stile visivo delle altre app sulla schermata iniziale di iOS.
La tastiera esterna ti consente di controllare come iSH dovrebbe gestire una tastiera fisica collegata tramite Bluetooth o un adattatore USB. Allo stesso tempo dalle alternative di rimappatura iOS integrate, puoi rimappare le chiavi opzione e tilde su iSH meta e chiavi di escape. È possibile nascondere la banda dell'icona ISH quando si utilizza una tastiera esterna attivando l'impostazione “Nascondi con la tastiera esterna”.
File system
iSH supporta l'uso di più file system. Vai alla pagina “File system” nel menu Impostazioni per gestirli. Iniziare, Verrà visualizzato un singolo file system “predeterminato” contenente l'installazione Alpine integrata.
premere “Ricerca di file” per aprire il file system nell'app File di iOS. Questo ti aiuta a copiare rapidamente i file da iSH in altre posizioni sul tuo dispositivo iOS..
È possibile esportare l'intero file system con l'opzione “Esportare”. I file system possono essere importati in iSH utilizzando il comando “importare” nella home page File System.
Il caso d'uso pratico per file system consente di eseguire più installazioni autonome. Attualmente, funzioneranno solo immagini Alpine minime simili all'originale iSH.
Puoi provare Alpine's “Mini file system di root” – scaricalo, importalo e premi "Avvia da questo file system" per riavviare iSH usando il file system. Tornare al file system predefinito selezionando la voce di menu e selezionando nuovamente “Avvio da questo file system”.
Aggiungi pacchetti
Puoi usare il normale apk
comandi per gestire i pacchetti nel tuo ambiente iSH.
# Update the package lists apk update # Upgrade existing installed packages apk upgrade # Install SSH apk add openssh # Remove SSH apk del openssh
Si noti che iSH utilizza i propri repository di pacchetti per impostazione predefinita. Ciò consente all'app di superare la revisione dell'App Store assicurandosi che sia assolutamente autonoma..
tu È possibile passare alla finestra di dialogo repository ufficiali Alpine Linux se preferisci. Questo ti dà accesso all'elenco completo dei software Alpine. Molti pacchetti avranno versioni più recenti nei repository principali di Alpine rispetto a quelli offerti nei repository iSH.
grep -v "file:///ish/apk/" /ecc/apk/repository | dd of=/etc/apk/repositories bs=4194304 echo https://dl-cdn.alpinelinux.org/alpine/v3.12/main >> /etc/apk/repositories echo https://dl-cdn.alpinelinux.org/alpine/v3.12/community >> /ecc/apk/repository
Eseguire i comandi precedenti per sostituire il contenuto iSH /ish/apk
pseudo-file system con i repository offerti da Alpine Linux. Quindi dovrai correre apk update
Per ottenere i nuovi elenchi di pacchetti.
Utilizzo di SSH
È possibile installare OpenSSH con apk add openssh
.
Il cliente lavorerà immediatamente, Tentativo ssh me@myserver
.
Per utilizzare il dispositivo iOS come server SSH, Eseguire i seguenti comandi:
ssh-keygen -A passwd echo "PermitRootLogin si" >> /etc/ssh/sshd_config sshd
Questo genererà chiavi host SSH e ti chiederà di impostare una password per il root
Nome utente. il sshd
l'eseguibile viene richiamato per avviare il server SSH. Ora sarai in grado di connetterti al tuo dispositivo come il root
Nome utente.
iSH non supporta i servizi di avvio automatico per impostazione predefinita. Puoi configura questo modificando la terza riga di /etc/inittab
per ::sysinit:/sbin/openrc
. Prossima corsa rc-update add sshd
per l'avvio automatico del server SSH all'avvio di una sessione iSH.
Esecuzione di un server web
Come si vede nell'esempio SSH, iSH utilizza lo stack di rete del tuo dispositivo. Puoi ospitare un server web che puoi navigare sugli altri tuoi dispositivi.
Correre apk install apache2
per aggiungere Apache. Utilizzo httpd
per avviare la procedura Apache. Prossimo, visita l'indirizzo IP del tuo dispositivo iOS in un browser web; Dovrebbe essere visualizzato il messaggio Apache predefinito “Funziona!” testo.
Oggi, iSH non supporta l'esecuzione in background. Ciò significa che non puoi passare a Safari e sfogliare le sue pagine web mentre usi un iPhone.. In un iPad, è possibile aprire un browser in visualizzazione divisa: iSH rimane attivo sul lato dello schermo.
Apache può essere configurato con la stessa frequenza. Troverai il suo file di configurazione in /etc/apache2/httpd.conf
. La radice del documento predefinita, da dove vengono servite le pagine web, è /var/www/localhost/htdocs
.
ora cosa??
Ora stai eseguendo un ambiente Alpine Linux sul tuo dispositivo iOS. Aggiungi i pacchetti che hanno senso per il tuo lavoro. C'è una lista crescente di software di lavoro inclusi punti base Unix e linguaggi di programmazione completi. Nodo.js, Pitone, PHP, Ruby e Git sono operativi.
Nonostante questo, non tutti i pacchetti funzioneranno. Il software che effettua chiamate di sistema che non sono state tradotte verrà bloccato. Come iSH è un emulatore, le prestazioni possono anche essere inferiori alla media a volte.
Puoi eseguire un server VNC se desideri utilizzare applicazioni grafiche. I passaggi dettagliati sono forniti nel Wiki l'iSH. Le limitazioni delle prestazioni si risolveranno con un carico di lavoro grafico, ma tecnicamente è fattibile. La procedura prevede l'installazione xorg-server
, configurare una configurazione headless e successivamente aggiungere a .xinitrc
file per impostare il gestore di finestre da utilizzare. Otterrai i migliori risultati con un gestore di finestre leggero come i3
.
conclusione
Sembra che iSH diventerà un'app iOS indispensabile per sviluppatori e amministratori di sistema. Esistono già applicazioni di qualità come dannazione che forniscono strumenti Unix di base, così come i client SSH come Termius che ti consente di connetterti a una macchina Linux remota. Nonostante questo, iSH è la risposta più completa finora, poiché offre un ambiente Linux che supporta un elenco crescente di software popolari.
Con iSH sul tuo iPhone o iPad, puoi usare il familiare software x86 Linux ovunque tu sia. Abbinalo a una tastiera esterna e avrai un dispositivo di produttività portatile che potrebbe davvero sostituire il tuo laptop..