Ubuntu – GUI on Ubuntu server

desktopgraphical-user-interfaceUbuntu

I'm primarily a developer, but as part of this I'm running an Ubuntu server for a client where he has several small to medium sized websites. Although my main development environment has generally been Windows I'm reasonably familiar with Linux (I run Ubuntu on one of my two main workstations) and command line unix (admin'ing Oracle on HP-UX in the late 90's)

So although I do feel fairly competent on the command line, I'm still a little rusty and generally prefer a GUI. I know I could install a desktop on Ubuntu server, but I'm uncertain if I should, so my questions are

  1. Is there any particular risk or reason why I should not install a desktop on Ubuntu server? In particular any security or performance issues? Or should I just grit my teeth and get completely back up to speed on the command line?

  2. If installing a desktop is a reasonable option which one should I choose? I really don't need the bloat of Gnome or KDE – just an environment where I have access to the basic GUI facilities and maybe a browser to make downloading scripts and the like more straightforward. Would XFCE be suitable?

This is very much an ease-of-use centred question – I'm not after a complete command line replacement, just something to make moving around the system and performing basic tasks run a little more smoothly for someone who is not going to be a dedicated Linux admin.

Best Answer

The only difference between Ubuntu Server and Ubuntu Desktop, are the Desktop packages which you can install with apt-get.

I can see several reasons why I wouldn't use it on a remote server:

  1. ssh is much faster, X11 over ssh would be slower.
  2. It's a load on the server that it doesn't need. I prefer a server to be lean and mean, with minimal packages. It's also easier for the updates.
  3. wget is very simple for downloading. I usually copy URLs from Firefox and type wget, then paste the URL
  4. No need for a dedicated Linux admin, but the basic commands are quite straightforward.
  5. To manage files and file transfer between the server and your PC, you could use SCP, WinSCP is a nice windows version. (SCP does its magic through ssh).
  6. rsync is also a very useful command to synchronize data (one-way), you can also use Unison for two-way sync.
  7. learn to use an editor, I like joe, pico, and emacs, but there are many other nice editors.