Edit: rootless in this context means the remote windows appear like local windows; not in a big “desktop” window. It’s nothing to do with the root account. Sorry, I didn’t come up with that confusing term. If anyone can think of a better term let’s use that!

This should be a simple task. I ssh to a remote server. I run a GUI command. It appears on my screen (and isn’t laggy as hell).

Yet I’ve never found a solution that really works well in Linux. Here are some that I’ve tried over the years:

  • Remote X: this is just unusably slow, except maybe over a local network.
  • VNC: almost as slow as remote X and not rootless.
  • NX: IIRC this did perform well but I remember it being a pain to set up and it’s proprietary.
  • Waypipe: I haven’t actually tried this but based on the description it has the right UX. Unfortunately it only works with Wayland native apps and I’m not sure about the performance. Since it’s just forwarding Wayland messages, similar to X forwarding, and not e.g. using a video codec I assume it will have similar performance issues (though maybe not as bad?).

I recently discovered wprs which sounds interesting but I haven’t tried it.

Does anyone know if there is a good solution to this decades-old apparently unsolved problem?

I literally just want to ssh <server> xeyes and have xeyes (or whatever) appear on my screen, rootless, without lag, without complicated setup. Is that too much to ask?

  • FizzyOrangeOP
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    I didn’t try xpra because it’s basically persistent X forwarding, and I already know that is way too slow. As far as I know Rustdesk, etc. are not rootless. I hadn’t considered Moonlight/Sunshine (thought it was just for games) but I would guess that isn’t rootless either?

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 day ago

      Xpra is pretty damn performant. It isn’t as fast as something dedicated but it gets the job done.

        • Possibly linux@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 day ago

          Not really. It uses compression and some custom algorithms to minimize the data sent.

          It will have way more performance than a raw X forward

    • toothbrush@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 day ago

      Its not just for games, you can remote any program(or the entire desktop) with it. Not sure why they advertise it like that.

      As for rootless: As far as I know you need some elevated Privileges to be able to capture Wayland, but it does not need to run as root. Not 100% sure though.

      • FizzyOrangeOP
        link
        fedilink
        arrow-up
        3
        ·
        1 day ago

        Sorry rootless in this context means it doesn’t have a big window showing the whole remote desktop, instead each remote window shows up as if it were a local window. Nothing to do with the root account. Kind of confusing, sorry!

        • Possibly linux@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          That makes way more sense.

          You aren’t going to get the performance you are looking for doing that unfortunately. It just isn’t possible to my knowledge.

          • FizzyOrangeOP
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            I mean it’s totally possible in theory. Do you just mean nobody has actually written something that does this?

            • Possibly linux@lemmy.zip
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              1 day ago

              It is much more complex and has more overhead. You can do it but it will be slow.

              Why do you want it to be a desktop window? Can’t you just run it locally?

              • FizzyOrangeOP
                link
                fedilink
                arrow-up
                1
                ·
                1 day ago

                Yeah it’s more complex. I don’t think there’s any more overhead though, and there’s no reason it will be slow.

                Can’t you just run it locally?

                No, unfortunately not.