Ubuntu uses GNOME as their default desktop. So, In this article we will see how we can install Ubuntu GNOME Desktop on Android via Termux and you don't need root access to install it.
As GNOME uses systemd which cannot be used in Android without root so will uses GNOME flashback which doesn't require systemd.
Prerequisite :
Installation :
So first we need to install proot-distro
pkg update && pkg install proot-distro
Now install Ubuntu
proot-distro install ubuntu
Once Ubuntu is installed, then just login to it
proot-distro login ubuntu
Now install Gnome Desktop
apt update && apt install gnome-session-flashback -y && apt install gnome-terminal ubuntu-wallpapers dbus-x11 -y
Once installation is completed the we need to setup VNCserver to access GUI, for that create a new session in termux and install vncserver
pkg install x11-repo -y && pkg install tigervnc xorg-xhost -y
Now start vncserver
vncserver -geometry 1280x720 -listen tcp :1 && DISPLAY=:1 xhost +
Now again go to ubuntu and create a file to start GNOME desktop
nano /usr/local/bin/vncstart
Paste following in it and save the file
#!/bin/sh
rm -rf /run/dbus/pid
dbus-daemon --system
dbus-launch
DISPLAY=:1 $HOME/.vnc/xstartup
Give executable permission
chmod +x /usr/local/bin/vncstart
Now create xstartup file for VNC
mkdir $HOME/.vnc && nano $HOME/.vnc/xstartup
paste following in it and save it
#!/bin/sh
export XKL_XMODMAP_DISABLE=1unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
gnome-panel &
metacity &
gnome-flashback &
panel &
Give executable permission
chmod +x $HOME/.vnc/xstartup
Start GNOME desktop
vncstart
Now open VNC viewer and create a connection with localhost:1 and connect to it.