Giter VIP home page Giter VIP logo

Comments (4)

antoniotorresm avatar antoniotorresm commented on July 23, 2024

It works fine with --cgroups=disabled:

✔ 13:49 ~ $ podman run --cgroups=disabled hello-world
!... Hello Podman World ...!

         .--"--.           
       / -     - \         
      / (O)   (O) \        
   ~~~| -=(,Y,)=- |         
    .---. /`  \   |~~      
 ~/  o  o \~~~~.----. ~~   
  | =(X)= |~  / (O (O) \   
   ~~~~~~~  ~| =(Y_)=-  |   
  ~~~~    ~~~|   U      |~~ 

Project:   https://github.com/containers/podman
Website:   https://podman.io
Documents: https://docs.podman.io
Twitter:   @Podman_io

In any case, the issue is related to TurboVNC, as it doesn't happen in the physical session.

from turbovnc.

dcommander avatar dcommander commented on July 23, 2024

There's a long discussion here regarding the same issue with confined snap applications under Ubuntu 22.04. tl;dr: You can work around it by unsetting DBUS_SESSION_BUS_ADDRESS before running the application. TurboVNC cannot use the shared D-Bus session bus instance created by systemd, because that would prevent multiple TurboVNC sessions (or a TurboVNC session and a local session) from running simultaneously under the same user account. Thus, each TurboVNC session creates an independent D-Bus session bus instance. However, certain applications don't like that (it may have something to do with cgroups), so it is necessary to unset DBUS_SESSION_BUS_ADDRESS to allow those applications to use the shared D-Bus session bus instance. The only other option would be for us to do what TigerVNC does and use the shared D-Bus session bus instance for the whole VNC session, which would limit us to one simultaneous session. I would personally prefer to retain TurboVNC's multi-session functionality and apply the aforementioned workaround just for the specific applications that need it. However, I would also be open to adding a "shared D-Bus" configuration parameter to TurboVNC, for users who care more about things "just working" in the TurboVNC session than they care about multi-session functionality. Maybe someone who understands systemd and cgroups better than I do can figure out a way to achieve both goals, but at the moment, they seem mutually exclusive to me.

from turbovnc.

dcommander avatar dcommander commented on July 23, 2024

Refer also to:
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1951491?comments=all

Basically cgroup v2 relies on some systemd mumbo-jumbo that is only available through the systemd-created D-Bus session bus instance, but remote desktop software can't use the systemd-created D-Bus session bus instance without being limited to a single session.

I'll spare you my full rant about how Linux distributors need to stop doubling down on the myth that Linux will ever be a popular desktop platform, acknowledge that it is mainly a server platform, and lean into multi-session remote desktop functionality. Windows servers can handle multiple remote desktop sessions under the same user account. Linux servers should as well. But that's going to require revisiting some things vis-a-vis systemd, D-Bus, GNOME, etc.

from turbovnc.

dcommander avatar dcommander commented on July 23, 2024

32dd16f adds an undocumented environment variable (TVNC_SHAREDDBUS) that, when set to 1, will cause the TurboVNC session to use the shared (systemd-provided) D-Bus session bus instance rather than a unique D-Bus session bus instance. Using the shared D-Bus session bus instance should fix all of the incompatibilities with cgroup v2, with the understanding that only one session (including TurboVNC sessions and local sessions) can simultaneously use the shared D-Bus session bus instance.

from turbovnc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.