What terminal emulators I use when

March 7, 2011

Recently I mentioned in passing that I use several different X Windows terminal emulators, depending on the circumstances. A commentator sensibly asked what the circumstances were. I routinely use three different terminal emulators; xterm, 9term (which is more of a non-terminal emulator), and gnome-terminal.

Gnome-terminal gets used when I need something that is completely set up for UTF-8 or modern character graphics. I don't like it as much as the other two alternatives (and the Gnome people keep making questionable user interface choices), but sometimes it's what I need, warts and all. One common need for modern character graphics is apt-get's periodic dialog boxes for questions, and another is various menu-based serial console management interfaces for things like switches.

9term is normally my first choice for many things, basically any time I don't need either actual terminal emulation (for, eg, vi or su) or easy copy and paste support. Unfortunately I haven't been using it as much lately due to a Linux kernel issue.

Xterm is my true default terminal emulator, the one that I start if I don't want to think about which terminal emulator I want. There are just too many seductive little attractions to it, and besides I've been using xterm for decades so I am completely acclimatized to how it behaves.

(If I start 9term I have to be certain that I'm not going to want to run vi or something else that needs cursor addressing. If I start gnome-terminal, I have to go to extra work and then I have to put up with it, including how it is different from xterm. So xterm is the easy choice.)

Finally, if I'm being honest I have to admit that there have always been a number of little irritations and bits of extra work with using 9term instead of xterm, even in situations where 9term is usable. This has not infrequently made xterm my lazy choice even when I could use 9term. This sort of makes me unhappy, because intellectually I like 9term better.

(9term versus xterm is thus sort of like the BSDs versus Linux. It feels a little sleazy and lazy to use xterm instead of 9term, but I do it anyways because it's so convenient. In theory I should like the purity and vision of 9term; in practice, well, xterm again.)

Comments on this page:

From at 2011-03-07 01:55:22:

On modern systems, "xterm" ships with a "uxterm" wrapper which sets the Class so that xterm will pick up appropriate defaults and be utf-8ish.

I have a config which predates that (I think) and just makes xterm be UTF-8 by default, amongst several other things. The relevant bits of my "XTerm" file (in an $XAPPLRESDIR directory) are:

*VT100*eightBitInput: true
*wideChars: true
*locale: true
*utf8: 1
*vt100Graphics: true


From at 2011-03-07 05:41:46:

Yes, xterm works just fine with Unicode when started with the uxterm wrapper (and in some distros xterm is patched to switch its X resource class from XTerm to UXTerm when an UTF-8 locale is detected).

There is also rxvt-unicode, but its TERM=rxvt-unicode-256color is often a problem when connecting to older systems.

Another useful xterm feature when working with switches and other devices is that the “Backarrow Key (BS/DEL)” and “Delete is DEL” options are IMHO easier to change for a running window than in gnome-terminal (no need to open a settings window), and this is often needed because some switches want ^H for backspace. Although this is not very important if you use a separate launcher with required options for each switch.

And the only good implementation of alternate screen switching is in the pterm terminal emulator found in PuTTY — when switching to the alternate screen, it shifts the normal screen contents into the scrollback buffer (so that it is available for copying while working in the fullscreen program), and on returning to the normal screen it just scrolls those lines back to the visible screen (not leaving any garbage in scrollback). No other terminal emulator seems to be able to do that properly (either the last screenful is covered by the alternate screen and not accessible, or the content shifted to the scrollback buffer just stays there and accumulates with every screen switch).

-- Sergey Vlasov

By cks at 2011-03-07 19:14:23:

I'm sure that xterm works fine for utf-8 and so on in general, but my current xterm configuration of fonts and so on doesn't. Since I would need to come up with a new xterm configuration for utf-8, and I don't use utf-8 all that often, I've opted for the simple approach. Plus, it's useful to see how the modern Gnome world works every so often.

(At least on my machines, uxterm by itself isn't quite sufficient; it doesn't switch xterm to using a modern Freetype-based full Unicode font.)

Written on 07 March 2011.
« A fun Linux kernel pty problem, or maybe it's not a problem
My personal hard drive capacity curve inflection point »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Mon Mar 7 00:40:14 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.