Ciao, Habr! Vi presento la traduzione di un articolo dalla rivista APC.

In questo articolo viene trattata l'installazione completa dell'ambiente operativo Linux con un'interfaccia grafica su dispositivi Android.
Una delle tecnologie chiave utilizzate da molti sistemi Linux su Android è . Si tratta di un'implementazione dello strumento chroot nello spazio utente, molto popolare nei sistemi desktop e server Linux. Tuttavia, l'uso di chroot richiede permessi da utente root, che per impostazione predefinita non sono disponibili su Android. pRoot fornisce questo vantaggio stabilendo un legame con la directory.
Terminali Linux
Non tutti gli emulatori di terminali Linux per Android includono il set di strumenti BusyBox, a differenza, ad esempio, di Termux. Questo perché il senso di tali sistemi è di fornire un’installazione "completa" di tutti i componenti del sistema operativo, mentre BusyBox è progettata per ridurre la grande varietà di utilità comuni in un unico file binario. Nei sistemi in cui BusyBox non è installato, viene utilizzato il boot iniziale per Linux, contenente versioni complete dei programmi.
"
Imposta un nome utente e una password per la distribuzione e VNC in UserLAnd.
Tuttavia, in questi sistemi è presente una tecnologia aggiuntiva che non richiede Termux. In questo articolo tratteremo un'installazione completa della distribuzione Linux, insieme all'ambiente desktop GUI. Ma prima è necessario scegliere il metodo di installazione del sistema grafico.
Linux su Android
Come accennato in precedenza, i pacchetti software che installeremo vengono eseguiti nello spazio utente.
Ciò significa che hanno solo l'autorizzazione per l'utente corrente, che nel caso di Android è sempre un utente normale, cioè non ha diritti di amministratore. Tuttavia, per installare un desktop Linux, sarà necessario installare un server grafico, come X o Wayland. Se lo facessimo in un ambiente operativo Linux, si avvierebbe con i privilegi di un utente normale, senza avere accesso al livello grafico di Android. Pertanto, dobbiamo considerare l'installazione del server in modo "standard" per Android, in modo che possa accedere all'hardware e supportare l'ambiente grafico.
I brillanti membri della comunità di sviluppo hanno suggerito due soluzioni a questo problema. La prima consiste nell'utilizzare versioni personalizzate di Linux (di solito è il server X). Una volta che queste iniziano a funzionare in background, avrai accesso a questo processo in background tramite VNC. Se sul tuo dispositivo Android è già installato un programma VNC viewer per l'interazione remota con altri computer, utilizzalo per ottenere accesso remoto al nodo locale. Questa è una soluzione semplice da attuare, tuttavia alcuni utenti segnalano di avere difficoltà con il funzionamento del programma.
La seconda opzione è installare un server appositamente progettato per dispositivi basati su Android. Alcuni server sono disponibili nel Play Store in versioni a pagamento e gratuite. Prima di installare, verifica che l'opzione scelta sia supportata o almeno funzioni con il pacchetto software Linux per Android che intendi installare. Abbiamo preferito il sistema X-Server, e quindi abbiamo utilizzato il pacchetto software XServer XSDL.). Nell'articolo verrà descritto il processo di installazione di questo server, sebbene possa differire leggermente se hai installato un'altra applicazione o stai usando VNC.
Scelta del sistema
Come nel caso degli X-Servers, su Play Store ci sono diverse applicazioni per l'installazione di distribuzioni di Linux. Qui, come con Termux, ci concentreremo su opzioni che non richiedono privilegi di superutente, il che implica un certo grado di rischio. Queste applicazioni offrono tutte le funzionalità necessarie per la maggior parte degli utenti, mantenendo i tuoi dati al sicuro. Di seguito sono riportati esempi di tali applicazioni su Play Store:
— : è una scelta molto popolare tra gli utenti. L'applicazione include un insieme di distribuzioni comuni: Debian, Ubuntu, Arch e Kali. Curiosamente, nonostante la mancanza di opzioni basate su RPM, UserLAnd include Alpine Linux per dispositivi con minore capacità di memoria.
— : questa applicazione aiuta nell'installazione di una o più liste di distribuzioni di grandi dimensioni e può includere Ubuntu/Debian, Fedora/CentOS, openSUSE e persino Kali. È possibile anche scegliere opzioni desktop a basso consumo: Xfce4, MATE, LXQt e LXDE. È necessario avere Termux installato e il sistema operativo Android deve essere dalla versione 5.0 in su.
— è molto simile ad AnLinux. Potrebbe avere un design migliore rispetto all'app precedente, ma supporta un numero minore di distribuzioni.
— : questo progetto è iniziato come una variante di Linux su Android ed è stato sviluppato per programmi open source. Come suggerisce il nome, si concentra su distribuzioni Debian, mentre 'X' alla fine indica che l'applicazione è orientata verso un desktop grafico. E nonostante i creatori abbiano interrotto lo sviluppo del progetto a favore di UserLAnd, GNURoot WheezyX è ancora disponibile su Play Store, se qualcuno ne ha bisogno.
Gli autori di questo articolo utilizzeranno l'app UserLAnd per installare un desktop Linux su Android, e ci sono diverse ragioni per questo. In primo luogo, l'app ha codice sorgente aperto (anche se AnLinux ne ha uno). In secondo luogo, offre una buona selezione di distribuzioni (anche se non include Fedora o CentOS); inoltre, consente di installare distribuzioni con requisiti di sistema minimi, che non occupano molto spazio nella memoria dello smartphone. Ma il principale vantaggio di UserLAnd è che ha strumenti di supporto per installare singole applicazioni invece di intere distribuzioni. Scopriremo cosa significa esattamente per noi più tardi. Ora procediamo all'installazione di UserLAnd sul tuo dispositivo.
App UserLAnd
Scarica l'app dal Google Play o da F-Droid () su Android. Si installa come qualsiasi altra app — non c'è nulla di speciale da fare qui. Dopo, avviala dal pannello delle applicazioni.
La prima cosa che vedrete è un elenco delle distribuzioni. Alla fine potete trovare un paio di opzioni desktop: LXDE e Xfce4. Completa il tutto l'applicazione Firefox, un paio di giochi e diverse utilità per l'ufficio: GIMP, Inkscape e LibreOffice. Questa scheda si chiama "Applicazioni" ed è destinata all'installazione delle applicazioni.
Dopo aver installato qualcosa, apparirà una registrazione corrispondente nella scheda "Sessione". Qui è possibile avviare o fermare la sessione corrente, oltre a vedere i processi in esecuzione.
La scheda "File System" è l'ultima che mostra le installazioni già completate. Vale la pena notare che dopo aver rimosso un elemento da File Systems, le informazioni su di esso verranno cancellate dalla scheda Sessione, il che però non prova il contrario. Questo significa che sarà possibile creare una nuova sessione basata sull'attuale file system. Comprendere come funziona questa interrelazione è molto più semplice se lo si vede in azione, e quindi inizieremo con l'installazione di un'applicazione in un ambiente di sistema UserLAnd.

