UserLAnd is a free, open-source tool that enables you to install and manage Linux applications on your Android device like you would a native app and to also run full Linux distributions e.g. Ubuntu, Kali Linux, Debian, etc. ??? all the need to root your device. It has an inbuilt terminal for connecting to shells and you can connect it to VNC sessions if you want a graphical experience.