Should I use Ubuntu Server or Desktop?

Hi, I just go my hardware. A NUC with N3700 CPU, 4GB RAM and 120GB SSD. I have decided on Linux. I have some(not a lot) experience with Linux from the Raspberry Pi and configuring my web sites on a hosted server.

My question is, should I install “Ubuntu Server” (LTS) or “Ubuntu Desktop” on my server? Will the server version be much faster. I did some research, and seems like server does not have any GUI, which I might want to use?

  1. If I choose server, can I still run a GUI on it? On my Raspberry Pi for example it always start in terminal mode, but I can easily start the gui by entering the command “startx”.

  2. If I choose the desktop, can I prevent it from auto starting to save resources?

Or, should I even consider Debian??

Your’re right, Ubuntu server come without a GUI. But you can easily upgrade it to a desktop by simply installing “ubuntu-desktop” package. If you have an Ubuntu desktop, you can boot it directly on command line terminal by editing the grub. Here is a tutorial for this:

1 Like

Thanks for quick reply and help!

Will installing “ubuntu-desktop” package on “Ubuntu Server”( add all additional software that is included with “Ubuntu Desktop”( Or, will it still be most lightweight than installing “Ubuntu Desktop”?

The main reason I think I should choose “Ubuntu Server” is because I think it will be more lightweight, and have less services/programs running. If this is not the case, I think “Ubuntu Desktop” would be more appropriate for a Linux beginner like myself.

The difference between desktop and server, is the desktop packages and the installation process. You can boot it directly without GUI, but went you startx your desktop, then this is ressources hungry. So you should try lightweight “Desktop Environments”.There is some linux distro like Xubuntu that come with Xfce DE, or Ubuntu Mate with Mate DE. My first server was a Xubuntu. Or you can install Ubuntu server, and install lxde, or xfce, or mate, or another DE, but you will have to do this from command line.

1 Like

I more or less have the same setup as yoy with a simple dual core CPU and 4 gb ram and an old graphic card.

My plan is to install Open hab on it, so far a made install of ubunu 16 and java install.

But I dont understand how to install Open hab on it.

What shall i type in terminal, as I cant find openhab in the software download app.

Kind regards Alan

Hi @Lilja

take a look at

There it’s described how to do an apt-based install on Ubuntu / Debian. Simply copy & paste the commands and you’re all set.


I did come to the last step "

sudo systemctl start openhab2.service
sudo systemctl status openhab2.service

sudo systemctl daemon-reload
sudo systemctl enable openhab2.service

But then nothing…

Did you install the prerequisites?

Hi Markus
I got the Java if i understand the text correctly?

camilla@CamillasDator:~$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

I would recommend Zulu (which is an “optimized” version of OpenJDK)
(or Oracle’s JVM)

does the /var/log/openhab2/openhab.log file say anything? (I assume that the OH2 service doesn’t start… correct?)

1 Like

That looks good, I believe.
Maybe a better question: what exactly do you mean by nothing?
In the terminal there should indeed be nothing anymore, in other words you
would expect simply the system prompt.
What happens if you go connect to the openhab server in a browser
The address is:
with the ip Number of your machine that runs openhab. Do
you see any error messages?

Did you check the logs, are there any error messages?

Especially because openJDK ist explicitly not recommended…

@Lilja Next time you install a new system and want to install openHAB you can also use the openHABian Configuration Tool for that:

I did not got any errors but en error when i tried to open up the browser. Do i need to login with the same computer?

Unable to connect

Firefox can’t establish a connection to the server at

The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any pages, check your computer’s network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

I did also login to my router and got IP 192.168:X.X

so when I did try

I got this message below, and my sitemap folder is empty. WHen a new istall is done should it me a Sitemap file in the sitemap folder?

Problem accessing / Reason:
Sitemap ‘default’ could not be found

Caused by:
org.openhab.ui.webapp.render.RenderException: Sitemap ‘default’ could not be found
at org.openhab.ui.webapp.internal.servlet.WebAppServlet.service(
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(
at javax.servlet.http.HttpServlet.service(
at org.eclipse.jetty.servlet.ServletHolder.handle(
at org.eclipse.jetty.servlet.ServletHandler.doHandle(
at org.eclipse.jetty.server.session.SessionHandler.doHandle(
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(
at org.eclipse.jetty.servlet.ServletHandler.doScope(
at org.eclipse.jetty.server.session.SessionHandler.doScope(
at org.eclipse.jetty.server.handler.ContextHandler.doScope(
at org.eclipse.jetty.server.handler.ScopedHandler.handle(
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
at org.eclipse.jetty.server.handler.HandlerCollection.handle(
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(
at org.eclipse.jetty.server.Server.handle(
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(
at org.eclipse.jetty.http.HttpParser.parseNext(
at org.eclipse.jetty.http.HttpParser.parseAvailable(
at org.eclipse.jetty.server.AsyncHttpConnection.handle(
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
at org.eclipse.jetty.util.thread.QueuedThreadPool$