Is there a way to connect multiple desktops and treat them as one system?
I have some desktops (the tower kind) lying around and I'm wondering if there's a way that I can connect them all to one display and combine their computational power or at least make them all accessible in one place. I want to get into server hosting but only have one monitor. They're currently running LMDE.
Jokes aside, it depends what you want to do. You can't really build one powerful gaming PC out of multiple, but your can run parallel workloads in a number of different ways. What exactly, comes down to what you're doing. A kubernetes cluster is different from a Blender render farm, for example.
As others mentioned you can just remote into the servers with ssh, vnc, rdp, etc. if you want physical displays on them, you can look for a cheap KVM which lets you control multiple PCs with one keyboard, monitor, and mouse.
I use Deskflow. It's an upstream for Synergy. I've Tumbleweed and Mac connected. Buttons can be mapped to avoid difference in keyboard layouts and streamline the experience. Been happy with it. 🙂
You don't need to connect them to a display. Give them power and network, and access them remotely via ssh (or graphical protocol if you really want to, but unless you specifically want to run interactive GUIs there's not much point).
As for combining their power... it depends on what kind of work you want to do.
Matrix server is pretty complicated. You'll need a reverse proxy, SSL certificates, and preferably a database like Postgresql. Minecraft would be a lot easier.
Either way, a lot of it would involve the command-line anyway, so I would second the SSH suggestion. It's fairly easy to set up. When installing Ubuntu Server for example it asks you right away if you want to install one.
The term for combining their computational power is "concurrent computing", "parallel computing" or "distributed computing" which aren't really all exactly the same but i can't find distinctions betwen them that are well defined. making them all accesible in one place is something i want to do as well but i get distracted easily and haven't made much progress.
KVM is an abbreviation that means 'keyboard video mouse' which also might be something to look into but it can be confusing as it also is an abbreviation for 'kernel virtual machine' which also might be related but that's as far as i got mostly.
i believe you can create a local network if you have a router/hub/switch device with multiple ethernet ports. if all the devices have wifi you should be able to connect through that, using something like jellyfin or maybe proxmox. wish i knew more and could help, hopefully you get better advice because i want to do the same or something similar.
You can install a Proxmox virtualisation cluster, a popular (the most popular?) option for self-hosting services. All nodes in the cluster are visible in a single web interface. For additional system coordination, you can set up High Availability and clustered file systems that the nodes can share.
I'm wondering if there's a way [to] combine their computational power.
Only if your problem can be be split up reasonably, otherwise you will spend more time waiting for data to move.
Where it can work: video encoding, CI pipelines, data analysis
Where it won't work: interactive stuff, most single file operations
I want to get into server hosting [...]
Then you don't need another reason to do it.
[If] I can connect them all to one display [or] make them all accessible in one place.
You can either get a hardware switch or chose a primary computer and connect to the others. For that you can use remote desktop software or be a try hard and use ssh.
It is complicated. There are several options, each with tradeoffs in functionality, compatible software, and performance.
A simple method is to use one system as a desktop, and SSH into the others as "headless".
Other options include making a K8s or HPC cluster (there are other cluster types).
Spreading a single set of communicating processes requires a low latency interconnect. Something better than Ethernet, like Infiniband. But many programs don't support that.