Like many sysadmins using Unix workstations, I spend a lot of time running
xterm
s. Given that most of the time the remote X program I start with my
rxexec
script is an
xterm
, it's no surprise that I wrote another script to automate all of the magic involved, called
rxterm
.
Rxterm's basic job is to start an
xterm
on a remote system with all of the right options set for it; for instance, so that the
xterm
title and icon title have the name of the system that
xterm
is logging on. Like
rxexec
,
rxterm
has a number of options that are now vestigial and unused (but still complicate the code).
(Some people set the terminal window title in their prompt. I don't like that approach for various reasons.)
If this was all that
rxterm
did, it would be a very short script. However it has an additional option that complicates its life a lot: '
rxterm -r <host>
' starts an
xterm
that is
su
'ing to root with my entire environment set up in advance (because you cannot combine xterm's
-ls
and
-e
arguments). Such
xterm
s also get a special title and are red instead of my usual
xterm
colours.
Setting up my environment is fairly complex, because the things I need to do in the process of
su
'ing to root vary quite a lot from system to system. On some of them I can just go straight to
su
, but on others I need to run a cascade of scripts to get everything right. Rxterm has all of the knowledge of which system needs what approach, so I don't have to care. (Every now and then I need to tell it another exception.)
(In hindsight
rxterm
's approach to this problem is the wrong one, but that's something for another entry.)
Every so often I consider giving
rxterm
an option so that it will start a remote
gnome-terminal
instead of
xterm
. So far I keep not doing this because
gnome-terminal
's command line options are so different and the code isn't designed to cope with that, but by this point
rxterm
has so many historical remnants that I should probably rewrite it from scratch anyways.
(My short shameful confession here is that I had forgotten most of
rxterm
's arguments until I actually looked at the shell script in the process of writing this entry. Many probably don't work any more, and one actually has the comment 'Doesn't work any more? I lack the time to debug'.)