Live data from Hacker News

Xpra: Persistent Remote Applications for X11

github.com

81–90 of 142 posts

Re: Xpra: Persistent Remote Applications for X11

#81

Ohhh, that's what it's for! I use it for scaling x11 apps with the run_scaled script that's shipped with xpra (:

I'm half-heartedly trying to RTFM of 'xpra', but haven't found the 'run_scaled' script yet. If it's not too much trouble, can you please reply with the commands you use to scale an X11 program? (I'm on Devuan Daedalus 5.0, ~= Debian Bookworm 12.0.) (I currently use 'xzoom' to scale X11 programs, but it's a little kludgy.) EDIT: Single quotes for all program names. Bookworm, not Bookwork.

[deleted]

Re: Xpra: Persistent Remote Applications for X11

#82
post #2

The description makes me think this can reproduce a cool workflow demonstration I saw a few years ago on reddit[1]. [1]: https://www.reddit.com/r/unixporn/comments/k1eu0n/durden_wor...

This was very cool, and is made in Arcan! https://arcan-fe.com/ a project I just recently discovered and am very excited about

Re: Xpra: Persistent Remote Applications for X11

#83
post #10
post #7

Earlier quoted context omitted.

I don't think the existence of Wayland means X11 is deprecated. Lots of people (including myself) would prefer the perfectly working X11 than the feature-incomplete backward-incompatible "modern" wayland

It's deprecated by the people who wrote it, and AFAIK no-one else has taken up the task of maintaining it. Doesn't mean you can't use it (I still use it still, thanks to said breakage), but it's not exactly thriving.

This is false. Xorg is being actively maintained, and its git repos are constantly receiving new commits.

Re: Xpra: Persistent Remote Applications for X11

#84

Ohhh, that's what it's for! I use it for scaling x11 apps with the run_scaled script that's shipped with xpra (:

I'm half-heartedly trying to RTFM of 'xpra', but haven't found the 'run_scaled' script yet. If it's not too much trouble, can you please reply with the commands you use to scale an X11 program? (I'm on Devuan Daedalus 5.0, ~= Debian Bookworm 12.0.) (I currently use 'xzoom' to scale X11 programs, but it's a little kludgy.) EDIT: Single quotes for all program names. Bookworm, not Bookwork.

Xpra itself ships this script, but Debian’s version is quite old. You need at least 4.1 and Debian Bookworm seems to have 3.1. Xpra seems to have an own apt repo you can probably use.

Re: Xpra: Persistent Remote Applications for X11

#85
post #38

Okay, but X11 is deprecated. Is there a modern version?

At the risk of threadjacking, I'd still love to have a real conversation about how and why this Wayland thing happened (and is still arguably happening) so badly . Specifically, how -- again, in LINUX-LAND -- a whole bunch of people decided, "nah, we're going to go ahead and break the HELL OUT OF backwards compatibility this time, even though we pretty much never do this."

There's a few related answers to your question, so I'm going to meander a bit and hope you can follow along.

First off, backwards compatibility wasn't actually broken. X11 apps work fine under Xwayland. All the weird bikeshedding that happens in Wayland isn't as important because we have working compatibility bridges and all the old stuff still works.

Second, "don't break userspace" is specifically a Linux kernel policy. The only other organization in FOSS that has such a slavish devotion to backwards compatibility is WINE[0]. Desktop environments are perfectly fine with, at the very least, breaking ABIs, because you can just recompile the ocean. I suspect this is the Free Software equivalent of "firing shots to keep the rent down" - i.e. making the software neighborhood undesirable for proprietary software vendors who will have to deal with these annoying and arguably pointless transitions every couple of years.

The reason why we needed to get off X11 is very simple: X11 is an extremely poor fit for modern hardware. The protocol supports simple drawing commands and image display, that's about it. Modern user interfaces want applications that draw onto GPU layers, composite them, and then present a final image to a compositor to be displayed to the screen. You almost can build that on X11 (modulo some frame tearing), but it's a pain in the ass and requires adopting a lot of extra protocols plus XGL which breaks network transparency[1].

The motto of X11 is "mechanism, not policy". The way this is accomplished is by presenting the entire desktop as a tree structure of windows that any client can mutate. Any widget toolkit can then build the experience it wants on top of that tree structure. The problem is that this also makes writing keyloggers and RATs trivial. X11 doesn't sandbox applications, so even if you lock down a process every other way, they can still do horrible things to other X clients and Xorg won't stop them.

Wayland fixes this by tightly restricting what clients are allowed to do to the desktop. Applications get to present their own windows, sure, but they can't touch other windows unless a specific extension is provided for their use case and the compositor allows the application to use it. In other words, Wayland is "policy, not mechanism". The downside is that now we have to codify all the slightly-different ways each widget toolkit, window manager, and desktop environment has done things under X11. This has resulted in an explosion of extensions, many of which overlap because they were made by different DEs. Wayland can of course create standardized versions of these extensions, but each standardization is an opportunity for bikeshedding.

This leads into my favorite way to tell if an application is Wayland or X11: launch Xeyes. If the eyes track your mouse over the application's windows, it's X11. Wayland doesn't have a protocol for mouse tracking, so Xwayland can't report where the mouse cursor is, unless it's on top of a Wayland window that it's already getting events for - namely, the app you're wondering about.

Ok, I suppose that is a backwards compatibility break.

[0] This also means the most stable UI toolkit on Linux is actually USER.dll.

[1] In fact, I suspect this is why Wayland was so willing to casually toss that out. GPUs and network transparency are allergic to one another.

Re: Xpra: Persistent Remote Applications for X11

#86
post #73

Earlier quoted context omitted.

Oh yeah. I should have noticed that because on the Debian machine I set up for my daughter, audio suddenly broke, and it started working again when I removed pipewire. No joke, if you remove the new thing stuff magically starts working again.

in my experience, unlike pulseaudio, pipewire is way stabler and usually works fine with less involvement. ... except when you have accidentally ended up with half-pipewire, half-pulseaudio setup due to half-forgotten instructions that were no longer applicable.

Maybe my dist-upgrade got it into such a state. I'll try to check that out.

Re: Xpra: Persistent Remote Applications for X11

#87
post #44

I use xpra to run apps in VMS but seamlessly render them on my desktop. Allows me to have a qubes type workflow without using qubes. Probably not quite as secure, but you can disable features for untrusted servers.

Quick question: Why would you need Xpra for this, or what are the advantages of Xpra over normal X forwarding?

Re: Xpra: Persistent Remote Applications for X11

#88
post #38

Earlier quoted context omitted.

At the risk of threadjacking, I'd still love to have a real conversation about how and why this Wayland thing happened (and is still arguably happening) so badly . Specifically, how -- again, in LINUX-LAND -- a whole bunch of people decided, "nah, we're going to go ahead and break the HELL OUT OF backwards compatibility this time, even though we pretty much never do this."

There's a few related answers to your question, so I'm going to meander a bit and hope you can follow along. First off, backwards compatibility wasn't actually broken. X11 apps work fine under Xwayland. All the weird bikeshedding that happens in Wayland isn't as important because we have working compatibility bridges and all the old stuff still works. Second, "don't break userspace" is specifically a Linux kernel pol…

I don't think that's the issue with Wayland. X11 has fundamental design flaws, Wayland happened because of it.

I believe the question is why Wayland happened so badly. Sure, nVidia shenanigans are contributing to bad fame, but arguably that's not the issue with Wayland. However, Wayland fixes some of X11 design flaws but ignores others - or even introduces new ones.

But, for example, HiDPI is a mess in X11 - for (I assume) pretty obvious reasons of not having HiDPI back in the day. Weirdly, Wayland does nothing to make things right - instead it just gives up on the DPI concept altogether as if physical dimensions simply aren't a thing[1]. While this sort of solves some of the issues X11 had (although, scaling works with X11 too), it's just wrong.

Then there are a bunch of other controversial design decisions (like client-side decorations - as if consistency wasn't a problem already) that are more nuanced.

___

1) Or so I believe - I could be wrong. I just wanted to configure DPI for my monitors hoping that it would help me to have things sized correctly, and have read somewhere that it's not a thing in Wayland and all they have is scale factors.

Re: Xpra: Persistent Remote Applications for X11

#89
post #38

Earlier quoted context omitted.

At the risk of threadjacking, I'd still love to have a real conversation about how and why this Wayland thing happened (and is still arguably happening) so badly . Specifically, how -- again, in LINUX-LAND -- a whole bunch of people decided, "nah, we're going to go ahead and break the HELL OUT OF backwards compatibility this time, even though we pretty much never do this."

There's a few related answers to your question, so I'm going to meander a bit and hope you can follow along. First off, backwards compatibility wasn't actually broken. X11 apps work fine under Xwayland. All the weird bikeshedding that happens in Wayland isn't as important because we have working compatibility bridges and all the old stuff still works. Second, "don't break userspace" is specifically a Linux kernel pol…

The story that X11 somehow forces programs to use outdated drawing primitives was never really true as a long as I can remember. Compositing on X11 exists.

In principle, it is an extensible generic remote buffer management framework. As such, it could be extended indefinitely without every breaking backwards and forwards compatibility and is also a good fit for modern hardware that essentially deals with remote buffers on the GPU. As someone doing HPC programming on GPU, network transparency and GPU are definitely not at all allergic.

Re: Xpra: Persistent Remote Applications for X11

#90
post #80
post #74

Earlier quoted context omitted.

I sync my entire firefox profile to multiple machines using syncthing https://tonsky.me/blog/syncthing/ https://syncthing.net/

That's funny, I'm a heavy user of syncthing but never thought to try this. It doesn't get weird opening different executables on different machines?

It's been awhile since I've touched the config, but I think I ignore arch-specific executables using https://docs.syncthing.net/users/ignoring.html.

I also haven't checked my Windows machine that it syncs with recently, so there might be issues on the latest ff etc etc. I started doing this with SeaMonkey, whose profile is simpler conceptually since it's still built on top of an old firefox legacy esr.

Post reply on HN