When to use Linux Desktop as Server?

Hello Friends

In other post in this network I remember an answer about the idea to have Linux Desktop running as server

Normally for a server environment I use the “server” (non-GUI) environment and I use

  • SSH
  • A Web browser to see special reports referring the stats of the apps server running (Tomcat, ActiveMQ, etc)

Therefore:

Question

  • When to use Linux Desktop as Server?

I want to know if there is a special scenario when the GUI is mandatory running in the server itself

Thanks for your understanding

I think there would have to be some program in the server that requires a GUI … that would be unusual.

At home, I use one computer, with screen and KB, to serve files, but I use it for general computing too. A server does not have to be dedicated, because Linux and BSD can multiprocess.

At one site I worked at, they had distributed computing with a number of Unix workstations … no dedicated server, but every workstation was also a server and they load shared.

At another site I worked at there was a large central server and small PC’s and X-terminals. Most processing happened on the server. The server had a GUI itself … just for convenience in managing it.

OK that is not a full answer, but there was a time when Unix had no GUI at all… before X11, and that part of Unix still exists as the OS part in BSD and as a subset of Linux, so that to me means no GUI is ever essential to run a kernel plus utilities.

I would agree that generally, it would be best to use a server without a GUI environment since having one would take up resources. However, there might be a couple of instances where it would be good. One, if you need a virtual desktop infrastructure to run multiple host desktop sessions. In that instance, I have seen a desktop environment used (and needed). Two, in a home lab, if you use a computer both for desktop and server. I did this once years ago, although it was not an optimal choice.

I’ve seen a very similar question on here asked some time ago…

On Linux there’s very little difference between a desktop, and a server…

You can serve stuff from a desktop machine…

Linux and UNIX have been like this since forever…

Some “workgroups” would have a bunch of UNIX workstations (e.g. Sun or Silicon Graphics, Data General) networked - and the beefier ones would serve out a bunch of stuff - storage - processing… Some UNIX workstations were effectively X Terminals - not quite dumb, but graphics terminals… I worked at one place (a hospital) that used several Sun Workstations as servers (SparcStation IPX and ELC)… I worked at another place that used workstation class Sun boxes (SparcStation 5 and Ultra 5) as servers for sendmail, and firewalls and external DNS.

You can install a desktop on a server later… or you can disable a DE on destkop to make it a headless server… Many of those UNIX servers ran XDM (X Display Manager) by default - but not the full GUI - many ran what was called CDE if you logged into the XDM graphical login prompt :


But XDM itself didn’t use a lot of resources - and you could leave it running on a server without impacting the headless server daemons it was hosting… Nearly the same thing on Linux…

My JellyFin server - runs Debian 13 - I installed it with Mate DE… when it was ready - I disabled the DE…

A "netinstall’’ of Debian is bascially a server - but you can add a DE later if you want…

Nearly every computing device I have is a server and client on my peer to peer cloud sync “chain”… Mac, iPad, Android, Linux (on intel and ARM)…

And - server or desktop - I ALWAYS allow / install SSHD… why wouldn’t you? I reckon it should be enabled by default… I think it is on Debian, but not Ubuntu… I also run SSHD on my Android phone via TermUX… So my Android phone is an sshd “server”…

Also - when you tunnel X over SSH to run a remote graphical app - you’re making your machine an “X Server” - the terminology can be confusing, but, an “X Terminal” is actually a “server”… A display server…

Is the desktop a server when it’s running any server software, like Apache, MySQL, Docker, etc.? :roll_eyes:

I think so. My main desktop runs NFS … so it serves filesystems to my way of thinking. Also if it displays X11 from other computer it is an X server.
The distinction gets blurry if you use distributed computing.

I might modify that. I think a server is more a matter of how a computer is used in relation to other computers on a network.

Does anyone have a definition of server?

Did not read the whole topic, so excuse me please if that was mentioned already…

One thing comes to my mind: say you are a web developer and you run NGINX+MySQL+PHP your desktop.
Of course, such a developer needs to access those services locally, but it’s just matter of configuration, whether NGINX (for example) listens on LAN or only localhost.

Another situation comes to my mind, say the server needs to provide a Gui for the clients.
So a DE may be necessary, and X2Go and/or XRDP, maybe other similar something…

Wikipedia does have one: