A good place to start reading and understanding what is needed for a GUI
https://help.ubuntu.com/community/Installation/LowMemorySystems
My configuration is below for a minimum system that I consider to be a useable starting point.
sudo apt install xfce4 xfce4-goodies sudo apt install tightvncserver tightvncserver :1 sudo apt-get install gnome-icon-theme-full tango-icon-theme sudo apt install gksu sudo apt install synaptic sudo apt install chromium-browser sudo apt install gedit
open gedit and edit the file /usr/share/applications
change Exec= to “Exec=gksudo synaptic”
Total drive size is 2.144gb when run on the AWS Ubuntu image
Create a partition for the swap so applications have access to more RAM
sudo dd if=/dev/zero of=/mnt/swap.0 bs=1024 count=1048576 sudo mkswap /mnt/swap.0
Add to fstab to automatically mount the partition
sudo su echo "/mnt/swap.0 swap swap defaults 0 0" >> /etc/fstab swapon /mnt/swap.0
Check your work
sudo swapon -s
https://docs.bitnami.com/installer/faq/linux-faq/#how-to-download-and-install-a-bitnami-stack