Aquesta seria una solució impensable fa uns anyets, però resulta que podem tenir corrent perfectament un GNU/Linux (Debian en el meu cas) instal·lat a un antic smartphone.
Amb Termux podem tenir una terminal en un smartphone amb Android, però a més a més podem instal·lar un sistema Debian, Manjaro, Alpine, Ubuntu i altres, que van a servirnos per al propòsit que vullguem.
Realment no anem a tindre una màquina virtual pura, com faria un VirtualBox a un ordinador, sinó que farem servir una eina anomenada PRoot per a crear un entorn tancat (un chroot sota l'usuari actual d'Android) compartint el mateix nucli (kernel) de GNU/Linux que ja porta el teu telèfon Android.
UN VIDEO ON EXPLIQUE EL RESULTAT
TERMUX I PROOT
PRoot és una ferramenta per a Linux (i adaptada a Termux) que permet simular un entorn de superusuari (root) i un sistema de fitxers alternatiu, però amb un gran truc: sense necessitat de tindre el mòbil rootejat. Aleshores, no vas a tindre un GNU/Linux super potent per a renderitzar projectes d'arquitectura o per a jugar a jocs molt potents, però si podem tenir un escriptori típic per a un usuari d'ofimàtica normal, o per a diverses utilitats d'escriptori que no requerisquen massa recursos o per a instal·lar-nos un servidor de correu, un firewall, un servidor web o, en aquest cas, un servidor VNC que oferirà un escriptori remot a qualsevol ordinador d'internet que tinga un client d'VNC.
El motiu de que no podrem fer funcionar videojocs molt potents és perquè les imatges de GNU/Linux que normalment descarreguem per a l'ordinador estan fetes per a processadors x86 o x64 (Intel/AMD). Però el nostre mòbil utilitza un processador ARM (normalment ARM64). Aleshores les distribucions GNU/Linux que podrem instal·lar són les que estan modificades i optimitzades específicament perquè funcionen sobre ARM i sense necessitat de tindre permisos de root al telèfon.
Açò anem a fer-ho tot amb Termux, que és un programari d'Android ens permet instal·lar paquets de programari: Termux té el seu propi gestor de paquets (pkg o apt) des d'on podem instal·lar llenguatges com Python, Node.js o Ruby, o també podem instal·lar Git, o també editors com eMacs, Nano o Vim, o fer servir clients d'SSH per administrar servidors remots o un servidor SSH per a administrar el propi dispositiu des de qualsevol ordinador a internet.
INSTAL·LACIÓ DE TERMUX I CONFIGURACIÓ DE PERMISSOS
Podem instal·lar Termux des del Google Play Store o des de F-Droid.
Una vegada instal·lat, entrarem i escriurem:
termux-setup-storage
Ens saltarà una finestra emergent d'Android demanant-te permís per a accedir als teus fitxers. Triarem "Permetre".
Ara actualitzem tots els paquets per a que esten al dia i evitar fallades amb PRoot-Distro:
pkg update && pkg upgrade -y
EL NOSTRE DISPOSITIU ANDROID COM A SERVIDOR SSH
Ara instal·larem OpenSSH a Termux per si volem connectar-nos al nostre smartphone Android remotament:
pkg update
pkg install openssh -y
Ara tenim el nostre smartphone funcionant com a servidor SSH. Per defecte som l'usuari 'root' sense contrasenya, així que anem a donar-li una contrasenya a 'root' immediatament amb:
passwd
Si volem executar el servei SSH a Termux, farem:
$sshd
Podem configurar l'SSH a Termux per tal de que s'inicie en l'arranc de forma automàtica:
echo "sshd" >> ~/.bashrc
source ~/.bashrc
Escriurem també aquestes dues variables en .bashrc per tal de que Android no ens bloquege l'SSH o altres processos quan el tenim en segon pla:
echo "termux-wake-lock" >> ~/.bashrc
echo "export PROOT_NO_SHM=1" >> ~/.bashrc
També ens asegurarem que Android no bloqueja l'ús de la bateria al mòbil quan fem servir Termux. Anirem a Ajustos + Apliacions + Gestionar aplicacions + Termux.
Entrrem en l'opció Estalvi de bateria i seleccionarem "Sense restriccions" (No restrictions).
Això evita que Android mate el procés gràfic quan detecta molt consum de RAM.
I ja tenim un servidor SSH al nostre dispositiu Android. Podem fer SSH des de Termux cap a una màquina remota, o des d'una màquina remota cap a Termux. Per defecte Termux no fa servir el port 22 sinó el 8022, aleshores farem ssh el_teu_usuari@IP -p 8022 per tal d'accedir al nostre smartphone.
En el meu cas, he connectat via SSH al Termux del dispositiu fent:
ssh root@192.168.182.121 -p 8022

