XTerm is a classic terminal emulator for the X window system. It is so old that it is in fact a bit older than the X window system itself! Today it ships as one of the quintessential programs of the X window system. Here are some factoids I discovered about XTerm that may interest you to use it:
It was explicitly written to emulate the old DEC VT102 and Tektronix 4014 terminals.
It supports 256 colors. You may need to configure it to set the TERM
environment variable correctly as xterm-256color
. Terminal apps read this variable to decide how to show their colors, so this might be essential. See my config file below for how to do this.
Along with the classic xterm, there is also xterm with Unicode support that you can invoke as uxterm
. The latter is what you almost always need.
Being one of those early X programs, it does not have a toolbar or scrollbar. Instead, you get three different menus if you hold down the Ctrl
key and click any one of your 3 mouse buttons.
The 3 menus you get are: main options (left mouse button), VT options (center button) and font options (right button). All the menu options can also be set in its config file.
By default, xterm starts with white background and black foreground. Invoke it with the -rv
(reverse video) option to get black background and white foreground. This can also be set in its config file (see below).
One keyboard shortcut I like in xterm is Alt + Enter
which toggles the fullscreen mode.
Like any classic X application, XTerm copies and pastes from the PRIMARY clipboard. If you need the normal window manager clipboard behavior, choose Copy to clipboard in the VT menu.
A cool trick to select a large body of text in XTerm is to left-click at the beginning of the text and right-click at the end. The region in between the two clicks is copied to PRIMARY.
The main reason I like using xterm, other than its bare bones simplicity, is its keypress latency. Experiments seem to show that it has the lowest keypress latency among all terminal emulators on Linux. This may not be surprising considering the dinosaur age in which it was developed when every bit of speed mattered.
XTerm is a great program. Simple and fast. The only disadvantage for me is that its stdout speed is among the slowest in terminal apps. Only Terminator is slower than XTerm in my experience. This is a real deal killer if you frequently run commands that can throw thousands of lines to the terminal.
Being a classic X program, XTerm reads its config from a Xresources file. Here are some settings I use in my file to change foreground/background colors, set font size, enable font size increment/decrement and such settings:
! =============================================================================
! XTerm settings
! =============================================================================
! Use white-on-black colors
XTerm.vt100.reverseVideo: true
UXTerm.vt100.reverseVideo: true
! XTerm already has 256 colors support
! We ask it to set the correct $TERM
XTerm.termName: xterm-256color
UXTerm.termName: xterm-256color
! Start with maximized window
xterm*maximized: true
! Make Alt key behave like in other terminals
XTerm.vt100.metaSendsEscape: true
UXTerm.vt100.metaSendsEscape: true
! Number of lines to save for scrolling
XTerm.vt100.saveLines: 100000
UXTerm.vt100.saveLines: 100000
! Increase-decrease font size using Ctrl-/+
xterm*VT100.Translations: #override \
Ctrl <Key> minus: smaller-vt-font() \n\
Ctrl <Key> plus: larger-vt-font()
Note that the settings are applied to the app only at the start of the X server. If you want to apply them right now, use the xrdb app as described here. References: