Xterm is used with different hardware on a variety of operating systems, not just with a PC keyboard on a GNU/Linux system. There are several options to set in your X resources files that make this terminal emulator much easier to use with Linux.
- Allow xterm to report the TERM variable correctly. Do not set the TERM variable from your ~/.bashrc or ~/.bash_profile or similar file. The terminal itself should report the correct TERM to the system so that the proper terminfo file will be used. Two usable terminfo files are xterm, and xterm-256color. The XTerm FAQ state, "The xterm-color value for $TERM is a bad choice..."
- – Without setting TERM explicitly, xterm should report
xterm. You can check this with either of these commands:
$ echo $TERM $ tset -q
- – When TERM is not set explicitly, color schemes for some programs, such as vim, may not appear until a key is pressed or some other input occurs. This can be remedied by setting the resource
termName, either from the command line with
xterm -tn xterm-256color, or by setting the resource value:
- Use UTF-8. First make certain your locale settings are correct for UTF-8, then add this to your resource file so that xterm interprets all incoming data as UTF-8 encoded:
- Fix the Alt key. Template:Keypress is not the Template:Keypress key, yet on PC keyboards Template:Keypress is used as the Template:Keypress key. Make xterm aware of this by adding the following to your resource file:
As new lines are written to the bottom of the xterm window, older lines disappear from the top. Xterm saves these lines in a buffer and they can be recalled by scrolling. The mouse wheel should just work, and the combinations of Template:Keypress and Template:Keypress will scroll one-half a page at a time, or one can use the scrollbar.
The number of lines saved for recall is set at 1024 by default in Arch. You can change this with the
Normally, text output would be scrolled one line at a time. This would cause some delay when commands produce a lot of output. The resource
jumpScroll is set to true by default so that multiple lines at a time can be printed. Two other resources that affect scrolling speed are
multiScroll, for asynchronous scrolling, and
fastScroll, which suppresses refreshing the display when there is a large amount of output. Both are set to false by default.