Terminal emulators
If you’ve code compiling and spitting out thousand of lines, you certainly don’t want your terminal to slow down the process. But some are pretty slow…
Test procedure
time for i in $(seq 9000); do echo $i hello world hello world hello world; done
3 run each, same machine, same terminal size, same conditions. Every terminal emulator uses Monospace 10pt or MiscFixed 10pt (if monospace is unavailable) as font.
Aterm 1.00.01
real 0m0.701s user 0m0.348s sys 0m0.048s
RXVT-unicode 9.05 2008-06-15
real 0m0.630s user 0m0.320s sys 0m0.068s
xterm (xorg 7.4)
real 0m28.216s user 0m0.372s sys 0m0.012s
Note: No double buffering. Maybe its time to add that to xterm ;)
konsole 2.1 kde-4.1.2
real 0m1.006s user 0m0.348s sys 0m0.032s
gnome-terminal 2.24.0
real 0m2.074s user 0m0.424s sys 0m0.040s
xfce4-terminal 0.2.8
real 0m2.640s user 0m0.352s sys 0m0.028s
Eterm 0.9.5
real 0m2.229s user 0m0.404s sys 0m0.016s
Basically, xterm sucks, gnome-terminal, Eterm and xfce4-terminal aren’t very good but they’re quite ok. Konsole, Aterm and rxvt are very fast, rxvt being the fastest.
Usability
xterm
I must say that I like xterm pretty much. It’s recovery from garbled terminals is better than others, and its very customizable. Too bad default sucks. For example, if you didn’t know, you can use ctrl or middle mouse, or alt + right click to bring up xterm menus. I advise you to also replace the Xaw scrollbar settings by something that make it look like a regular scrollbar.
#xterm "real" scrollbar emulation
#Put that in ~/.Xdefaults or Xresources and run xrdb ~/.Xdefaults
*Scrollbar.background: grey
*Scrollbar.foreground: grey
*Scrollbar.borderWidth: 0
*Scrollbar.shadowWidth: 0
*Scrollbar.thickness: 14
*Scrollbar.minimumThumb: 20
*Scrollbar.backgroundPixmap: gradient:horizontal?dimension=14&start=gray90&end=white
*Scrollbar.borderPixmap: gradient:horizontal?dimension=14&start=white&end=grey90
*Scrollbar.translations: #override\
<Btn2Down>: StartScroll(Forward) \n\
<Btn1Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\
<Btn3Down>: StartScroll(Backward) \n\
<Btn1Motion>: MoveThumb() NotifyThumb() \n\
Comments