3 ms·
In the old days it was convenient to be able to run a SunOS binary on a remote server and display on a Linux machine -- but this can't be as common today. The
by theoh 9y ago
In the old days it was convenient to be able to run a SunOS binary on a remote server and display on a Linux machine -- but this can't be as common today.
The way X clients can be forwarded over SSH implies that network transparency doesn't need to be built in to the window system, there just needs to be a "seam" at which it can be interposed. Obviously any kind of direct access to graphics hardware makes this impractical.
Plan 9's window system uses the 9p file system protocol to cross the network; another Bell Labs trick (used in Rob Pike's Sam editor) is for the app to be split into two parts with their own internal interface. They can run on different hosts. The internal protocol/interface can be tailored to the app (and can potentially be very simple and/or efficient).
- mst 9y agoOnce you've created a seam (possibly a unix socket, many of my designs rely on those) exposing the same socket over TCP becomes relatively trivial and now you effectively have network transparency anyway (see also spiped). But, yeah, so long as the client is a separate process, getting it transited over the network can be done separately.
- slobotron 9y agoHeh, reminded me of running Internet Explorer and Outlook Express on a university Solaris box and had it displaying at home on an OpenBSD laptop... (yes, IE & Outlook had UNIX versions: https://en.wikipedia.org/wiki/Internet_Explorer_for_UNIX https://en.wikipedia.org/wiki/Internet_Explorer_for_UNIX)