When comparing xterm vs st, the Slant community recommends st for most people. In the question“What are the best Linux terminal emulators?” st is ranked 7th while xterm is ranked 15th. The most important reason people chose st is:
st is built to serve as a lightweight terminal emulator. It's very light and doesn't require many resources to run, making it able to run well on older and low-end machines.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Used in almost every Linux distribution
If you master xterm, you won't have to learn another tty, since it is in almost every Linux distribution.
Pro Stable, well-tested
Pro Standard with X Window system
Xterm is installed as standard software with the X Window system, and is there even when installing other terminal emulators.
Pro Lightweight
Xterm is a very lightweight terminal. It requires few resources, allowing it to run well even on lower-end machines.
Pro Shows full characters for wide fallback fonts
Many terminal emulators that deal with wider fallback fonts (i.e. double-wide characters in CJK fonts) truncate display of wide characters, show Unicode "missing glyph" characters, or simply fail to display the characters at all. XTerm is "smart" enough to simply take up the extra space needed to show such wide characters.
Pro In about 30 years, it had only one issue, and that was fixed quickly
Pro It is fast and responsive
See this.
Pro Many modern terminals emulate xterm
Many terminal applications, such as OS X's Terminal.app and iTerm2 (among others), all claim xterm or xterm- variants as their $TERM and aim for support of xterm's escape sequences. Many command-line applications will assume or even hard-code escape-sequences and behavior for xterm and those terminals emulating it.
Pro Configurable via Xresources
X Toolkit resources and xrdb predates what is currently called "theme". Although one needs to read man, mitigates most listed cons
Pro Supports sixel images
Pro Low memory usage
st is built to serve as a lightweight terminal emulator. It's very light and doesn't require many resources to run, making it able to run well on older and low-end machines.
Pro Extremely simple architecture
st consists of a single C file that takes seconds to recompile. This also makes it very easy to understand and customize.
Pro 24-bit "True Color" support
st supports color escape sequences for a full 16 million 24-bit color spectrum, instead of the typical 256 colors.
Pro Support for fontconfig
There is full XFT (X Free Type interface library) and fallback font support through fontconfig in st. If your selected font is missing a certain glyph or symbol, but one of your other installed fonts has it, it will be shown.
Pro Copyfree licensing
Copyfree licensing implies that the user has the freedom to copy, use, modify, and distribute what he/she possesses.
Pro Image previews
Handles image previews (e.g. in ranger) way better than other terminal emulators.
Pro Patches are great
The patches on the site are great. Scroll back, hide the mouse, etc.
Pro Minimalist
Hackable and lightweight.
Pro Blazing fast
it is extremely responsive and fast, even on older computers.
Pro Clean
The terminal doesn't have any bloated features nobody uses. It is very minimal and extendable.
Cons
Con Bad defaults
Very small default size. No way to know to how to configure size.
Con No tabs
Con It blinks
If it blinks for you too, you can try this: man xterm
and then press Shift+G.
Con Has few dependencies
Has dependencies like xbitmaps.
Con No native transparency
Xterm does not natively support transparency (though it can be emulated if needs be).
Con Historical source code
The stories behind terminal emulation beyond their classical representatives (of which xterm is simply the most long-lived) are somewhere inbetween subtly irritating to downright surreal.
Con Configuration requires recompiling
Though recompilation takes seconds, knowledge of C header files is required for customization (though it's pretty easy to do for someone who knows how to edit config files).
Con Text is cut off when resizing windows
In the vanilla build, when reducing windows, lines do not wrap, they are cut off. When the window is made large again, some of the text is missing.
Con Crashes when some characters or colored fonts are displayed
Con No scrollback by default
The best way to perform scrollback is to use a multiplexer (such as tmux, screen, or dvtm) if you want scrollback and reverse-search support.
Con New features means installing patches
Just to get copy/paste support and scrolling, you have to install patches. And it's not that intuitive for a beginner.
Con Internal border/margins
Doesn't support internal margins.
Con Source code edits (aka configs) need to be redone after updating
Con Imperfect fontconfig support for CJK characters
It [st] doesn't seem to use CJK fonts provided by fontconfig while other programs use such fonts.
