Headless home server distro

Hey,

I was running an old ubuntu home server (standard release 11 later upgraded to 12) a long time and I’ve just revived it. I remember having to do some tricks to ensure I could RDP to it and make it start up headless etc way back when…

Now I’m just ssh’ing in and realizing it’s still running unity and/or gnome while I’m not connected via RDP. I don’t remember the details but I think keeping it running with a dummy display was part of the tricks to make it run headless.

So now it’s 2017 and I’d like to optimize this a bit or maybe upgrade to a new distro.

Questions :slight_smile:

  1. How can I run headless in linux so that it only starts the GUI when I RDP in, not always?
  2. Any tips for a good server edition distro that does ZFS, torrenting, plex, suitable for a headless installation and is fairly up to date

Thanks!

Fedora 26 for everything you are wanting.
Why do you need to rdp into this headless server?

1 Like

Good question, I guess I don’t really :slight_smile: however I always liked to use the gnome desktop over putty for working on the server. I might go fedora this time around, but I haven’t done much linux in the last 15 years so maybe ubuntu server edition suits me better. Any particular reason you say Fedora ?

PS: by headless I mean there is no monitor (or keyboard/mouse), I do like my GUI if I can have it :slight_smile:

I use ubuntu as my go to server but thats really just personal pref because its what I’m used to. When I did have a headless setup at home I never really used the gui. I did have a vnc server running but that ran all the time, not just when connected. However if you killed the VNC server the GUI is no longer running. Its not automated but its not hard to SSH in and fire one up, then kill it when you’re done. You could even configure putty to do this upon connection…not sure about killing it though.

side note: If you are not already using tmux in putty, you should start. It makes doing things via term exponentially easier.

I use Ubuntu Server too, 16.04.xx to be specific and it’s easy and reliable in my experience. Only complaint I have is that it is a LTS release, so packages from the default repo’s are not up to speed with the development. I’ve mainly been wanting a newer version of tmux and openvpn for a while. You can go with the 17.04 release, or fedora of course. Which would remove that concern. However I can’t comment on stability on those releases.

Thanks for the response. I have the same here, the VNC server needs the gui up and running via a dummy display, annoying. Yes I could stop/start it I guess. Had a quick look at tmux, sounds like screen which I always used for switching between terminals.

I dont have that issue with 16.04 LTS and tightvnc-server. Fires up without a hitch and away you go.

Pretty much, except you can have all of them open in the same window, just divided up however you want. I find the keyboard shortcuts easier as well. Where as screen wont display each terminal simultaneously.

Fedora 26 because I use it for my everyday server and zfs was easy on it and containers were also. Not to say those aren’t probably easy on ubuntu

I would say Open Suse leap, its a very decent distribution for a home server.

I’d recommend proxmox. After the initial install everything can be done through the web gui. You can even interact with the display of any VM as if your web browser was a monitor connected to the VM itself. I use it alot for playing with Windows server/client domain networks. Plus it’s debian based, so maintaining the proxmox host itself is familiar and easy.

3 Likes

why do you need putty? it almost sounds like you’re running…WINDOWS?!

2 Likes

+1 vote for proxmox.

2 Likes

Yea :face_with_raised_eyebrow: Windows on the gaming pc / desktop, linux on all the servers and the raspberry :love_you_gesture:

Proxmox and ESXi are really great solutions, IMO; however, if you don’t want to go that route, I’d suggest using docker to containerize those services on whichever distro you do choose.

It also has patterns which allow an end user to install the complete server set of packages with ease

Would Webmin do what you want? That’s a heck of a lot easier to set up and all you need is a web browser.

Cockpit on fedora is pretty cool and i think will work on other distro. Console access, Docker Access, All sorts of stuff from web gui

For years I had a headless Arch Linux Server. You can do everything via SSH or VNC over SSH. You seem to like your GUIs so I wouldn’t recommend this approach for you.

OpenSUSE has one of the most comprehensive graphical settings manager - YaST [sic]

Chris Were Digital has a nice review of OpenSUSE Leap, the fixed release modell. For your purposes as a home server, the rolling distro route with Tumbleweed might be the better choice.


May I post this? It’s information not advertisement.
3 Likes

I am using Ubuntu 16.04 on a Headless server. Because of ZFS for sure, but next to that I trust its robustness when upgrading between releases, and I like overall package availability for some services that I want updated without being bleeding edge on everything.

Mine is configured as a basic NAS using ZFS. On top of that it runs some services as you describe, all separated out in LXD containers. And it runs my home router/firewall in a virtual machine (pfsense on kvm, managed using virtual machine manager). Couldn’t be happier, it is a very very good and cost effective package. Incredible what you can achieve with free software nowadays. More people should have access to this.

Edit: I needed to look it up, but for your remote display question I used a virtual solution using Xvfb. It runs a virtual GUI session that I started using ssh, and to which I could connect (and re-connect) from another machine later. Very cheap on system resources.

So you ssh into the box, and then I used this:

#create a virtual X session and let it settle
Xvfb :1 -screen 0 1400x1050x16 & sleep 2

#start openbox in it, open a terminal, and export the session using VNC
DISPLAY=:1 openbox & sleep 2 & DISPLAY=:1 gnome-terminal & x11vnc -display :1 -N -many

1 Like

Its fine. :wink: