one computer --> multiple screens and keyboard

astrale

New Member
Hey,

subject: i'd like to with one computer , have different live sessions (each one with its own screen and keyboard and mouse) that could possibly interact with each others

so far: maybe its possible to implement something like that with X or something

I cant seem to find any information on the subject, mostly i cant think of some keywords that trigger my browser to direct my search to this. I'll be very happy if someone could give me a hint (for instance, the name of what im tryin' to do X) ) and im curious if someone here already did it and how :):)

thanks a lot!!
 


atanere

Well-Known Member
What you are looking for is a "virtualization" system. Your main computer operating system is the "host" and you can install many different "virtual machine clients" that can run at the same time. Keep in mind that multiple operating systems all running at the same time, on the same computer, must SHARE the resources. So you will only use one keyboard, one mouse, and one monitor... but most important of all is that you must share system RAM. If you have a lot of RAM, you can run 3, 4, or 5 virtual machines, and maybe more. But if you have only a small amount of RAM, you may can only run one, and maybe none at all.

Each of these virtual machines will seem to be like running a program... some can be small windows, and some can be full screen and you switch between them. Each can access your network connection, and that should be okay as long as you don't have 5 virtual machines (VM's) all downloading a movie, or a big Linux .iso file, or something. You should be able to share files (copy and paste) between the VM's... but some may give you trouble or need extra configuration. You probably cannot use one VM to run a program inside another VM (though I'm not sure about this, but it just seems like a bad idea, in general).

There are several free virtualization programs... one of the most popular is VirtualBox. Others are VMware, KVM, and QEMU. VMware is usually a paid product, but they do offer a free version for home use.

There is usually a setting in BIOS/UEFI that relates to virtualization... you want to enable that setting, if it isn't already enabled. It goes by some different names, so you will have to look around in your setup.

Cheers
 

TechnoJunky

Silver Member
Silver Supporter
When I read your post, @astrale, I'm not really sure what you're asking. Part of me thinks what @atanere did with VMs. But another part thinks that you're just wanting multiple screens and something like differnt wallpapers on each. If so, Linux can do that without anything special. Just plug'em in.
 

astrale

New Member
thanks a lot for your answers!!

okay, im going to state my goal maybe it'll make more sense

what im trying to do is to have on a single computer, multiple instances of a game running connected between them so the users can chat with it (a basic chat system with few more features)
so everyone need at least one keyboard

i dont think you can do these kind of things with VM, since they are not supposed to access the host, + its very performance costy for what im trying to do

right know im trying to search how linux gets its inputs (from a device) and redirects it to a terminal or an X session
but im close to being a total beginner so all this seems a bit overwhelming but very interesting!
 

TechnoJunky

Silver Member
Silver Supporter
So you're wanting a single computer, multiple monitors and multiple keyboards? I think what you're describing is a Mainframe. I don't think what you're describing is possible with a desktop computer, Linux or otherwise.
 

atanere

Well-Known Member
I don't think what you're describing is possible with a desktop computer, Linux or otherwise.
I totally agree. You may have enough USB ports to plug in the needed keyboards, but I don't think there is any way to "assign" which keyboard (game player) goes to which "instance" of a game.

Now that this is a game, and not an operating system... I think you need a computer for each player and connect via a network (remote by internet or local LAN in your living room).

Cheers
 

astrale

New Member
well it seems doable in principle,
im trying to find a way to connect (redirect the output?) some files in /dev/input/ to an X session, the same way some of those files are already connected to the very X sessions Im using right now.

(after all, weren't terminal designed to managed multiple terminal at the same time while there werent much computer?)

backup plan:
if i dont suceed i'll probably go with a LAN but... this is more than simply about this game project, im curious and i think its possible, its not merely a mean to an end ;)
+ i'd like to have some control on the environment, otherwise immersion might be harder to maintain

so far my search have leaded me nowhere
i dont want to dig into C or kernel-doc, i think its possible to achieve this with something of higher level

preleminary test:
i'll try to plug a mouse, somehow make sense of the /dev/input/mouseN file that should appear, disconnect it from the current session (maybe by changing its name?) and create a bus (via dbus) and see if from that bus Im able to use it to access the mouse of my X session (via xdotool or something)

thanks again for your answers, i'll try to search what mainframes are :)
 

atanere

Well-Known Member
The wonderful thing about open source software: If you have an itch, you can scratch it yourself. You can invent something totally new, or you can build a better mousetrap to improve on other people's work, using previously developed projects as your building blocks. Good luck!
 

TechnoJunky

Silver Member
Silver Supporter
Mainframes are what you referred to above as terminals "(after all, weren't terminal designed to managed multiple terminal at the same time while there werent much computer?)". Terminals were how you connected to the Mainframe computer.

Good luck in your endeavor and keep us posted, especially if you find a way to do it.
 

Nick Geovanis

New Member
This is completely possible, but after the Wayland release of the X server became standard it is not easily done. At https://en.wikipedia.org/wiki/Wayland_(display_server_protocol) we see that "...The X Window System is an architecture that was designed at its core to run over a network. Wayland does not offer network transparency by itself;[10] however, a compositor can implement any remote desktop protocol to achieve remote display".
But it is still possible to do what you want. At https://wayland.freedesktop.org/faq.html we learn that
"there are some clients which rely on X11, and always will be. To that end, XWayland provides a plugin for Wayland compositors, running a real X server. This gives legacy clients a real and compliant X11 platform to run on, displayed side by side with native Wayland clients in your Wayland session."
I have never done this with Wayland myself because in the server-farm environment and my home systems I have no need of it.
 

TechnoJunky

Silver Member
Silver Supporter
Nick, what you describe above sounds to me like multiple desktops/monitors. Does it also address Astrale's desire to use different keyboard with each monitor? This design does not use connections over the network, but all local to the computer (a USB Hub with multiple video cards?).
 

Members online


Top