How to add a GUI to Ubuntu Server on your Self-Managed Server

By default, Linux server distributions do not come with a Graphical User Interface (GUI). GUI applications consume system resources needed for server-oriented tasks and so Linux server distributions usually avoid a GUI in favour of the command-line terminal.

You are able to add a GUI to your Ubuntu web server via the command-line terminal.

Steps

  • 1
    Run the below commands and respond with “Y” when prompted:                                          
    sudo apt update && sudo apt upgrade
    
    sudo apt install tasksel
    
    sudo tasksel
  • 2
    Once you have completed the above step you will see a software selection screen.
  • 3
    Navigate to the Debian desktop environment and select your desired GUI (such as GNOME). Press the space bar to select the first option, then scroll to the preferred GUI and press the space bar again. The selected option will be denoted by a * and press enter to finish. This will begin the downloading of resources required for your desired GUI.
  • 4
    Once you have finished installing, you can reboot your server with the below command:
    sudo reboot

What happens next

When your server boots back up, you will see the default login page and desktop after login. It will appear very basic.

At this point, it is advisable that you manage your GNOME extensions via your Firefox browser: https://extensions.gnome.org/.

Navigate to this link and install the browser extension (please note that GUI options other than GNOME may have a different management technique).

Assist Note

Be mindful that the additional extensions you add to your GUI will consume system resources, so choose wisely and prioritise whether you want a better UI experience or server performance.

Assist Tip

There is a multitude of free open-source extensions to choose from, you can customise as you see fit.

Suggested useful extensions for GNOME include:

  • Desktop Icons NG (DING) – For desktop icons
  • Minimize Shelf – To show minimized windows 
  • Vitals – To monitor the server load, CPU and memory usage, etc
  • Workspace indicator – To easily switch between your workspaces