4 ms·
X certainly does do that, the protocol is called XDMCP and it's been around since the 80's. "I can pretty much always run the graphical program locally instead
by throwaway09223 4y ago
X certainly does do that, the protocol is called XDMCP and it's been around since the 80's.
"I can pretty much always run the graphical program locally instead"
Then why do you need a remote desktop? This is a really strange comment, because you shouldn't ever care whether the window manager is local or remote (as with XDMCP) - the only thing that should matter is whether the apps are local or remote. Whatever it is you're doing with apps on a remote desktop can be done better by simply displaying the app remotely on your own desktop.
What exactly is the use case for needing to run a second window manager remotely? It's such a strange thing to say that you need.
- saurik 4y agoRight now I am sitting at "my computer". On "my computer" I have a ton of running state: I have a bunch of open web browser windows with a ton of tabs in each, I have open terminal sessions that are currently displaying the output of histories I am interested in or are actively running programs that I'm working with... hell: I have background computations being managed by various programs, such as video editing and encoding software, that I am interacting with. You might choose to call this state my "desktop", and I want to have "remote desktop" access. Now, I go somewhere else. While I'm out, I realize "oh, I need to change the queue on my encoding software" or I want to talk about some web page I have open. This is what Remote Desktop on Windows is doing for me: I don't connect to my computer remotely and then have some abstract notion of "I guess I can run software at home but see it here"... I actually am able to make that computer I'm at--wherever it is, and whatever it is (often it is my phone! the RDP clients for iOS and Android are excellent)--equivalent to the computer I have at home. As far as I have ever understood--and I'm NOT an expert at X, though I've been using it for 25 years in various capacities ;P--X fundamentally doesn't do that: X clients connect to X servers, and if the X server dies then the X client also dies. The Window Manager--the behavior and interaction of which in this system I, in fact, care about deeply--also connects to the server. I have never come across a use case where I'd want to run a graphical app on one computer and merely have it display on a local computer: in that case, I can simply run that app locally. However, what has given me superpowers is the ability to run the entire stack remotely and then "connect to it" from a local computer. I don't want to, while I'm out, run a new web browser process at home and have it appear on whatever device I'm at... I want to have the web browser I've already been running--along with all of its windows, all of their tabs, and their running state that have been actively continuing to execute and do stuff while I'm out--appear on the computer I'm at, making it feel everyone's computer becomes "my computer".
- throwaway09223 4y agoAh, you want to connect to existing running apps. Generally speaking, the workflows I try to use center around sharing data between hosts. The tabs in your web browser should be in your history and that's synced between your systems, etc etc. Regarding rehoming X apps, X can do that with tools like xmove. I haven't ever really bothered to use them because I have no use for that use case, but I do know they exist. I've always used screen for re-attaching terminals. Batch jobs and background computations are generally logging to files which I can check or interact with from anywhere. That sort of stuff isn't ever connected to a graphical interface in my experience. The benefit of remote display was, I think, more clear back when there was a greater diversity between systems. I would quite often run graphical tools unique to one unix on the my own system which was fundamentally incompatible (system-wise, cpu arch-wise, etc). Nowadays it's probably all x86 linux, so who cares, right?
- raffraffraff 4y agoI think Xpra might work? It's basically like screen/tmux for X. You start an app with Xpra and it creates an X session. You can attach to that locally or remotely (eg over ssh). https://github.com/Xpra-org/xpra/blob/master/docs/Usage/README.md https://github.com/Xpra-org/xpra/blob/master/docs/Usage/READ... That contains some examples of how it can be used. I don't use it much, and I don't know if there are simply GUIs to make it easy to use.
- Nursie 4y agoYou want Xrdp or Xvnc. Whether they are as performant as you want, I have no idea, but each of them can maintain the session and you simply connect to it with the client.