this post was submitted on 04 Mar 2024
47 points (91.2% liked)

Linux

48122 readers
703 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm used to using Linux from the terminal. I have a new machine which I plan to use mostly headless but would occasionally like to run a desktop environment and play games with GPU acceleration. I know I don't have to launch the desktop environment on startup, but I was wondering if it's possible to have that entire portion containerized, like an instance in LXD.

I am trying Bazzite right now, I really like the idea of layering on top an immutable base. That's close to what I want. If I understand correctly, I could have a different layer for the headless part to keep them totally separate, but I'd have to do restarts to switch from one to the other.

I also think NixOS could also be what I want, just with a steeper learning curve.

I'm wondering if anyone has already set something like this up? It would be helpful to read about what software people have for this and their experiences using that.

you are viewing a single comment's thread
view the rest of the comments
[–] LeFantome@programming.dev 2 points 8 months ago (1 children)

You cannot run a GUI in LXC / LXD. If somebody thinks otherwise, please point me in the right direction as I would love this on Proxmox.

Distrobox sounds very close to what you want. You can run the DE and your GUI apps in a container. I think you still need a window server ( Wayland or X11 ) locally though I believe.

You can see your VMs in a web browser ( like Proxmox does ). Again though, the GUI for that has to be hosted in something else.

The other option is to use QEMU and display to SDL. You can do that without a native window server. That is more virtualized than a native window server but now we are starting to add overhead that may not be necessary.

There are some pretty small Wayland compositors and you can start them from the command line. Velox is just a few megs I think. You do not need a graphical login manager. All you need is a compositor and you can run distrobox from there.

[–] moonpiedumplings@programming.dev 1 points 8 months ago* (last edited 8 months ago)

You cannot run a GUI in LXC

It's probably possible, especially considering lxc can run systemd nowadays, and I can find many sources on this, for GUI and for GPU acceleration (but not in proxmox):

https://stgraber.org/2017/03/21/cuda-in-lxd/

https://blog.simos.info/how-to-run-graphics-accelerated-gui-apps-in-lxd-containers-on-your-ubuntu-desktop/

And then there are also technologies like KasmVNC which can serve a GUI as a website, and it doesn't need a GPU at all.

EDIT: Two year old guide, but a redditor pulled it off