By default, Ubuntu Server comes with the essential apps and service you need for your server, without apps like a browser, an office suite etc. After our post featuring the best Linux distros for gaming, and us being a hosting/server-related website, we got quite a few requests to publish a post about Linux (Ubuntu) server GUIs. So, here it is.
Before we start with anything, some things you need to know:
- It’s strongly recommended that you don’t use a GUI (Graphical User Interface) for your Ubuntu Server. All Linux server distros were meant to be used via their Command Line Interface (CLI). Installing any GUI on your server will just increase the hardware requirements (more RAM, more CPU power etc.).
- Check with your hosting provider, they may not allow you to install a GUI/desktop environment as you can create a big load on their servers.
- If you are a beginner and don’t know how to run an Ubuntu server, you should get a Managed VPS. Installing a GUI won’t help you (that much).
- If you know what you are doing and just want to test server GUIs, go with a cheap unmanaged VPS. Vultr offer a $2.5 per month VPS.
So when it comes to server GUIs for Ubuntu, you are left with several choices:
Ubuntu Server Control Panels
With a control panel, you’ll get a GUI on your server, and a proper one. You can manage your server’s resources, websites, FTP accounts, e-mails etc. If you really need a GUI for your server, you should use a control panel.
Examples include:
Webmin
Webmin is the most popular open source control panel. It’s easy to install, easy to use, and has a beautiful GUI that you can use to manage your Ubuntu server. You can create databases, users, emails, manage DNS, manage services on your server and more. Everything you need for your server in an intuitive GUI.
If you want to install it, go to our tutorial: How to Install Webmin on Ubuntu 16.04.
If Webmin’s not your cup of tea, there are alternatives:
VestaCP
VestaCP has a modern GUI for your Ubuntu Server and it has many features that you can use to manage it. The installation couldn’t be easier – you can do it with a single command! VestaCP’s minimum requirements are so low that you can run it on a $2.5 per month Vultr VPS with 512MB RAM.
There are even more alternatives that you can use as a GUI for your server. Our “honorable mentions” are: ISPConfig, Ajenti, Froxlor and Sentora. So take a look at each control panel and choose the one that you like the most. Each one has a beautiful GUI and is easy to use.
Note that cPanel, the most popular (paid) control panel, is intentionally not included in this post as cPanel can only run on a CentOS server, and this post is not for CentOS GUIs. Check our CentOS vs Ubuntu comparison to see the differences between the two.
If you really want a “desktop version” on your Ubuntu VPS, you’ll need to install a desktop environment.
Desktop Environment For Your Ubuntu Server
Much like control panels, you also have several options for desktop environments.
The default Ubuntu desktop environment
Essentially, you’ll install the “desktop version” of Ubuntu on your Ubuntu server.
You can install it with a single command:
sudo apt-get install --no-install-recommends ubuntu-desktop
This command above installs the minimal version of Ubuntu Desktop (no additional apps and services). It takes up less time, less disk space and fewer server resources.
If you’re feeling naughty and want to go full Ubuntu Desktop, install it with the following command:
sudo apt-get install ubuntu-desktop
This can take a while. After the desktop environment is installed, you’ll either get a login prompt or you need to restart your server and you’ll get a GUI.
Lightweight desktop environments
If you really had to use a desktop environment on your server, you should go with a lightweight one. That way you won’t need that many resources and you’ll still have a “desktop on your server”.
Xubuntu (XFCE)
One of the most popular lightweight desktop environments. It doesn’t need a lot of resources and you’ll still get a GUI on your Ubuntu server. You can install the Xubuntu (XFCE) desktop environment with the following command:
sudo apt-get install xubuntu-desktop
Wait a while for the installation to finish and reboot your server.
Lubuntu (LXDE)
A very lightweight Linux distro based on Ubuntu. It uses the LXDE desktop environment and it can be used on an Ubuntu server. Install it with the following command:
sudo apt-get install lubuntu-desktop
There are many other desktop environments that you can try out. GNOME, Budgie, LXLE, Unity etc. Pick the one that looks the best to you and go with it. Although, again, it’s not recommended to use a desktop environment on your server.
This post was last modified on October 19, 2021 5:42 am
View Comments (13)
That mantra is so stupid:
"Although, again, it’s not recommended to use a desktop environment on your server."
OK if you're bank or airport IT administrator, but for guys that starts they journey with Linux this is stupid.
That's why we see often Windows Server for stupid file sharing instead of free Linux.
Don't use GUI, use only VI as a editor.
I use Ubuntu server with LXDE desktop, and mostly I need that to open 2-3 terminals at once or delete some strange file from shared folder. On that Ubuntu server I have two virtualized, with KVM, Windows OSes, one of them W2k12 with SQL Server.
Isn't that easier to delete file named on Windows "This is my file with very long name and beautiful extension and dot.txt" with a click instead of console?
Imagine that you have 20 similar to delete and remember: Linux is case sensitive and names with spaces need to be in double quote.
So:
1) You are learning and wanna to have GUI - install XFCE or LXDE without desktop stuff [Libre office and etc.]
sudo apt-get install xfce4 xdm or
sudo apt-get install lxde lxdm
For normal desktop packages remember about adding --no-install-recommends
2) You like more virt-manager instead of freaking virsh console - install GUI
3) Yes - you can use NANO editor instead of VI - choose whats easier for you
4) If your are hungry on resources or other Linux admins are pointing you with their finger then boot to commandline by default:
# sudo nano /etc/default/grub
replace GRUB_CMDLINE_LINUX_DEFAULT="" with GRUB_CMDLINE_LINUX_DEFAULT="text"
exit and save
# sudo update-grub
# sudo reboot
and you're in pure command line mode - no X11 server loaded
If you want to start GUI - login and use startx command. After logout you are back in command line.
I agree with you. Windows server has a gui, Mac server has a gui, Xerox has a gui, IBM mainframes have gui's. It just seems like the linux nerd royal guard are stuck in the ms-dos 2.11 days. I think the commans line has its place and time but to say that resources get killed by the gui harkens back to windows 3.0. Linux distros are way past that and so is the hardware. So give up your old 486dx machine and the cli and join the real world.
Thanks Jacek, Im trying to be more familiar with Linux and I really think have a GUI can speed up the process. It will never replace the CLI but why not have the best of both?
I run the command "sudo apt-get install xfce4 xdm" and Im already in the GUI, but I wanted to make the CLI by default at boot, so I edited the /etc/default/grub like you said and update-grub, rebooted but isnt working. The changes in /etc/default/grub are there. Do you know why this could happen? Thanks.
Just in case this would be helpful to anybody, his fixed it for me:
systemtcl disable xdm
imagine 20 similar? weir1 spce.txt weri4 ace.txt ...
rm we* or rm *e.txt
not arguing against personal preference. i will say its usually faster than gui; given you put the time in to learn it a little past basic. figure out regex and both mice and men will... probably just call you a nerd... but you get the drift :D
You mentioned LXLE... how can I unstall the LXLE desktop on ubuntu 16.04 server? I have an old HP Proliant ML110 with 2x250 GB Hard drives. I installed ubuntu server so I could easily create a 500 GB RAID 0 array. I'd really like to install the LXLE desktop!
LXLE is a distro in itself. So, do you mean LXDE, the desktop environment? If so, you can install it using
and it should work. But most Ubuntu servers have issues when they have a desktop environment.
See https://wiki.lxde.org/en/Installation#Instructions_for_Ubuntu.2FDebian_.28APT.29 for more details.
This is a good article with the exception of the insistence that you are not a capable IT guy if you don't know the command line. My preference of gui's is xfce. I have only seen a loss of less than 2% of system resources when using xfce4. Webmin is a bigger pain than the cli and vesta is just a front-end for another pretty command liner. I was looking for an alternative to webmin and rediscovered xfce. I have bookmarked this site for future reference as the writer(s) of this article clearly were unbiased in the overall focus of the question posed. I also liked the fact that the authors didn't push their home product or services. I know I can count on honesty and good info here. Thanks
I recommend TinyCP. It is really easy minimilist control panel for linux server
Would be a nice edition if you added how you remove these packages if you change your mind. I installed the xubuntu-desktop but saw that it took too much cpu to run it, but now I can't manage to get rid of it :(
We'll add instructions on how to remove them too. This might help in the meantime: https://askubuntu.com/questions/92084/how-to-remove-xubuntu-desktop
Thank you! Would you recommend this one? https://askubuntu.com/a/145325
And the server part of ubuntu will be unaffected?
I haven't actually tried any of the commands from there but by the looks of it, should be fine. Yes, the server part won't be affected.