Ubuntu Server install with full GUI
Ubuntu is Ubuntu. The server and desktop editions run on the same base and pull from the same repositories, they're just pre-configured differently out of the box. Since they point at the same repositories, it would be absolutely fine to do a sudo apt install ubuntu-desktop on a server system in order to get a GUI up and running.
GUIs do use system resources, but not much, especially when the DE is idling, and especially on a system with hundreds of GBs of RAM and a dual socket motherboard. If installing a GUI on your server would be beneficial and help your team be productive, then you won't hurt a thing by doing so. I personally don't like running GUIs on servers because they do use some RAM even when idling, but to each their own. In my synaptic I see 4 different options for GUIs that you can install without getting exotic and adding additional software sources:
- ubuntu-desktop (Installs the default Ubuntu and Gnome Shell experience, which is what you get if you download regular desktop Ubuntu)
- kubuntu-desktop (Installs the default Ubuntu and KDE experience, more Windows-esque)
- lubuntu-desktop (Installs the default Ubuntu LXDE experience, LXDE is billed as being lightweight)
- xubuntu-desktop (Installs the default Ubuntu XFCE experience, XFCE is billed as being lightweight)
So to install one of these just run sudo apt install packagename
Just be aware that those packages are what are known as "meta" packages, in that they don't contain anything themselves, they just point to a whole list of other packages that set up a predefined condition, such as a default Kubuntu desktop environment with all of the normal applications that would come with that. What that means is that when you install one of those, you might see it download a LOT of additional packages, and it may actually take a few minutes to set up. You may also see it brand your "server" as Kubuntu, Lubuntu, etc. Don't be alarmed, it's just a logo, :-)
Since you ask for any help at all, I’ll chime in, hoping for no downvoted:) I know someone who installs GUI packages on such servers where a remote UI would be needed for troubleshooting. It’s useful for users that aren’t familiar with cli too much. So it does work. The GUI is just a package and it’s dependencies (so many packages) something like apt-get install ubuntu-desktop
The way I understand it is that the GUI uses X amount of resources. It won’t use more than it needs. So if your box has a lot more resources, it shouldn’t be detrimental.
Here the thing that you might want to use. If you install the GUI, don’t make it load by default. So the target shouldn’t be this interface. Rather you should configure your server to be a server and also have the ability to load the graphical interface with one command. This way the GUI won’t be running and most of these recourses won’t be used unless you need them.
Good luck and hope this helps!
edit: I missed one point. GUI version of Ubuntu is fully capable. The thing is, for example, you won’t have the webserver, because it comes by default with the packages designed for desktop use. But anyway even on the server version you’d need to install a webserver and also configure it, because you might be using various web servers, and Ubuntu team doesn’t know which one you want for sure. But for example the SSH stuff, Ubuntu desktop comes with the client not with ssh-server. However if you install the server version, it will have the ssh-server by default. Again even on a desktop, installing ssh server is trivial and is a one liner
Since nobody has yet answered the question of resources usage, I’ll take a stab. Ubuntu server has the following system requirements:
- 300 MHz x86 processor
- 256 MiB of system memory (RAM)
- 1.5 GB of disk space
- Graphics card and monitor capable of 640x480
From here
Installing the Ubuntu-desktop package (which I assume is what you’re talking about when you say adding a GUI) makes the system essentially like you had installed the desktop version. The desktop version has the following requirements:
- 2 GHz dual core processor
- 2 GiB RAM (system memory)
- 25 GB of hard-drive space
- VGA capable of 1024x768 screen resolution
Also from here
Certainly more resources utilized, and approximately in line with the 50-60% number you quote, but really not a lot when you’re talking about server-class resources.
On to the second point: should you install the server edition, then add the Ubuntu-desktop meta package, or install the desktop edition directly? The functional differences between the two are small, and from an appearance perspective almost nonexistent. These two options will look almost identical, the difference will be in how you ‘expect’ to configure things like network interfaces, displays, hard disks, etc. The server edition will not come with the ‘convenience tools’ for easily configuring and managing these items (NetworkManager, Disks, etc.), and will instead assume that you want full manual control of the configuration and management of these things.
Small amount of resources aside, this choice comes down to who will be doing the configuration and management, and what skill level they have/amount of manual control they want.