9 ms·
The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. A small price to pay for elim
by hpfr 6y ago
The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. A small price to pay for eliminating tearing and actually-secure screen locking. There are valid criticisms of the move to Wayland but I don’t really think this is one of them; if you really need remote access to graphical applications you almost certainly should not be using X forwarding.
- znpy 6y ago> The shift away from X11 means no more forwarding X11 applications over ssh, which is slow at best and buggy and insecure at worst. Yes but sometimes you really need that and it's a life saver. EDIT: I just remembered about LTSP (Linux Terminal Server Project) which many schools used to lower the TCO of computing infrastructure. That relied heavily on Xorg's network transparency. I wonder what will happen to LTSP
- hpfr 6y agoHonestly, I think people's reliance on X forwarding is just due to the fact that it happens to exist, not because they really need it. There's nothing like X forwarding on Windows to my knowledge. If X forwarding didn't exist people would have figured out how to do what they needed over SSH with text or when GUI's are irreplaceable sysadmins would have set up an actual remote desktop solution like on other modern operating systems.
- worik 6y agoIt was the original reason to invent X. Literally
- oblio 6y agoAnd the adoption has been huge outside of Unix circles... MacOS doesn't use it, Windows doesn't use it. Even Linux is moving away from it. That's pretty damning for X as a technology during a time when even Windows has started to offer native curl and ssh, just saying.
- thekyle 6y agoCurrently the only way to run GUI apps in WSL is x forwarding.
- jerf 6y agoGosh, the technology only lasted 36 years so far, and definitely has a few years left to go in it before it is "dead". What a striking condemnation that it only made it 40-ish years before being replaced.
- znpy 6y agoStill there are xservers for both windows and Mac. How comes?
- mcguire 6y agoWindows and MacOS have been (and are) based on the model of buying a copy of a piece of software for each piece of hardware. The idea of only buying a copy for one machine and running it somewhere else is difficult for that model. Ubiquitous networking is common in the Unix world, but much less prevalent in the Microsoft and Apple worlds.
- chipotle_coyote 6y ago> Windows and MacOS have been (and are) based on the model of buying a copy of a piece of software for each piece of hardware. At least anecdotally, I'm not sure I can find a whole lot of supporting evidence for this -- the vast majority of the commercial applications I use on a daily basis let you install them on any compatible system that you own. This isn't just a byproduct of "well, they're not checking"; it's usually explicitly written in the license, it happens with programs that make you enter license codes they validate before running, and notably, it's very explicitly the model of the Mac App Store. Sometimes the license says only one copy of the program can be in use at a time without a site license, but for individual use that's generally fine in practice. (I haven't seen a program that's actually annoying enough to check for running copies of itself on a LAN and shut down if you're violating the license in decades at this point, although I'm sure they're still lurking out there in weird niches. It sounds like something Autodesk software would do.) Anyway -- maybe running programs remotely using the Xserver model never took off in the Mac world, even after OS X, because there was no prohibition against just installing the software on multiple machines? In practice, it's not something I've missed very often, I admit; while I sometimes like to edit text files remotely, that's not something that feels like it would really be improved by this model over using a local editor that can open files over the network. (Edited to note that I'm not suggesting there aren't still valid use cases for X11's server/client model! They're just not ones that have impacted me; if they did, I'd run XQuartz, which I don't love, but it'd probably get the job done.)
- levosmetalo 6y agoYet, many people use windows and I still miss X forwarding. RDP and VNC are just not a replacement for being able to start 3 different programs on 3 different remote computers, and have them all sitting together on screen next to each other.
- u801e 6y agoYou should look into xrdp. It's like X forwarding, but with the ability to detach and reattach to a running application like screen or tmux.
- vladvasiliu 6y agoTechnically, RDP allows you to only launch one application as opposed to a whole desktop. They call that RemoteApp. That you can't just launch that on every machine you want (in particular non server installs) is more a limitation of Microsoft's licensing model than of the protocol itself. For me, from a usability point of view, RDP runs circles around the other solutions. I've used this fairly often during the lockdowns and even over a shitty DSL connection there was close to no lag.
- MereInterest 6y agoRDP works well if you want to connect to a remote machine, then work only on that machine for a significant amount of time. For me, I need to switch in and out of several different RDP sessions, which is a nightmare. Alt tab works either within a session if full screened, or within the local computer if not full screened. That means I need to also periodically use ctrl alt break to switch between full screen and windowed. In windowed mode, I can either have scrollbars to view a subsection, or I can scale the window. Doing the right thing, changing the size of the remote desktop when the local window is resized, isn't an option because that is set at connection time. Sometimes, for firewall reasons, I need to have needed RDP sessions. At this point, everything performs poorly, and I need to drag the overlayed blue bars off of each other, then interact with one or the other. I miss SSH, and want better support for it. Nested connections can be handled with SSH tunnels. Text connections are fast enough to do anything on the slowest of connections. If I need a GUI, I can open up a single window through X11, without additional setup with RemoteApp. Windows remote management through RDP is slow, clunky, error-prone, and inflexible by comparison.
- jcelerier 6y ago> There's nothing like X forwarding on Windows to my knowledge. if windows was enough for my needs I'd use it ?
- II2II 6y agoThe happens to exist bit turns out to be very important. I can login to a machine and run an X client without installing and configuring extra software on the server. If I am using a desktop with X installed (most *ix based systems), there is no extra software to install and configure on that end either. The worse case scenario is the necessity to install an X server on platforms like macOS and Windows. The same sort of thing can be said for Remote Desktop. If you're using a version of Windows that includes it, it is wonderful to use because it is just there. Which is better? It depends on how you're using it. I generally prefer Remote Desktop for my use case because it takes care of audio and it is easy to resume sessions. That being said, those features don't matter to me most of the time so X is just as useful.
- Spivak 6y agoRight, the shift away from X doesn't mean the death of using GUI apps remotely, it just means moving to a Remote Desktop model instead of telling apps that their render target is your X server through a tunnel.
- pmoriarty 6y agoCould you flesh this out a bit? What is the official Wayland model for doing "Remote Desktop"?
- Spivak 6y agoI hesitate to call it an official model but the short version of the current direction is that the compositor acts as the glue -- providing the final rendered scene and the final merged audio stream to the client over some protocol (like VNC but doesn't have to be) and providing inputs and events to itself and the client applications. How all of this works on the backend is a combination of PipeWire to multiplex video sources and PulseAudio to multiplex audio sources. There's nothing outright preventing something like X forwarding and https://mstoeckl.com/notes/gsoc/blog.html https://mstoeckl.com/notes/gsoc/blog.html is a really cool project that makes it work. From that author: > The main difficulty in producing such a tool is that Wayland protocol messages primarily include control information, and the large data transfers of graphical applications are implemented through shared memory. waypipe must then identify and serialize changes to the shared memory buffers into messages to be transferred over a socket.
- jimbokun 6y ago> There's nothing like X forwarding on Windows to my knowledge. Which is why the people who need this functionality run Linux, not Windows.
- znpy 6y agoYou haven't worked in operations, have you?
- tokenrove 6y agoNo, it was the need for this on Windows that made Citrix all its money.
- toast0 6y ago> There's nothing like X forwarding on Windows to my knowledge. You can run an X server on Windows, there's a bunch to choose from. That lets you run an application on a remote unix system and show it on a Windows system in front of the user. It might be nice to run an application on a remote windows system, but that's always tied to expensive licenses; some of those systems sound like they could be pretty seamless (at least as seamless as remote X), but I don't have experience with them. Remote X has its problems, but it enables a lot of use cases with a minimum amount of hassle. Connect, run the application, close it when you're done. Other solutions with a remote desktop require starting that session somehow, and either leaving it running or shutting it down somehow. That can be useful if you want a long running session, but is more hassle if you don't.
- bsder 6y ago> Honestly, I think people's reliance on X forwarding is just due to the fact that it happens to exist, not because they really need it. Visual Studio Code has "Remote Development" (which is under a Non-Open Source License(!)) because they don't have "X11 Forwarding". Think about the waste of implementing that code--in every application--rather than being able to do display forwarding.
- twic 6y agoFor terminal server use cases, there are things like VNC, SPICE, NX, etc. The X11/ssh thing is for when you want to run a mix of local and remote applications on a single desktop, which i think is pretty unusual these days.
- welterde 6y agoIs it really that unusual to do some data reduction/analysis on a beefy dedicated machine and wanting to look at the results right away using the same terminal instead of having to copy the result files or using a shared network file system? Even more important if it involves any graphical interactions. Sure, one could use a remote desktop to do same thing, but it's a bit annoying if all you want is one window from the remote machine.
- u801e 6y ago> it's a bit annoying if all you want is one window from the remote machine. You should try xrdp. It can work like X forwarding (single application window forwarding), but you can also attach or detach from a running application (like screen or tmux for X).
- welterde 6y agoThat's only really an alternative for long-running applications since it still seems quite tedious to do if I am not missing anything (with modifying initial_program and all). Right now the workflow is simply ssh -X machine and then run some scripts that may or may not open interactive windows and then look at the result files using some graphical application. The same as if I was running it locally really (except on a beefy machine)..
- u801e 6y agoI haven't tried all of the xpra options, but it would be a matter of starting an instance on the remote machine and then running the command to attach to it in the local machine. I suppose that you could start a terminal session on the remote machine and spawn GUI applications from that. I'm not sure if xpra allows for a terminal session directly from the command line though.
- sz4kerto 6y agoThat means no Linux GUI apps on Windows + WSL2. Sounds like a niche, but I see many devs using Windows + WSL2 + X forwarding to develop under Linux.
- throwaway8941 6y agoI am not sure why desktop Linux experience should suffer to make WSL work? Microsoft has the wide pockets to make it work if they need to.
- my123 6y agoWSL2 has Wayland support upcoming (RDP-RAIL based, to integrate them to the regular desktop as separate windows)
- welterde 6y agoUntil recently there was no real alternative to it though. I recently learned about waypipe, so it should be possible to run wayland applications remotely over SSH at last (not sure how well it works/performs, but it exists). Granted there is also sixel and tek4014 support in xterm, but they are quite limited in what they can do and not too many applications have display frontends for that.
- GuB-42 6y agoAt work, we do X11 forwarding all the times. We have a wide variety of UNIX machines and we often need to run several graphical applications from different machines (not a remote desktop). X11 forwarding works with the latest Linux distros as well a 20+ year old systems running motif apps. Note: the old systems are now virtualized but we still need them, I work in the aeronautic industry and these are the time scales we are working with. I don't know of any replacement, at least not one with that level of adoption. Again, we really want to run graphical applications on a server, not a remote desktop. And BTW, things are getting troublesome. More and more Linux apps integrate accelerated web browser components and these tend not to play well with X11 forwarding. Love the irony of using a remote display to show an Electron app BTW.
- kej 6y agoIdle curiosity: what kind of applications are these remote systems running? You mentioned the aeronautic industry but I'm not familiar enough with it to imagine the kinds of things you would need to run remotely.
- GuB-42 6y agoA big one is a test tool for avionics running on Solaris. We are retiring it but some test procedures still require a specific version of it. And we don't want to update (and recertify) these procedures. We also have a homemade documentation system, again outdated but certified. I don't remember the system but it is definitely not a modern Linux. I think there is also a Fortran tool used to compute the lifespan of parts on the same system. A bit more recent, we have test benches made of several computers, mostly Linux desktops, each one deal with different things like real or simulated avionic hardware, they can be remote controlled but some apps run locally and have their own displays. We also have certified build chains running on specific systems, and while a GUI is typically not needed. It may be useful from time to time, mostly for debugging. We are in a process of modernizing all that stuff, but because of certification and the average lifespan of a program, it is a very slow process...
- billfruit 6y agoNot just Electron, even QT as well performs horrible over X11 forwarding in recent versions... Things seems to be going backwards in this area..
- ddingus 6y agoDepending on how people work, it may be a very high price to pay. And screen tearing? Didn't SGI have that solved in the 90's?
- jwr 6y ago> no more forwarding X11 applications over ssh, which is slow at best It was "slow" when I did it over 10Base2 Ethernet spanning an entire building. These days our CPUs are several orders of magnitude faster, and so are our networks. I don't need it to play the latest 3D games, I need it to display a user interface to an app that runs on a different machine. It's plenty fast enough.
- wazoox 6y agoYup. Today I have internet access faster than the LAN I used in the 90s and I routinely remotely run apps on my office desktop computer, reading my email, etc. from home. It works perfectly fine for anything not too graphically intensive, and it's way faster than starting a remote desktop session (which I use at times, too). On a local network, it's not significantly slower to run most apps through X11 forwarding than running them locally, and I use this extensively. The only daily application that's too slow is a browser, but Firefox (and before it, Mozilla did it too, and before it Netscape) automatically opens calls to the browser in the existing local window anyway (and there's always some pre-existing Firefox window open), even when running on some markedly different system (POSIX for the win). When I used MacOS more regularly, Quartz always was the first application I installed. When I see the comments from philistines unable to understand the obvious superiority of the one true Unix way, I always think of this Dilbert comic : https://dilbert.com/strip/1995-06-24 https://dilbert.com/strip/1995-06-24
- cat199 6y agothe vast number of threads supporting X11/remote and not caring about screen tearing in the least would seem to imply that your particular prioritization of features is not a commonly shared one.
- msla 6y ago> The shift away from X11 means no more forwarding X11 applications over ssh Which works fine and isn't a problem. > A small price to pay for eliminating tearing and actually-secure screen locking. Not necessarily. Not in all use cases.
- freeone3000 6y agoYou've listed disadvantages of an existing system but haven't listed an alternative. What should we be using for remote access to graphical applications?
- kevin_thibedeau 6y agoTearing has nothing to do with network transparency and everything to do with crappy closed source drivers. Xorg on Windows doesn't have these problems nor does it on Linux with supported hardware.
- jlarocco 6y agoSpeak for yourself. I use X11 forwarding a few times a week, and it works fine for the things I need it for. "It doesn't work for me, therefore nobody needs it," isn't a valid argument. And thinking about it a bit, it wouldn't have made any sense to keep the feature around for so long if it weren't useful.