Anem a apujar el nivell. A Termux, PRoot-Distro és el gestor oficial i natiu creat pels mateixos desenvolupadors de Termux. És més net, està completament integrat i rep actualitzacions constants per a saltar-se les restriccions dels Android moderns.
Instal·lem el gestor oficial de distribucions:
pkg install proot-distro -y
I ja ho tenim, PRoot-Distro in da house. Ara ja podem fer coses més interessants.
INSTAL·LACIÓ DE LA DISTRIBUCIÓ DEBIAN GNU/LINUX DINS DEL NOSTRE DISPOSITIU ANDROID
Ara, des de Termux anem a instal·lar Debian GNU/Linux de manera oficial amb PRoot-Distro:
proot-distro install debian
El procés pot trigar prou, depenent del teu dispositiu i de la connexió a la xarxa. A mi m'ha trigat una hora en un smartphone Redmi 9, aleshores: paciència.
ANDROID I EL PHANTOM PROCESSES KILLER
Important: Necessitem configurar el número de processos que Android per a que, encara que tinguem molts processos executant-se en Termux (i la distro GNU/Linux que instal·lem) no s'ens talle.
A les versions recents d'Android (a partir d'Android 12), el sistema té un mecanisme anomenat Phantom Processes Killer (l'assassí de processos fantasma) que tanca automàticament qualsevol aplicació en segon pla (com Termux) si detecta que obre massa subprocessos. Per exemple si obrim el navegador Mozilla Firefox o el LibreOffice, el Phantom Processes Killer fa saltar totes les alarmes i Android el fulmina instantàniament.
Aleshores, activarem la Depuració USB al mòbil (Obligatori) des de Ajustos + Quant al telèfon i ara premem 7 vegades esguidaes sobre "Número de compilació" o "Versió MIUI/OS" fins que diga "Ara ja sou desenvolupador".
Ara anirem a Ajustos + Configuracions Addicionals + Opcions de desenvolupador, ara cercarem l'opció de Depuració USB i l'activarem.
Ara connectarem un cable miniUSB tipo C al dispositiu fins a un ordinador i comprovem que l'ADB el detecta:
joan@mart:~$ adb devices
List of devices attached
fb26b77f device
I finalment caparem el mecanisme de seguretat d'Android (anomenat "Phantom Killer" perquè tanca automàticament les aplicacions que generen molts subprocessos paralels) que t'està matant el Termux en segon pla amb la següent orde:
adb shell "device_config put activity_manager max_phantom_processes 2147483647"
Com que la comanda de adb modifica una configuració profunda del sistema Android, no es pot executar directament des de dins del mòbil de forma nativa (a no ser que tinguis el mòbil completament rootejat). Cada vegada que el mòbil es reinicia, aquest valor torna al seu estat de fàbrica.
ACCEDIM A DEBIAN GNU/LINUX
Ara, des del Termux (ja siga amb el dispositiu en les nostres mans o accedint a Termux des de SSH) podem entrar en la Debian GNU/Linux que acabem d'instal·lar escrivint:
proot-distro login debian

Ja estem a Debian GNU/Linux i podem escriure còmodament perquè estem treballant des d'un ordinador remot.
INSTAL·LEM UN ENTORN GRÀFIC I EL SERVIDOR VNC EN LA MÀQUINA DEBIAN GNU/LINUX
Anem a instal·lar l'entorn d'escriptori LXQt i un servidor d'VNC:
apt update && apt upgrade -y
apt install task-lxqt-desktop openbox lxsession lxqt-session dbus-x11 -y
apt install dbus-x11 x11-xserver-utils -y
apt install tigervnc-standalone-server -y
apt install x11vnc xvfb -y
apt install xfonts-base -y
apt install xdotool -y
Durant la instal·lació de l'entorn d'escriptori, quan em pregunta sobre el display manager (lightdm o sddm) jo li dic el primer, el lightdm.
CONFIGUREM EL SERVIDOR VNC PER A OFERIR UN ESCRIPTORI REMOT
Establirem la contrasenya del VNC amb:
vncpasswd
La contrasenya ha de tindre 6 caràcters com a mínim.
Ara configurem per a que arranque l'escriptori LXQt automàticament:
mkdir .vnc
I editarem dins el fitxer xstartup::
nano ~/.vnc/xstartup
I afegirem les següents línies:
#!/bin/bash
unset MIN_SHM_HELPER
export PROOT_NO_SHM=1
#
xrdb $HOME/.Xresources
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#
startlxqt &
li donarem permissos a eixe fitxer:
chmod +x ~/.vnc/xstartup
Iniciem el servidor VNC amb:
vncserver :1 -geometry 1280x720 -depth 16 -localhost no
I bé, ací et mostre algunes captures de pantalla d'una sessió remota VNC des del portàtil. Ací estic obrint l'explorador de fitxers de l'escriptori LXqt, i la veritat és que funciona la mar de bé:

Ací el navegador Mozilla Firefox navegant en la meua pròpia pàgina web.
He fet diverses proves en webs pesades com la de Vilaweb, videos de Youtube, El Pais, etc.. obrint diferent pestanyes per a veure el rendiment, i per a ser un dispositiu antic de 2023 amb 6 GB de RAM i un processadoret ARM, funciona prou bé, tenim una experiència semblant a treballar amb una Raspberry Pi 4 i aplicacions gràfiques:

Ací obrint un Dataset d'un portal de Dades Obertes de la meua feina amb el full de càlcul Libreoffice Calc.

I ací provant el rediment d'edició d'imatges amb The Gimp, i funciona molt ràpid i fluid, la veritat:






