COME INSTALLARE UN SISTEMA OPERATIVO PER PC SU ANDROID [NO ROOT]

22 gennaio 2021

Linux su un dispostivo Android in meno di 10 minuti

Ads

Sicuramente ci è capitato di aver bisogno di qualcosa di più dal nostro telefono Android, magari il sistema operativo non riusciva a soddisfare le nostre esigenze. Questo è un problema ben noto anche alle grandi case produttrici: Samsung ad esempio ha creato una versione Desktop della sua One UI che si attiva quando utilizziamo il telefono collegato ad un monitor esterno. 

Ma non tutti abbiamo un telefono di ultima generazione Samsung, per fortuna esiste una soluzione che sotto certi punti di vista, è anche migliore. Andremo ad utilizzare un'applicazione gratuita presente nel Play Store chiamata Andronix.

Andronix non andrà a sostituire il nostro sistema operativo, creeremo una sorta di macchina virtuale eliminabile in qualsiasi momento, non ci sono rischi.

 

#COSA FA ANDRONIX

Questa applicazione ci consente di installare varie distribuzioni Linux popolari sul nostro dispositivo Android utilizzando le funzionalità Termux e Proot del sistema.

APPROFONDIMENTO: Proot è un'implementazione user-space di chroot, mount --bind e binfmt_misc. Questo significa che gli utenti non hanno bisogno di alcun privilegio o configurazione per compiere azioni come ad esempio utilizzare una directory arbitraria come il nuovo file system di root, rendendo i file accessibili da qualche altra parte nella gerarchia del file system.

L'applicazione ci permette di utilizzare di utilizzare Linux non solo via riga di comando, ma anche tramite interfaccia grafica, come siamo abituati, tramite i più popolari Desktop Environment 

Le distribuzioni disponibili sono

  • Ubuntu: la più popolare delle distribuzioni. Basata su Debian e sviluppata dal team di Canonical Ltd. è considerata la distribuzione ideale per un principiante.

  • Kali Linux: una distribuzione basata su Debian incentrata sulla sicurezza informatica e Penetration Testing. Sicuramente uno dei più famosi (ma di certo non l'unico) sistemi operativi per chi è interessato a questo tipo di applicazioni. Preinstallati troviamo molti dei tool più utili per certe attività.

  • Debian: la madre delle distribuzioni Linux più popolari e un colosso per stabilità. La maggior parte delle distribuzioni più popolari si basa su di lei, come ad esempio le due viste prima.

  • Arch Linux: Una distribuzione che si distacca da quelle viste prime, cerca di restare sempre il più aggiornata possibile (bleeding edge). Infatti, fornisce le versioni stabili più recenti del software, appena queste vengono rilasciate dagli sviluppatori. Utilizza un gestore di pacchetti differente da Debian e derivate, sotto molti aspetti superiore. Nel complesso però utilizzare Arch non è consigliato ad i principianti.

  • Manjaro Linux: basata su Arch, ha come obiettivo quello di fornire un'esperienza accessibile e semplice a chiunque voglia utilizzare Arch senza dover passare per le difficoltà che ogni utente alle prime armi potrebbe incontrare.

  • Fedora: pensata per essere sicura, è una versione da tutti i giorni di Red Hat e punta agli utenti che vogliono un sistema operativo semplice da usare e sempre aggiornato. Questo sistema operativo è sviluppato su un ciclo di release semi annuale gestito dal Fedora Project. 

  • Void Linux: è un sistema operativo basato sul kernel monolitico di Linux. Il suo sistema di pacchetti ci permette di installare, aggiornare e rimuovere velocemente qualsiasi software. Void Linux è anche molto altro, ma è anche eccessivamente complesso per un utente inesperto che non sa quello che cerca.

  • Alpine: basata su musl e BusyBox è pensata per sicurezza, semplicità ed efficienza nell'utilizzo delle risorse. Utilizza un kernel hardened e compila tutti gli spazi utente binari come posizioni indipendenti eseguibili con protezione stack-smashing

Per quanto riguarda gli ambienti grafici, sono disponibili 5 opzioni

  • LXDE
  • MATE
  • KDE
  • LXQT

  • XFCE

In questa guida utilizzeremo solo XFCE in quanto risulta essere il Desktop Environment che fornisce la migliore esperienza di utilizzo per i nostri scopi.

Se siamo interessati e sappiamo cosa stiamo facendo, Andronix da la possibilità di installare anche dei Windows Manager, ecco quelli disponibili 

  • Awesome

  • Openbox

  • i3

Utilizziamoli solo se sappiamo cosa stiamo facendo, non verranno coperti in questo articolo

#COSA NON POSSIAMO FARE?

Purtroppo ancora non è possibile utilizzare al 100% il telefono come macchina per un sistema operativo desktop totalmente funzionante. Questo è dovuto da diversi fattori, quali ad esempio la mancanza di applicazioni sviluppate per architettura ARM o la mancanza di accelerazione hardware in Termux. Vediamo alcune delle limitazioni

  • Non potremo installare Steam e qualsiasi gioco pensato per PC. Il motivo principale  è che Steam e i relativi giochi sono sviluppati principalmente per architettura x86 per processori Intel/AMD e non per ARM i.e. aarch64, armv8, arm64, arm, armv7, arm32 etc.

  • Androix non può utilizzare software che non sia compilato per architettura arm64/armv8/aarch64. Quindi prima di scaricare un'applicazione assicuriamoci che sia disponibile per la nostra architettura. Purtroppo non è comunque detto che tutte le applicazioni, anche se pensate per ARM, possano girare su Andronix. Non abbiamo il Kernel Linux completo come base e certe applicazioni lo richiedono per funzionare.

  • Gli ambienti Linux messi a disposizione da Andronix non possono essere utilizzati per scopi di hacking/cracking, ad es. hacking Wi-Fi, cattura di pacchetti ecc. Tutte queste cose richiedono hardware reale che supporti caratteristiche come la cattura di pacchetti, che non è disponibile in modo nativo nei telefoni Android.

  • Qualsiasi sistema operativo Linux non può essere installato su memoria esterna in quanto Android non dà il permesso di scrivere su memoria esterna come sdcard o dispositivi USB.

  • I pacchetti SNAP/Docker/Flatpak non possono essere installati su nessun ambiente Linux. È dovuto principalmente a due motivi. Il primo è che entrambi richiedono kernel e bus modules che non sono disponibili in ambiente Proot e secondo, entrambi sono focalizzati principalmente su architetture basate su Intel/AMD e non per l'architettura arm.

  • Qualsiasi distribuzione disponibile non è Hardware Accelerated: Termux non ha il supporto per l'accelerazione hardware. Per ulteriori domande riguardanti accelerazione hardware guardiamo qui.

 

#APPLICAZIONI DA INSTALLARE

Abbiamo principalmente bisogno di due applicazioni, Termux e Andronix

Termux sul Play Store: Link

Questa prima applicazione è un potente emulatore di terminale Linux che comprende una vasta gamma di pacchetti Linux installabili. È possibile utilizzare sia bash che zsh, editare file con nano, vim o emacs. È molto utile per accedere a server via ssh per azioni di base, come ad esempio controllare la temperatura in un Raspberry Pi. Maggiori informazioni su Termux possono essere trovate nella Wiki ufficiale.

Infinite, tramite Andronix potremo installare la distribuzione Linux che più preferiamo

Andronix sul Play Store: Link

Infine avremo bisogno di installare sul nostro telefono e/o sul nostro computer VNC Viewer per poter utilizzare graficamente la nostra distribuzione

VNC Viewer sul Play Store: Link
Scaricare VNC Viewer per Windows 10: Link

 

#INSTALLARE IL SISTEMA OPERATIVO

La prima cosa è aprire Termux e aggiornare tutti i pacchetti alla versione più recente. Apriamo quindi l'applicazione e scriviamo 

pgk update

una volta scritto premiamo invio e lasciamolo aggiornare. Sicuramente il processo di aggiornamente si bloccherà ogni tanto per chiederci delle conferme: ogni volta che questo accade, limitiamoci a premere invio sulla nostra tastiera per accettare l'opzione di default. 

Non appena Termux ha finito di aggiornarsi apriamo Andronix, ci troveremo davanti una schermata con tutte le distribuzioni installabili. In questa guida andremo ad installare Debian. Clicchiamo quindi sull'icona a spirale evidenziata in foto 

Una volta fatto, clicchiamo su "Installa"

Adesso non ci resta che scegliere il DE, in questo caso utilizzeremo XFCE. Ci basterà cliccare sulla sua casella

L'applicazione avrà automaticamente copiato una comando da incollare su Termux. Cliccando il tasto "OPEN TERMUX" in basso a destra, si aprirà automaticamente. Una volta aperto, non ci resta che tenere premuto in una qualsiasi parte dello schermo, cliccare incolla e poi invio. Se dovessimo esserci persi il comando da copiare, eccolo qui 

pkg update -y && pkg install curl proot tar -y && curl https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Installer/Debian/debian-xfce.sh | bash

Una volta incollato su termux, ci vorrà un po' di tempo: aspettiamo qualche minuto, stiamo pur sempre installando un sistema operativo. Quando l'installazione sarà giunta al termine vedremo la scritta Welcome to Andronix | Debian

Arrivati a questo punto l'installazione di Debian è andata a buon fine, non ci resta che avviarlo. Per farlo ci basterà copiare e incollare questo comando su termux

./start-debian.sh

Se spunta la scritta

root@localhost
allora siamo ufficialmente dentro Debian. In questo momento stiamo utilizzando sono l'interfaccia testuale di Debian. Per poter utilizzare il Desktop Enviroment dobbiamo copiare ed incollare questo comando da terminale 

vncserver-start

Scegliamo una password di almeno 6 caratteri e quando ci verrà chiesto se vogliamo scegliere una password view-only digitiamo n

NOTA: Quando digitiamo la password non vedremo né asterischi né puntatori che si muovono, è normale. Anche se non sembra stiamo scrivendo comunque 

Adesso non ci resta che trovare il nostro indirizzo IP locale in modo da poterci connettere tramite VNC nel passaggio successivo. Per farlo copiamo e incolliamo questo comando sul terminale 

hostname -I

Ci verrà restituito un indirizzo come quello in foto

Ovviamente l'indirizzo sarà personale! Quindi se vediamo dei numeri differenti da quelli in foto è assolutamente normale. Memorizziamo questo indirizzo IP perchè ci servirà 

NOTA: Se non abbiamo un telefono molto potente e con poca RAM, è sconsigliato utilizzare la versione grafica della distribuzione. In questo caso è meglio limitarsi alla interfaccia da riga di comando

 

#CONNETTERSI CON VNC

Adesso non ci resta che aprire l'applicazione VNC Viewer che abbiamo scaricato in precedenza. Nella barra in alto scriviamo 

il-nostro-indirizzo-ip:1

Quindi ad esempio, nel caso in cui l'indirizzo fosse

192.168.1.5
dovremo scrivere 

192.168.1.5:1

Poi premiamo invio. Inseriamo quando richiesto la password che abbiamo scelto il precedenza ed ecco che staremo utilizzando un sistema operativo Desktop che gira totalmente sul nostro telefono.

Possiamo personalizzarlo come preferiamo ed installare, se possibile, le applicazioni che più utilizziamo. Preinstallate troviamo applicazioni come il terminale, Firefox e Chromium, che per un utilizzo rapido e leggero sono già più che sufficienti.

Quando abbiamo finito, non ci resta che scrivere sul terminale il comando 

vncserver-stop

E chiudere il tutto. Ovviamente quando vorremo ri-utilizzarlo, non scordiamo di scrivere nuovamente

vncserver-start

#COME CAMBIARE LA RISOLUZIONE (FACOLTATIVO)

Il server VNC avrà una risoluzione di default parecchio bassa, per aumentarla dobbiamo editare un file. Per farlo scriviamo da terminale 

nano /usr/local/bin/vncserver-start

e modifichiamo l'ultima riga con 

vncserver -name remote-desktop -geometry 1920x1080 :1

Ricordiamoci che su nano non funziona il mouse, quindi muoviamoci solo con le freccette della tastiera. Una volta modificato premiamo Ctrl + X, poi Y ed infine Invio.

#COME ATTIVARE L'AUDIO (FACOLTATIVO)

Come prima cosa, dobbiamo uscire da Debian. Dal telefono, nella shell di Debian, digitiamo il comando 

exit

e premiamo invio. Una volta fatto copiamo e incolliamo questo comando 

pkg install wget && wget https://andronixos.sfo2.cdn.digitaloceanspaces.com/OS-Files/setup-audio.sh && chmod +x setup-audio.sh && ./setup-audio.sh

Adesso l'audio sarà funzionante

 

#INSTALLARE LE APPLICAZIONI

Vediamo qualche esempio di applicazioni che possono tornare utili nell'utilizzo di tutti i giorni.

#BROWSER

Sia firefox che chromium sono preinstallati all'interno della distribuzione, ma se dovessimo avere problemi possiamo installarli con i seguenti comandi. Per Firefox scriviamo:

sudo apt install firefox-esr -y

Mentre per Chromium

wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Uninstall/ubchromiumfix.sh && bash ubchromiumfix.sh

Se non dovesse avviarsi normalmente da terminale scriviamo 

chromium --no-sandbox

o altrimenti 

chromium-browser --no-sandbox

#LIBREOFFICE

Da terminale (sempre dentro Debian, non Termux) copiamo e incolliamo questo comando 

sudo apt update -y && sudo apt install wget -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Uninstall/librepatch.sh && bash librepatch.sh

#BLENDER

Se per qualche motivo volessimo usare Blender per delle leggere, ma davvero leggere animazioni, possiamo installarlo tramite il seguente comando 

sudo apt-get updatesudo apt-get install blender

Assicuriamoci di avere un telefono con almeno 6GB di RAM ed un processore potente

#VS CODE

Per installare questo ottimo editor avanzato copiamo e incolliamo il seguente comando 

apt install wget -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Uninstall/vscode_patch.sh && chmod +x vscode_patch.sh && ./vscode_patch.sh

#GIMP 

Per ritoccare foto in maniera molto leggera è possibile installare GIMP tramite il seguente comando 

sudo apt-get updatesudo apt-get install gimp

 

#COME UTILIZZARE AL MEGLIO ANDRONIX

La prima cosa da tenere a mente quando utilizziamo Andronix è che siamo su un telefono Android. Non cerchiamo di comportarci come se fossimo su un computer potente, specialmente se non il nostro telefono non è l'ultimo top di gamma dell'anno. 

Sono principalmente 3 i metodi di utilizzo ideali per Andronix

#DAL TELEFONO TRAMITE RIGA DI COMANDO

Se non abbiamo a portata di mano un monitor o un altro computer, ma abbiamo bisogno della potenza e dell'utilità di Linux, allora utilizzare Andronix da telefono è la scelta migliore. 

È pur sempre possibile collegarsi tramite VNC dal telefono stesso. Nonostante sia possibile, non vuol dire che sia comodo da utilizzare

Magari utilizzato in orizzontale, su un cellulare grande, abbinato a mouse e tastiera, può avere senso per operazioni rapide. 

La versione senza interfaccia grafica invece si presta per tutti quei lavori immediati in cui abbiamo bisogno di pacchetti specifici presenti su Linux. Ad esempio se avessimo l'urgente bisogno di calcolare gli autovalori di una matrice, possiamo installare Octave tramite riga di comando ed utilizzarlo come calcolatrice tascabile molto intelligente


Semplici operazioni matriciali eseguite su Octave direttamente dal telefono

 

#DA TELEFONO TRAMITE MONITOR ESTERNO

Questo forse è l'utilizzo più sensato di Andronix. Nel caso in cui avessimo un monitor esterno non collegato ad una sorgente, ci basterà collegare il nostro telefono e trasmettere il video. Una volta fatto ci basterà aprire VNC dal telefono in orizzontale, collegare mouse e tastiera Bluetooth ed il gioco è fatto.

Se vogliamo sfruttare al meglio il potere di avere un computer in tasca, possiamo valutare l'acquisto di un monitor portatile da 15" alimentato via usb-c direttamente dal telefono. Sarà come portare un quaderno nello zaino 

Monitor Portatile: Link Amazon

NOTA: Assicuriamoci che il nostro telefono supporti l'uscita video dalla porta USB di Tipo C, questa informazione può essere trovata nei siti di riferimento dei singoli produttori.

Se invece fossimo alla ricerca di una tastiera meccanica wireless ecco una guida

Le migliori tastiere meccaniche Wireless: Link

#DA COMPUTER VIA VNC

Questa soluzione è ottima per un computer poco potente che non potrebbe mai reggere una macchina virtuale. In questo caso spostare la potenza di calcolo sul telefono ci permette di utilizzare comunque un sistema operativo Linux in finestra, senza dover però sprecare preziose risorse della nostra macchina principale

Debian 10 su OnePlus 7 Pro utilizzata tramite VNC da un computer

#CONCLUSIONE

Andronix è un progetto che crescerà sempre di più nel tempo, aggiungendo nuove funzioni sempre più utili (magari un giorno vedremo anche l'accelerazione hardware). Già oggi ci permette di utilizzare, seppur in parte, la potenza di linux su un cellulare.

Teniamo sempre a mente che non siamo su un computer, siamo su un telefono Android, con arm: non tutto ancora è possibile.