Terminal Test(s)- a report

FWIW. I decided to test a number of terminals out to see which one best, and most frugally, the terminal functions I deem most critical. The features I veiw as most essential include:

– cut & paste (essential)
– easily added to my graphical file managers nemo/ thunar
– function well on dwm & i3wm
– pseudo-transparency (nice to have)
– geometry
– easily & quickly customized to use Nordic (my favorite) color scheme
– provides decent font support (most especially DejaVu Sans Mono)
– works well when supporting TUI applications
– speed (apparent, not measured)

Here are the terminals I tested, along with a few comments including the amount of RAM they use when idling on my laptop running Arch 5.13). Obviously, you might choose differently (and probably have).

Kitty-- 86MB (a long time favorite)
alacritty-- 74MB
xfce4-terminal-- 50MB
roxterm-- 50MB
lxterminal-- 48MB
sakura-- 44MB
==> urxvt-- 20MB (selected, by me, for use and now under long-term test)
st-- 15MB (without modifications/ patches, and my early favorite)
xterm – 14.3MB (super tiny…)

I’ll try to remember to leave a note on ‘long-term’ results/ experiences (whatever those might be).

Here’s a screenshot so you can marvel at my terminals ‘beauty’.

2 Likes

Thx for sharing @manyroads . Loads of testing in there !

st (patched for copy/paste, scrolling & transparent bg) on my system only takes 3.5M (virt) / 2M (res).

31440 0.6 0.2 34852 20080 ? Ss 09:55 0:01 st

@chroot You used a fancy tool to measure mem I just ran lxtask…

LOL, I used the basic cmd to check. Looks like lxtask is not accurate.

/proc/31440 » cat status                                                                   10:25:04
Name:	st
Umask:	0022
State:	S (sleeping)
Tgid:	31440
Ngid:	0
Pid:	31440
PPid:	31192
TracerPid:	0
Uid:	1000	1000	1000	1000
Gid:	1000	1000	1000	1000
FDSize:	64
Groups:	19 90 96 98 974 975 984 985 987 990 991 996 998 1000 
NStgid:	31440
NSpid:	31440
NSpgid:	31440
NSsid:	31440
VmPeak:	   35100 kB
VmSize:	   35100 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	   20316 kB
VmRSS:	   20304 kB
RssAnon:	    8492 kB
RssFile:	   11812 kB
RssShmem:	       0 kB
VmData:	    8508 kB
VmStk:	     132 kB
VmExe:	      48 kB
VmLib:	    5644 kB
VmPTE:	     112 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
CoreDumping:	0
THP_enabled:	1
Threads:	1
SigQ:	0/30704
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000000000
SigCgt:	0000000180010000
CapInh:	0000000000000000
CapPrm:	0000000000000000
CapEff:	0000000000000000
CapBnd:	000001ffffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Seccomp_filters:	0
Speculation_Store_Bypass:	vulnerable
SpeculationIndirectBranch:	always enabled
Cpus_allowed:	3
Cpus_allowed_list:	0-1
Mems_allowed:	00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	11987
nonvoluntary_ctxt_switches:	2318
2 Likes

Is it an ordered list? If so, I agree with top 2. I use Alacritty, but kitty is in no way worse. I also use lxterminal for one task.

No for my purposes actually I like urxvt & st best these days. FWIW the ordering is only based on lxtask’s reported memory use.

st & urxvt are both very light and fast. I like both of them. Not as feature-rich as other terminals, but good enough for me.

1 Like

To me a terminal is a terminal is another terminal. I kinda go with the Donald Rumsfeld theory of “you go with the Army you came with” with terminals. If it’s XFCE4, GNOME, Konsole, LX, etc., whatever the distro ships with, that’s fine with me. I also like ones that are easy to configure and can set up multiple profiles, and can tab if I chose to. The ones where I have to go and config via text editor, I mean if it’s just the difference of a few mbs of speed, well I am on a laptop, if speed were really an issue, I build a workstation that can handle many tasks or VM’s. I’d rather workstation grade over “hey I can run this on a ten year old laptop” any day of the week. Because then you can run any size of application you want.

1 Like

Terminal looks nice but it needs some padding :smiley:
Thanks again for the share.

1 Like

AKA needs more useless pixels XD

