I know from experience that managing a Linux server from the command-line interface can be daunting. I worked as a system administrator for years with people in my team who were using Linux for the first time. If you are in a similar situation, you might be wondering if installing a GUI would make everything easier, and if so, which one to choose.
While installing a graphical user interface (GUI) on Ubuntu Server is not mandatory, it can help when users are not comfortable with the command line. A minimalist GUI like XFCE can simplify most server administration tasks without using too many resources.
In this article, I will discuss the pros and cons of using a GUI on your Linux server and guide you through the recommended options if you decide to install one.
Why experts advise against a GUI on Ubuntu Server
When doing some research for this article, I was shocked to read that almost everyone discourages you from installing a graphical interface on a server. They don’t even bother to give some guidance and context.
There are some good reasons for not installing one and I want to start by explaining them, but I also intend to give you a full answer including my recommended solution to your problem.
So, why does everybody seem to advise against installing a GUI on a Linux server?
The main concern with installing a GUI on a Linux server is the resource consumption of the interface and visual applications.
When you build a server, it’s for a specific task and you want the most power available for this task.
The role of a web server, for example, is to handle as many visitors as possible, loading each page as fast as possible. If it’s also running background programs (like the GUI), it won’t be as fast or handle as many requests.
If 25% of the RAM or CPU is used by the GUI and its related apps, you may need to invest in a more powerful server or lower your expectations for the server capacity.
Then, the second concern is how useful a graphical interface really is.
If I continue with my previous example, is it really worth allocating 25% of resources to maybe save you a few minutes once a month when you do the system updates or install new programs?
That’s the main answer you’ll get on forums and from Linux experts: “you can do everything using only Linux command lines, so why bother with an interface?”
And it’s true.
As mentioned in the introduction, I managed Linux servers for years, none of which had a GUI and there was no point in adding one.
Even if it took me 5 minutes to look for the command to do something specific, it was worth it. The rest of the time, the server could run at 100% on server tasks, not waste 20% of the RAM to have GNOME running in the background.
But it was my job and I understand your concerns. Don’t worry, I will give you solutions.
Just take a few minutes to think about it: can’t you allocate a few hours each week to learning Linux commands instead of running for the easiest solution?
In the long term, it might be a better idea to improve your skills instead of sacrificing the performance of all your Linux servers.
If you’re new to the Linux command line, this article will give you the most important Linux commands to know, plus a free downloadable cheat sheet to keep handy.
Another thing that you need to keep in mind is that the more applications installed on a Linux computer, the more security risks there are.
We are talking about big projects (GNOME, KDE, etc.), with a large community of developers and testers, but still. Servers with a GUI are more likely to be affected by security problems than servers without one.
Even the lightest desktop environments come with hundreds of additional packages. Each one of them is a separate project, which might add security risks at some point.
This is especially important if your server is accessible from the Internet or if it hosts critical data.
Why a GUI might be the right choice for you
Installing a GUI on a Linux server can still be the right choice in some cases. It can, for example, simplify certain complicated tasks and allow doing some online research directly from the server (with a web browser).
If you are not used to Linux servers, I understand the interface on the right can be more comfortable than the one on the left :-).
Once you keep all the downsides I listed previously in mind, there are still some cases where installing a GUI can make sense:
- Performance: If your server is powerful enough for its current tasks, adding a GUI doesn’t necessarily require that many resources, maybe you can afford it.
- Ease of use: If you have never used Linux before and need to deploy this server quickly, that might be the fastest option. You can always remove the GUI later, once you’re more familiar with the command lines.
- Simplify certain tasks: There are a few tasks where using a GUI is way easier. For example, if you try to resize a partition on your disk, using Gparted instead of fdisk can save you a lot of time, especially if it’s your first time doing this.
- Internet searches: If you can’t use remote access, switching a lot from your computer to the server is a waste of time. With a GUI, you’ll have a web server available to use your favorite search engine directly from it.
That said, how do we replace the black screen you currently have with something more inviting, like in this screenshot?
Choosing the Right GUI for Your Ubuntu Server
So, let’s get back to your main question now. What’s the best GUI for your Linux server?
For a Linux server, a lightweight desktop environment such as XFCE or LXDE is recommended. It brings the benefits of having a graphical user interface without consuming too many resources or slowing down the server too much.
I have already written a full comparison of the top desktop environments for Ubuntu on this website, so I won’t repeat everything here. But my personal choice for a server would be XFCE.
The full XFCE environment still requires around 1 GB of disk space for a total of 700 new packages to download and install, but it’s way less than the alternatives like GNOME or KDE, which are more focused on giving the best experience for a desktop computer, not a server.
We don’t need all the extra features for a server, just something simple and functional.
You can also try to add the –no-install-recommends option when installing it, to start with just the environment without the default apps:
sudo apt install xfce4 --no-install-recommends
The same option will also work if you prefer another desktop environment.
Here is the full article with all the details, pros & cons, installation tips, and other options if you want to learn more before installing anything on your server:
Reminder: Remember that all the members of my community get access to this website without ads, exclusive courses and much more. You can become part of this community for as little as $5 per month & get all the benefits immediately.
Overwhelmed with Linux commands?
My e-book, “Master Linux Commands”, is your essential guide to mastering the terminal. Get practical tips, real-world examples, and a bonus cheat sheet to keep by your side.
Grab your copy now.
If you just want to hang out with me and other Linux fans, you can also join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
More details here.
Need help building something with Python?
Python is a great language to get started with programming on any Linux computer.
Learn the essentials, step-by-step, without losing time understanding useless concepts.
Get the e-book now.