I suppose it would be useful
If Wayland was actually feature-complete.
While Elementary OS commits to Wayland, the development team of the Budgie desktop is changing course and will work with the Xfce developers toward Budgie's Wayland future. There is general consensus now that the future of graphical desktops on Linux lies in Wayland rather than X11, but the path is still not a smooth and easy …
Raspberry Pi's recommendation to switch to X11 or even stay with their Bullseye release for some problems encountered isn't exactly a ringing endorsement of Wayland.
I can accept all the white paper reports that Wayland is better than X11 in any number of ways. That it doesn't yet do what X11 can do remains a huge obstacle for me.
Nothing is ever "feature-complete", there is always something someone wants that is lacking in every software project. If it's important to enough people, it will be dealt with. Many of the worst issues with Wayland are being addressed as we speak, thanks to GNOME and KDE announcing that the days of having an X11 option on their DE's are numbered. If everyone waited until it was "perfect" before trying to adopt it, it would never happen. It's time, quit bitching or contribute code.
By SSD, I assume you refer to server-side decorations? Please someone correct me if I'm wrong, as I have no direct experience, but I was under the impression that the Wayland protocol itself has no problems with this, it's more an issue with certain compositors and/or toolkits, like GTK/Mutter? If my understanding there is correct, I think this is an area where enough of the user base will be calling for this to be rectified before X11 is removed as an option that even the hard-headed GNOME devs will have to bend.
I believe this is correct however the damage is already done. So many libraries, desktop environments and applications have been pushed into switching to CSD under the false claim that Wayland does not and will not support SSD that now it's almost irreversible even thought there is now apparently some SSD support in Wayland
Best you can hope for is a classic title bar and buttons wrapped around an application with a CSD title bar plus embedded buttons and hamburger menus etc.
In their oh-so-infinite wisdom, the GNOME/GTK folks have decided to taint their CSD title bar with critical buttons/menus which cannot be displayed any other way, so the obvious choice of signalling to the application that you've got SSD so it can kindly hide it's CSDs isn't going to work.
It's a mess!
The original question here is not Wayland across a network, it's Wayland through an SSH tunnel.
I do this (with X11) all the time. I use SSH to authenticate through various firewall and other port filters, and then use an SSH X11 psuedo server in the SSH server at the far end and a TCP tunnel to use the established connection for X11. I also use SSH TCP tunnels for all sorts of things like HTTP and certain other protocols for which I can set up endpoints at both ends of the SSH session, but it's much easier for X11 because the support is already built in, rather than having to be configured port-by-port.
Of course, if you are allowed, you could just use a full VPN and Waypipe directly, but unfortunately in many places I've worked, the people controlling the VPN setup have a rather blinkered view on what power users of anything other than Windows need, so I'm constantly looking for ways of working around their blinkered view of what they need to provide. SSH is like a Swiss army knife for connectivity, only surpassed by NC/Netcat, which I'm not even allowed to install where I currently am, because they classify it as a hacking tool (true - but Hacking, not Cracking).
I've just read that Waypipe is not endian-ness independent, so using it between different machine architectures may be problematic. Something to read up on.
The original question here is not Wayland across a network, it's Wayland through an SSH tunnel.
I'm struggling to understand what your confusion is with what I said, so I've put in links to RHEL9 manual explaining how to run graphical applications remotely over ssh using a local wayland environment, for both native wayland applications and legacy X11 applications.
waypipe can operate over an ssh tunnel, xwayland works implicitly over an ssh tunnel.
I admit that as I've already said in a reply to my own post, I had not realised that waypipe could set up it's own SSH tunnel. I was under the misapprehension that waypipe was just point to point on a local network (which it can also be).
But your first post did not explicitly say in youe original answer that waypipe could set up an SSH session which is why it did not explicitly answer the original posters question. Implicitly, it did, but it relied on knowledge of waypipe that yo did not explain in your post.
So I learned something today, which is good, as did the OP.
Waypipe through a SSH TCP tunnel. Not actually tried it, but I see no real reason why it wouldn't work. Must have a play. It will be a tunnel-in-a-tunnel, however (Waypipe is already tunnelling the Wayland protocol through the network), so it probably will be significantly slower than talking to a local Wayland compositor.
That is not my biggest issue, although it is a biggie. My issue is that we are so conditioned by the wide range of programs that use X11 as the way of working that having to find new applications that are pure Wayland is going to be a pain (try finding a Wayland native terminal emulation, for example. It's there but IIRC the naming convention is rather obscure).
How it is done at the moment, at least on Ubuntu which I have been playing with is that Xwayland is running all the time, so most of your familiar X application mostly work, and will work across the network using SSH tunnelling exactly as they do now, with a small number of exceptions.
What I don't fully understand is why there is not a library level translation which will map X11 type function calls to Wayland protocol in the client, so you can insert this at program build time to allow the X11 tools to talk natively to a Wayland server. I'm sure that it's more complicated than just doing that (I know a bit of X programming, but not done any Wayland, and probably won't ever at this point in my careerer so don't know the fundamental differences). I'm sure it's complicated by each of the widget sets that X11 has acquired over the years. Maybe we're going to be stuck with Xwayland for a while.
A pure Wayland strategy is fine in a Linux monoculture. Unfortunately, this is the antithesis of the last 40 years or more of UNIX history. X11 was built with this in mind. Thirty-plus years of X11 programs, most of which will still work across different platforms will take a lot of replacing.
Huh.
Waypipe will automatically set up a SSH session between the endpoints if given the correct options. I can still imagine that there would be problems if you were using multi-hop SSH to get between the systems, but it looks like the authors already thought of this way of working.
As I said before, I must have a play.
[snip] "find[ing] new applications that are pure Wayland is going to be a pain (try finding a Wayland native terminal emulation, for example. It's there but IIRC the naming convention is rather obscure)"
@Peter and all
Slackware 'pure' wayland KDE works fine on 2011 and later hardware. Gnome of course works ok in its own special way in Debian and all.
What of lighter / smaller WIMP environments?
I'd need something like a window manager with overlapping windows, a panel with menu, notifications and application launchers, a terminal emulator, a graphical text editor, a graphical file manager with ability to mount external drives together with LibreOffice and Firefox / Thunderbird at minimum. What am I looking at here?
It has been many years since I have had to forward a GUI application over SSH so I am not a expert, but I had a look at the Ubuntu waypipe man page and found that there is a ssh flag.
Waypipe is a proxy for Wayland clients, with the aim of supporting behavior like ssh -X.
Prefixing an ssh ... command to become waypipe ssh ... will automatically run waypipe both
locally and remotely, and modify the ssh command to set up forwarding between the two
instances of waypipe. The remote instance will act like a Wayland compositor, letting
Wayland applications that are run remotely be displayed locally.
https://manpages.ubuntu.com/manpages/jammy/man1/waypipe.1.html
Perhaps this will help.
El Reg has previosuly noted (https://www.theregister.com/2023/05/17/asahi_linux_wayland_only/) the project porting Linux to Apple Silicon, Asahi Linux, has also pushed for Wayland by default.
Given Asahi's work pushing ARM specific fixes upstream, and RaspberryPi's move to Wayland providing a large userbase to find and fix edge cases, I wonder if we'll see increasing Wayland adoption driven by the move from x86 to ARM, as much as individual distro preferences?
For those complainging about remote management not being a feature of Wayland, while I've only had a brief play with RDP over Linux to Wayland, but this testing looks promising
https://blog.wirelessmoves.com/2022/05/wayland-remote-desktop-sharing-and-ubuntu-22-04-revisited.html
The people thinking of using VNC and/or RDP to manage remote servers are ignoring the fact that by default, both of these take control of the whole console session, meaning that only one person at a time can access a remote server (I know, RDP, at least on Windows, is supposed to be able to give you rootless client sessions which in theory does not require you to take over the console, but I've not spent enough time trying to get it to work). I'm also uncertain of whether you get a virtual console session that you can remote control on a headless server.
I despair at the mindset of people who regard single-session-per-server as an acceptable way of working for large systems.
"I know, RDP, at least on Windows, is supposed to be able to give you rootless client sessions which in theory does not require you to take over the console, but I've not spent enough time trying to get it to work"
Windows Servers allow two concurrent sessions (local+remote or remote+remote) without any additional configuration after initial setup as long as you enable remote connections to it. The sessions can be allowed for non-administrators ("rootless") as well.
If you require more than two concurrent sessions, you need to enable Remote Desktop Services which requires payment to Redmond.
You cannot have two different sessions with the same user name so a remote session will take over the console session (or vice versa) if both are using the same credentials.
This functionality has been built-in since Windows 2000.
"rootless" does not refer to a non-administrator session. It means without a root window (an X11 concept that represents the top window in a window hierarchy). "rootless" means that you can have a single application window, mixed in with the local windows and managed by the local window manager without also having a remote desktop or window manager running in a window. You can do this with X11 by default, even when the X11 server is running on a Windows system.
Whenever I run VNC or RDP (admititdly with the out-of-the-box configurations) it gives me a local window that has the complete remote desktop contained inside of it.
without also having a remote desktop or window manager running in a window
Ok, that's a new and application-specific meaning of the term.
it gives me a local window that has the complete remote desktop
You need the paid version to run apps without the remote desktop. (Windows 7 pro included this to run WinXP apps). But RDP is not X11: you are using the remote window manager, running the app as root instead of running the remote desktop as root
Ok, that's a new and application-specific meaning of the term.
Application-specific, perhaps (to the extent that the X server is an “application”), but certainly not “new”, except perhaps to you.
But RDP is not X11: you are using the remote window manager, running the app as root instead of running the remote desktop as rootNow that's a new and weirdly “application”-un-specific term: Since when is the Administrator user ID on Windows called “root”?
It seems lately I keep seeing more and more decisions being made about whether to use a project based on its commit rate. It's as if being "mature" has become a bad thing. I would always prefer to use something that is stable than something that keeps changing. My favorite example is xorg. No changes in a decade? Great! Wayland still in flux after a decade? Not for me thanks.
Absolutely. I mean, if Wayland works well enough, I'll ultimately use it. And the argument that X11 is showing it's age and could be replaced with something cleaner is valid (although the counterargument that the cruft doesn't matter when the non-cruft works fine is also valid to me.)
But the Wayland fan's argument that Xorg MUST go because it's old, and it's "unmaintained" because it gets few patches. Seems to completely miss that it gets few patches because the bugs got worked out years ago, the security bugs got worked out years ago, and the features people wanted to add all got added, it's essentially feature-complete.
I remember years ago, around the time of the XFree86/X.org split, telling my Linux using friends that it's time to just drop X11 and make something new. Because X11 was designed for a very different era and it was not easy to try to add in things like 3D acceleration support for these newfangled 3D video cards. At the time everyone kept saying, "Why would we want to do that!? X11 works fine!" Now basically everyone is saying that Wayland is the future.
It is a little depressing though, to see that the Linux world is still consumed with petty infighting. Instead of working out differences, everyone just takes their toys and goes home. Then duplicates countless hours of work by creating a fork that really only makes pretty minor and modest changes. At the same time, my thanks to the author for the little blurb updating me on the status of Enlightenment. I was vaguely curious about that, just not enough to go look it up myself. Sounds like they've spent basically the entire duration since I stopped paying attention doing a whole lot of nothing. One release in basically that entire time. Makes you wonder if the E devs are even using it themselves.
In fairness, if Enlightenment is written using EFL (Enlightenment Foundation Libraries), then fifteen years between releases sounds about right.
The DailyWTF link in the main article really was an accurate summary of the state of EFL in 2012 or so. Around this time, at my employer we were choosing a UI framework for a new product, I was making the case for using Qt for our UI, while another dev was pushing for EFL - I have no idea why, as he didn’t have the haggard, twitchy look of someone who had actually developed something using EFL. I looked at some of the sample code, and I have never seen such a fucking stupid and error-prone way of putting a UI together - it achieved the remarkable feat of making X11 more complicated to use than it already was...
[Oh, and the final choice? Not Qt, because “licencing”, and not EFL because nobody was a masochist, but a low-performance mixture of HTML and JavaScript because it was “portable”... yeah, with a layout system that couldn’t do vertical centring. Luckily, I left around about then.]
Hey, at least they heard you out. Recently left a job where I was trying to explain why I wanted to move from one app to another, and my manager wouldn't even listen to my reasoning. It was just "We're not fucking using that app!" Was on the bubble about whether the job was a good fit before that, and let's just say it wasn't very difficult after.
Hi, my name is David and I am a recovering Enlightenment user. I have used it for decades and can't seem to shake it (using Bodhi). I find comfort in the stability that the lack of significant updates brings. I feel a loss when working with other desktops that won't show me the main menu by left clicking anywhere on the desktop background. Not having Quick Launcher hurts. Of course I would never touch EFL, that path leads to madness. If you doubt me, look what happened to poor Thanatermesis with one of the original Enlightenment distros Elive (https://www.elivecd.org/)
...look what happened to poor Thanatermesis with one of the original Enlightenment distros Elive (https://www.elivecd.org/)As proper link: https://www.elivecd.org/
Sorry, not getting it – there's nothing on that page to say they killed themselves out of frustration with the library, or anything. So what is it that happened that we're supposed to look at?
The thing I found surprising about Wayland.. and incidentally this is why things like HDR support etc. will end up working in Gnome or KDE but not necessarily both almost simultaneously.... and why xfce, etc. are having such a time getting complete Wayland support... is because there is not a Wayland server the way there is an X11 server, that is used by the different desktop environments. Wayland is a specification and each desktop environment includes an implementation of the Wayland specifications and protocol(s)!
(I realize, to Wayland enthusiasts I am probably stating the obvious -- but realize those who still use X11, or just don't look into how it works, would probably assume the X11 display server was just replaced with a Wayland display server with the desktop environment perhaps having special status but still ultimately connecting into the display server; rather than each desktop having it's own implementation.)
> each desktop having it's own implementation.
And this is why I'm staying ignorant and suspicious of "wayland". It might possibly classify as a protocol (though sounds more like it's not even a graphics library).
Whatever happened to "Do one thing and do it well?"
I am rather perplexed by Rasperry Pi's rather rapid jump to Wayland. These boards tend to get buried inside equipment with no local displays. Exporting their UI to a desktop (or browser) via X11 or a web server (depending on the statefullness demanded of the application). This is one of the strengths of X that will be missed on that platform.
What you call consensus, others may call coercion...
There's a lot more stick than there is carrot in this case. RedHat especially, is being ruthless with it's crusade to push out the one true desktop (theirs: GNOME) on the one true UI library (theirs: GTK) running on the one true graphical platform (somewhat theirs: Wayland)...
By threatening to axe their development of X11 and spreading FUD about how it's essentially dead etc, they're absolutely coercing the smaller players into compliance.
"That's a nice little desktop you're maintaining there.... Would be a shame if something bad happened to it, no?"