3 Likes

Exactly.
:smiley:

Nice work again manyroads. All this minimalist stuff is pretty helpful for users on low end or old computers, like my laptops.

 Private  +   Shared  =  RAM used       Program
  7.6 MiB +   8.8 MiB =  16.3 MiB       xterm
  7.5 MiB +  15.0 MiB =  22.5 MiB       foot

Seems strange to omit the two best emulators for X & Wayland… :stuck_out_tongue:

3 Likes

@Head_on_a_Stick I installed xterm and made .xresources changes… I’m not wild about the weird cut & paste keys but I have it working. Notice the magnificent scrot… it runs in just over 14M of RAM according to my most imprecise lxtask measure.

==> EDIT: added code to make ctrl-shift c & ctrl-shift-v work as cut & paste (below).

I am including my Nordic (isn’t it beautiful) .xresources code…


#define nord0 #2E3440
#define nord1 #3B4252
#define nord2 #434C5E
#define nord3 #4C566A
#define nord4 #D8DEE9
#define nord5 #E5E9F0
#define nord6 #ECEFF4
#define nord7 #8FBCBB
#define nord8 #88C0D0
#define nord9 #81A1C1
#define nord10 #5E81AC
#define nord11 #BF616A
#define nord12 #D08770
#define nord13 #EBCB8B
#define nord14 #A3BE8C
#define nord15 #B48EAD

*.foreground:   nord4
*.background:   nord0
*.cursorColor:  nord4
*fading: 35
*fadeColor: nord3

*.color0: nord1
*.color1: nord11
*.color2: nord14
*.color3: nord13
*.color4: nord9
*.color5: nord15
*.color6: nord8
*.color7: nord5
*.color8: nord3
*.color9: nord11
*.color10: nord14
*.color11: nord13
*.color12: nord9
*.color13: nord15
*.color14: nord7
*.color15: nord6

URxvt.font:     xft:DejaVu Sans Mono:size=11.5:antialias=true
URxvt.boldFont: xft:DejaVu Sans Mono:bold:size=11.5:antialias=true
! urxvt.font: xft:DejaVu Sans Mono:size=11
urxvt*scrollBar:                  false
urxvt*mouseWheelScrollPage:       true
urxvt*cursorBlink:                true
urxvt*saveLines:                  5000
urxvt*internalBorder: 5
urxvt*geometry: 90x32

! Normal copy-paste keybindings without perls
urxvt.iso14755:                   false
urxvt.keysym.Shift-Control-V:     eval:paste_clipboard
urxvt.keysym.Shift-Control-C:     eval:selection_to_clipboard
!Xterm escape codes, word by word movement
urxvt.keysym.Control-Left:        \033[1;5D
urxvt.keysym.Shift-Control-Left:  \033[1;6D
urxvt.keysym.Control-Right:       \033[1;5C
urxvt.keysym.Shift-Control-Right: \033[1;6C
urxvt.keysym.Control-Up:          \033[1;5A
urxvt.keysym.Shift-Control-Up:    \033[1;6A
urxvt.keysym.Control-Down:        \033[1;5B
urxvt.keysym.Shift-Control-Down:  \033[1;6B

xterm*font:     xft:DejaVu Sans Mono:size=11.5:antialias=true
xterm*geometry: 90x32
xterm*mouseWheelScrollPage:       true
xterm*cursorBlink:                true
xterm*saveLines:                  5000
XTerm*selectToClipboard: 		  true
XTerm*VT100.Translations: #override \
      Shift Ctrl<Key>C: copy-selection(CLIPBOARD) \n\
      Shift Ctrl<Key>V: insert-selection(CLIPBOARD) \n\ 
      Shift Ctrl<Key>V: insert-selection(PRIMARY) \n\ 
      Shift<Btn1Down>: select-start() \n\ 
      Shift<Btn1Motion>: select-extend() \n\ 
      Shift<Btn1Up>: select-end(CLIPBOARD) \n\
2 Likes

before I used alacritty but shuts down up to several times
so i have switched to st and seems fast and solid
uses st with xresources

1 Like

Yes, “st” is good as is urxvt, xterm among others.

Terminal Padding!!!

:slight_smile: They are nice looking colour schemes there chaps.

2 Likes