What I really miss when I don't have X across the network
For reasons beyond the scope of this entry, I spent a couple of
days last week working from home. One of the big differences when
I do this is that I don't have remote X; instead I wind up doing
everything over SSH. At a nominal level the experience is much the
same, partly because I've deliberately arranged it that way; using
sshterm to start a SSH session to a
host is very similar to using
to start an
xterm on it, for example. But at a deeper level there
are two things I wound up really missing.
The obvious thing I missed was
which is the core of how I efficiently deal with email at work.
Exmh is text based so it works well within the limitations of
modern X network transparency; at
work I run it on one of our login servers, with direct access to
my email, and it displays on my desktop. In theory the modern
exmh and this style of working would be a local
IMAP mail client, if I could find a Linux one that I liked.
(I mean, apart from the whole thing where I'm extremely attached to (N)MH and don't want to move to IMAP any sooner than I have to. An alternate approach would be to find and set up some good text-mode MH visual client, probably GNU Emacs' MH-E, which I used to use years ago.)
But the surprising subtle thing that I wound up missing was the
ability to open up a new
xterm on the remote machine from within
my current session. While starting an
xterm this way obviously
skips logging in, the real great advantage of doing this is that
xterm completely inherits my current context, both my
current directory and my current privileges (if I'm
su'd to root,
for example, which is when this is especially handy). It is in a
way the Unix shell session equivalent of a browser's 'Open in New
Tab/Window', and it's useful for much the same reasons; it gives
you an additional view on what you're currently doing or about to
There is no good replacement for this that I can see outside of remote X or something very similar to it. You can't get it with job control and you can't really get it with screen or tmux, and a remote windowing protocol that deals with entire desktops instead of individual windows would create a completely different environment in general. This makes me sad that in the brave future world of Wayland, there still doesn't seem to be much prospect of remote windows.
(This entry is sort of prompted by reading The X Network Transparency Myth.)
PS: If you want, you can consider this the flipside of my entry X's network transparency has wound up mostly being a failure. X's network transparency is not anywhere near complete, but within the domain of mostly text-focused programs running over 1G LANs it can still deliver very nice benefits. I take advantage of them every day that I'm at work, and miss them when I'm not.