One day my company is going to need a server, and I like Ubuntu since it has the least amount of viruses out of all the OSes (I think), but when I look at the Ubuntu Server it only has black background and white text, which is command line. Is that all to Ubuntu Server? Or is it like Ubuntu Desktop, and a modules for command line? I don't really want it to just be the command line.

I'm new to the Ubuntu OS stuff. Even now I still use windows.

  • 5
    Just a remark: a server is intended to be fast. An active desktop will kill performance so GUI is UNNEEDED overhead. Think about what you need to do on it on a regular base. If it is MySQL: you can install workbench on a desktop and connect to the server with it. Same applies for lots of other server software. "Also Ubuntu good for web server, date center, cloud, and hosting online games?" we have been using Ubuntu as a server since 2006 and have it running in a data center since 2010 hosting our software.
    – Rinzwind
    Aug 29 '14 at 12:15

Ubuntu Server is designed to be a scale out server operating system for professionals.

It's a stripped down OS with no frills attached. The target audience for Ubuntu Server is someone who is comfortable with the command line. Some would even make the argument that it's not designed for the command line, it's so stripped down that it's designed to be driven by configuration management tools like Chef, Puppet, and Ansible, and by orchestration tools like Juju as a baseline image for higher level infrastructure (things like Cloud Foundry if you want a PaaS, or OpenStack if you want IaaS, or any combination of all these things).

If you're looking to do dense deployments with Docker containers, or high density OpenStack deployments, then that's what Ubuntu Server is for.

That being said, in the right conditions it can be a nice "easy to use" server for personal servers. Ubuntu doesn't really go after the small-scale personal server market. However, there'a a company that takes Ubuntu Server and puts a slick web UI on top for people who do want easy to use home and small business servers:

See also:


If you build a public facing server, you should be familiar and comfortable with the system you are using.

You mention virus protection as a reason, which suggests to me that you are looking for "security as a product", which is something that doesn't exist. Security is always a process, and servers on public networks need to be monitored and maintained constantly -- this is true for both Windows and Linux.

The keys to reducing the work load doing so are

  • minimizing attack surface
  • automatisation

I've found that to be easier to do in Linux/Unix environments, because Windows's greatest strength, which is the tight integration of components, is actually a hindrance here.

It is completely impossible to build a Windows system that does not have a web browser component installed (which includes functions to download and execute JavaScript code, which can in turn then load ActiveX components), simply because Explorer requires that component. An ideal server environment contains only the code necessary for the services provided, and nothing else.

At the same time, integration of components provides very efficient communication channels for the use cases they have been designed for, but for automated monitoring of services, it is often required to combine them in unanticipated ways, which requires scripting. The Windows philosophy that the scripting environment only provides control flow and data is passed between components is a sound one, but slightly more difficult to debug than a program writing a text file which you can manually inspect before passing it to the next program.

The preference many administrators have for the command line is simply that it is the same language they use for scripting. After investigating an issue, I can simply dump my command history into a file, remove a few irrelevant lines and I have a working script I can use when a similar issue appears. Using a GUI, I'd have to manually retrace what I just did, find out what the proper API is to perform the same step, then write a program and debug it without interrupting service.

Last but not least: the alternative to running your own server is to get a managed server, where someone else is tasked with the ongoing maintenance. They can do that more efficiently than you, because they have a monitoring infrastructure in place already, so the effort to add your server to their system is negligible, and they can detect and take care of urgent issues even on the night shift.


You might find some user interface "better" than the command line, in ubuntu server.

An adminsys should know the command line to configure the server itself. After if you only need some guys checking everything is ok, or adjusting a setting on the demand, or doing a simple task somedays, you can install use graphical interface :

You can install a graphical server (X11,Mir,wayland,...) but there are plenty reason to not doing this

Some people considere byobu as a graphical interface for the command line, but this might not be your need.

The best way to get a graphical interface is to install some package that provide web interface, mean you will have to login from a web browser from a desktop (that is in the same network of course). That looks the best think to search if your employes/co-worker are not skilled in command line, if you don't have budget to get formation on it, or if you fear some social movement agaisnt it.


The best way to use Ubuntu server is from the command line. But, if you want graphical interaction, you can install ubuntu-desktop with the apt-get package manager. I recomend you use the graphical single user seasion.

Not the answer you're looking for? Browse other questions tagged or ask your own question.