I have a design technical question.
Let me describe the use case first:
I have 20 students. My idea is that they all can run a full Ubuntu Desktop from within their web browser. Everyone should have their own user account (preferable connected to a running LDAP server).
So I kind of want to have a small self-hosted AWS EC2.
That's the plan. The question is how to achieve that? I guess there are multiple solutions to that problem.
I do have a running Ubuntu server with enough capacity to run 20 Ubuntu instances (if necessary).
My current setup is running Docker and I deployed a QEMU/KVM container. This container is running one Ubuntu 22.04 Desktop environment with a VNC server.
This way I am able to connect to this one Ubuntu 22.04 session from a web browser and this is working as expected for my needs.
The problem is now: Every student connecting with a VNC client does not need to login to a user account, but everyone can work in parallel on the same session.
I could now deploy multiple Ubuntu sessions and share a different VNC connection to every student. But that seems for me not to be the most beautiful way to do it. I would prefer that the user needs to login after connecting to the VNC.