Requirements for X Forwarding

I understand a server-client relationship can be established where the X session of a computer (the xserver) can be controlled by a remote client.

What are the requirements for the server and client, in terms of installation?

Would it work if the server doesn't have a GPU, leaving all of the graphics rendering to the client? I'm guessing no, and that it's more of a networked graphics buffer, so in effect the server sends the client a speedy slideshow (like RDP), or is it something different?
 
So would Xpra work if, say, the host machine didn't have a GPU or the GPU was unsupported, or X won't run locally on it for whatever reason?
 
where the X session of a computer (the xserver) can be controlled by a remote client.
It's not being 'controlled' by the remote client, the xserver runs on the client.

Would it work if the server doesn't have a GPU
Yes. X doesn't even need to be running on the server.

leaving all of the graphics rendering to the client?
That's the entire point of remote X. The rendering is done on the 'client'.

so in effect the server sends the client a speedy slideshow (like RDP), or is it something different?
That's how RDP or VNC works, somewhat simplified, yes. X works entirely different though.

What's going to confuse you a lot at first is that the Xserver does the rendering. Your 'client' host needs an Xserver. A gui application is a 'client', the application itself runs on the server. So 'client' and 'server' are reversed from your 'client' and 'server' host.
 
Your 'client' host needs an Xserver. A gui application is a 'client', the application itself runs on the server.
So i could have an application installed on the server, say Firefox, and the Xserver client could use Firefox with all of the processing done on the server? The "client" wouldn't need Firefox installed or know anything about it?

If so, perfection.
 
So i could have an application installed on the server, say Firefox, and the Xserver client could use Firefox with all of the processing done on the server?
Firefox itself runs on the server. The "gui" part of it (open a window with this or that widget and content) is sent to the Xserver (running on the client) which then renders it. So it kind of depends on what you consider "all of the processing"?

The "client" wouldn't need Firefox installed or know anything about it?
It would not need to have it installed 'locally'. Likewise, the server doesn't need to have X running or even installed. An Xclient (i.e. xterm) only needs a couple of X libraries, not the "full" server install.

Keep in mind that the default sshd_config(5) has X11forwarding disabled. So remember to switch it on if you want to experiment with it.
 
Firefox itself runs on the server. The "gui" part of it (open a window with this or that widget and content) is sent to the Xserver (running on the client) which then renders it. So it kind of depends on what you consider "all of the processing"?


It would not need to have it installed 'locally'. Likewise, the server doesn't need to have X running or even installed. An Xclient (i.e. xterm) only needs a couple of X libraries, not the "full" server install.
Ok that sounds ideal.

I'm trying to work around a snuffed GPU on one of my machines, and use a crappy laptop as it's front-end instead. So the server will do all the actual work, but the crappy laptop will do the graphical rendering, clicking and pointing.
 
Back
Top