Another building block of my environment: rxterm

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'.)