Prima di installare una distribuzione sul tuo smartphone, è necessario fornire a UserLAnd l'accesso allo storage.
Distribuzioni in UserLAnd
Seleziona una delle distribuzioni presenti nello schermo delle app per installarla sul dispositivo. Per esempio, utilizzeremo Ubuntu. Facendo clic sull'icona, si aprirà una finestra di dialogo in cui verranno richiesti il nome utente, la password e la password VNC. Successivamente, scegli il metodo attraverso cui accederai alla distribuzione. Inizierà il download, durante il quale verrà utilizzata l'immagine di base della distribuzione selezionata. Il file verrà estratto nella directory UserLAnd.
Al termine del download, torna all'emulatore di terminale xterm. Puoi inserire il comando per verificare quale versione di Linux hai installato:
uname –aIl passo successivo consiste nell'installare l'ambiente desktop utilizzando il comando Ubuntu:
sudo apt install lxdeL'ultimo passo è assicurarti che il tuo nuovo ambiente desktop sia pronto per l'avvio. Per farlo, devi modificare il file .xinitrcfile, che attualmente contiene solo una riga /usr/ bin/twm. Devi modificarla in /usr/bin/startlxde. Ora esci dalla sessione XSDL (assicurati di aver premuto il pulsante STOP nell'area delle notifiche), tieni premuto il pulsante «Ubuntu listing» nella scheda Sessioni, quindi fai clic su «Stop Sessions» e riavvia le sessioni. Dopo pochi secondi dovrebbe apparire l'ambiente di sistema LXDE. Qui puoi fare le stesse cose che faresti su un normale desktop. Può semplicemente essere un po' più piccolo e funzionare leggermente più lentamente: per premere un pulsante sul dispositivo, dovrai aspettare più a lungo rispetto a se lo facessi con tastiera e mouse. Vediamo come possiamo migliorare specificamente l'ambiente di sistema Linux sullo smartphone.
Guida rapida a UserLAnd
Esaminando attentamente il contenuto del desktop, puoi trovare una riproduzione esatta della versione desktop. Se stai utilizzando UserLAnd su un dispositivo con tastiera e mouse (collegati tramite Bluetooth o in altro modo), ti sarà facile adattarti all'uso dell'ambiente di sistema Linux in questo formato. A parte un leggero ritardo dovuto alla sincronizzazione del cursore X-Windows con il cursore del dispositivo Android, tutto funziona in modo fluido.
Potresti voler iniziare regolando il sistema di font predefinito, poiché le dimensioni dei caratteri del desktop potrebbero risultare troppo grandi per lo schermo del telefono. Vai nel menu principale, poi seleziona «Impostazioni» → «Configurazione dell'aspetto e dei widget» → «Widget». Qui puoi cambiare la dimensione del carattere predefinita con una più adatta per il tuo telefono.
In seguito, potresti voler installare i tuoi programmi preferiti nell'ambiente di sistema Linux. Come accennato in precedenza, i comandi di sistema in questo caso non funzioneranno, quindi utilizza liberamente lo strumento indispensabile che è disponibile nell'ambiente di UserLAnd, chiamato ASAP:
sudo apt install emacs 
Le distribuzioni nell'app sono rappresentate come sessioni. Puoi avviarle e chiuderle.

Dopo aver installato la distribuzione, puoi aggiungere un ambiente desktop con i comandi standard.
Probabilmente avrete anche bisogno di alternative per stabilire la connessione con la vostra distribuzione. Il fatto che abbiate inizialmente installato XSDL non significa che debba rimanere invariato nel tempo. Potete creare un altro account nella scheda Session e selezionare un altro server. Assicuratevi solo di indicarlo nello stesso filesystem. UserLAnd cercherà di reindirizzarvi all'app corretta per stabilire un nuovo tipo di connessione: XSDL, ConnectBot per SSH o bVNC.
Tuttavia, l'insistenza con cui l'app vi reindirizza automaticamente al Play Store quando cercate di ricollegarvi può risultare fastidiosa. Per fermarlo, basta cambiare server installando un'app specifica. Per installare SSH, scegliete il collaudato VX ConnectBot. Accedete semplicemente alla porta 2022 sulla workstation con il vostro nome utente e password. Per connettersi al server VNC, è sufficiente installare l'app commerciale, ma in molti aspetti avanzata, Jump Desktop e inserire l'indirizzo 127.0.0.1:5951.
Speriamo che ricordiate la password VNC che avete impostato quando avete creato il filesystem.
È possibile accedere all'attuale sessione di UserLAnd anche utilizzando strumenti simili su un altro computer nella vostra rete. Basta collegarsi tramite SSH a una sessione in corso (ovviamente con tipo di connessione SSH) attraverso il terminale Linux, ad esempio, Konsole, o collegarsi a una sessione VNC con KRDC. Basta sostituire gli indirizzi locali sullo schermo del computer con gli indirizzi IP del vostro Android.
In combinazione con un paio di applicazioni portatili, questa configurazione vi fornirà un comodo sistema Linux portatile, a cui potrete collegarvi utilizzando qualsiasi computer a vostra disposizione in quel momento.
Fonte: habr.com
