My Top Five Minimal Terminal Emulators

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

You don't have to patch st and you don't have to spend time configuring it either. The only patch you may want is for transparency and it takes seconds to apply. More works fine for long output and if you really need to scroll back you can use tmux. The only thing you may want to change is the font size but you can use the -f switch for that too.

👍︎︎ 1 👤︎︎ u/V2R0lwBB 📅︎︎ Jun 26 2020 🗫︎ replies
Captions
so i've made videos on several different terminal emulators in the channel's history and you guys know i i hop a lot between terminal emulators and having used several of them many of you guys asked me hey what's the best terminal emulator out there for linux now everybody has different use cases so i can't tell you what the best terminal emulator for you is you have to figure some of that out on your own but for me what i like in a terminal emulator is something minimal fast light so today i'm going to discuss my top five minimal terminal emulators for linux and before going any further i really want to stress this minimal terminal emulators because these five terminals that i'm about to show you i know i'm going to get flooded in the comments about all the things that these terminal emulators i showed you today don't support in particular i'm going to go ahead and tell you that none of the five terminal emulators i'm about to show you have built-in tab support or built-in ligature support so you can decide here do you want a minimal terminal emulator or do you want tabs and ligatures because you're not getting both all right now i think the first terminal emulator i want to show you guys is a goodie an oldie but goodie really it's x term x term is the standard terminal emulator for the x11 windowing system it has been around since the dawn of time and it's rock solid stable one of the things that always impressed me with x term those of you that love power line effects especially you guys that are doing power line or airline in vim or neovim xterm handles all that stuff really well because there's some other terminal emulators i'm going to show you here in a minute that really don't handle those power line glyphs very well but x term handled it fantastic back when i was running x term now discussing these five terminal emulators today i think what really separates these five terminal emulators is going to be how well they support unicode and their configuration how easy is it to get these things configured to look and function the way you want them to actually look and function well x term is a little clunky in this aspect because it is configured with the xresources file so if i open up my x resources file here you know you have to set all of these various settings here in your x-resources for x term uh settings like dpi anti-aliasing hinting rgba autohint tent style etc the font face font size and uh how many lines you want to save in the history etc etc and of course there's some color settings here's the colors i'm using like the dracula color scheme or some variation of dracula i might have slightly modified it a little bit now one thing that you will notice is if you're one of those people that you just love using transparency in your terminals let me quit out of the x resources here you will notice x term doesn't really support transparency i mean i have transparency here because i have a setting in my compton config or my pycom config that is basically saying hey everything that is named x term please do that 95 opacity but it's not true transparency because it's not setting the background transparency it's setting the entire window the entire xterm window is transparent because you see the font is even transparent which only doing 95 opacity here is still kind of readable i could read the font it's not that bad at least for me reading it right here in front of me you guys watching it on camera may have a harder time reading it but if i really set the opacity to something like 80 70 60 those of you that really love a lot of transparency in your windows x term is practically unusable so now i typically i don't like using transparency in my terminals really uh typically the only time i turn that stuff on is if i'm doing videos or if i want to make a fancy screenshot but me personally for my eyes i like my terminals to be solid i don't like them to be transparent so x term is fine for me but those of you that just demand transparency you're not going to like extern you're also not going to like having to configure it with x resources there's not a ton of good documentation on how to configure the x resources for x term it's kind of clunky but you know once you get it set up you can add things like i think i added a zooming in and out index term i think i'm using ctrl k and ctrl j to zoom in and out and all that was was adding a few lines to the x resources file but you know you had to do some google foo i mean you had to scour the internet to figure out how to do that and obviously x term is not going to look anything like what you're seeing on the screen right now when you first install it when you first install it i believe x term is simply white text on black background and it has a scroll bar i believe the scroll bar is on the left side of the screen instead of the right side of the screen i can't remember anyway it looks bad you know it's not a very attractive terminal it's very plain just white on black or it may be black on white it's one of the two and the font size is very small and you almost you almost have to configure x term right away to even make it usable just because it's so especially if you have older eyes like me you know it's almost unreadable now let's talk about unicode support emoji support because that's a big deal if i go back to the x-resources here and let me zoom in now that i told you guys i could zoom in a little bit i did set some fonts here for xterm i've got mononoke nerd font that's going to be the font you see in all five of these terminal emulators that i show you today because that's my preferred mono spaced font mono noki nerd font i also have some backup fonts set just in case i need them joy pixels that is going to handle emojis and glyphs and things like that then i also have a backup font here for mono space just because mono space yes in case all else fails go to mono space and then later when we get into urxvt i have the same three fonts set for that because i'm going to show you the urx vt terminal later let me quit out of the x resources so a few weeks ago i actually downloaded some text from a website for me to personally test whether my terminal emulator supported emojis so if i do a cat and the document i have is called emoji test dot text and if i just hit enter actually let's pipe that through lists because it's thousands of lines long let's do a list and you can see this column over here is actually the column that has the emojis and they're not colored emojis you know it's just plain text emojis but it looks good right there's no yeah if it didn't support the emojis you would have just that square you know that empty square and it looks like every single emoji if i just page down yeah i'm not saying any that don't render this is a massively long list let me page down just to go quicker you know it looks good i mean x term when it comes to emojis guys x term handles them pretty well again it's not the colored emojis you you may want but i don't need the flashy whiz bang image emojis the next thing we really want to talk about is unicode support because for me that's the most important thing in a terminal so i found this website with this webpage that has all these fancy characters it's a very lengthy page in a variety of different languages looks like there's you know various different alphabets you know not just the roman alphabet but we've got brill and it looks like we had some greek in here got some stuff in that page so what i'm going to do is i'm going to take that url and let's run that through curl because it's just a plain text file anyway curl is just going to download it and spit it out in the terminal and let's see how it handles that it didn't render the the brill i don't see brill let me zoom out a little bit yeah it did not handle the brill so that was a fill it did not handle ethiopian actually it didn't handle thai either russian was okay the greek was okay and some of the math equations here were okay not a complete fail but you know i would have preferred everything to render but that's still better than the next terminal emulator i'm going to show you now i used ur xvt for a long time because ur xvt really seemed to be the standard for terminal emulators for minimal terminal emulators there for the first few years where i was running linux it seemed you know i came to linux around 2008 2009 got into tiling window managers and everybody used urx vt that was the minimal terminal emulator everybody used because it was light and fast ur xvt by the way has a daemon so that makes it really neat you run urx vtd for the daemon that damon is always running and then you use urx vtc as the client windows and so all these ur xvt terminals if you have a million terminals open are even more fast more minimal because of the daemon now the downside of that is the daemon ever crashes you lose all your terminals instead of just the one terminal that crashed but when it came to resources you know cpu and ram ur xvt was just hard to beat so so so many people used ur xvt now the problem with you rxvt is the name u r xbt that actual name of the terminal is rxvt dash unicode so you would think with unicode in the name that it would handle unicode characters fantastic and it didn't you know my power line effects and airline effects in vim and neovim using ur xbt never worked right i fought with that for years and even when it i kind of got it to work sometimes there was weird gaps in the spacing and stuff it just didn't look good and then you know with unicode and the name you are xbt the u stands for unicode you would think it would have great unicode support watch when i curl that web page that we just did in next term uh nothing right uh the braille didn't render a next term it doesn't render in ur xbt either x term at least was sensible enough not to display these you know empty squares you know it just was blank spaces but braille didn't work runes didn't work ethiopian didn't work uh the tie does work in ur xbt the tie didn't work in next term russian greek was okay the math symbols are not okay that's weird yeah you would think they would at least get the math and science symbols right i can't have a terminal emulator that can't handle some of these kind of basic characters i mean we didn't get into really weird characters with that document right there let's talk about the emojis so if i cut out that text file that had all the emojis the thousands of emojis let's run that in ur xvt and again i've got the same fonts installed in all these terminal emulators so it's not a font issue because xterm listed all these emojis just fine you are xvt i'm not seeing any emojis not a single one rendered properly let me page down just i mean please just give me one one emoji can i get one emoji you are xvt ur xvt was just frustrating and i i never understood why so many people used ur xvt uh i think a lot of the people that used ur xvt back in the day there were really not as many terminal emulator options back then especially minimal terminal emulators and we're talking minimal you know for those tiling window users especially you either used urx vt or xterm and xterm even though it's far better than ur xvt in many aspects the fact that xterm didn't have true transparency i think that's the only reason people used ur xbt because they wanted their transparent terminals in their unix porn screenshots other than that ur xvt is the least attractive of the five terminal emulators i'm discussing today before we move on from ur xvt we should also talk about how to configure it it's also configured with the x-resources file just like xterm to get any kind of extra functionality you have to install some extra pearl extensions so you have to install some extra programs in addition to urx vt to make ur xvt kind of functional so if you want extensions for being able to increase or decrease the font size you know to zoom in and out or to select urls or to copy stuff to a clipboard and things like that you have to install some extra pearl programs let's quit out of that i'm going to close ur xbt i used ur xvt for years i stuck with it because so many other people seem to stick with it and i was like well if everybody else is using i have to use it but yeah it i wish i hadn't spent as much time in urx vt as i did because the next three options especially i'm about to show you are much better let's start with termite termite was the terminal emulator that i had used when i first started the youtube channel and i love it termites fantastic it's very light fast easy to use easy to configure let's talk about the configuration file now the termite config file is located on my system anyway and dot config slash termite and slash config open that file and let's see if i can zoom in termite is great because it has such an easy config file very easy syntax it is not hard to figure out exactly what each option is in here you have all these options most of them will be commented out you just uncomment the lines that you need to to change for example i set the default geometry here 700 by 520 pixels now that's for floating window managers like if i was using open box which was what i was using when i first started the channel i was using open box and termite so it always opened the same size on the screen of course we set the fonts i have a scroll back line set to 10 000 lines that's a lot of lines of scroll back but you know i like being able to scroll a ways back if i want to i set the default browser so if i click a url in termite what do i want the browser to be i want it to be links because if i click a url in the terminal chances are i want that to open in the terminal as well so it makes sense for the default browser to be links but you know pretty simple config file i again configured the colors the same colors in all five i use the same color scheme i really don't have anything negative to say about termite termites fantastic i could happily still be using termite right now i really i can't think of any reason why i switched to be honest let's talk about uh let's talk about emoji support so if i go back and cut out that emoji list here let me zoom back out and if i scroll down you see good emoji support right and it's actually the colored emojis it's actually images and they look good they look really good if if you're all about the emojis and i don't know why some of you are i don't care whether my terminal emulator has emojis or not that's that i want the unicode support but the emojis i could take or leave but some of you guys are all about the emojis termite termites the terminal emulator you probably need to be running just got them all it handles this list just fine uh let me quit out of that now let's talk about the unicode support so if i curl that same web page from earlier all right and let me scroll back up but it looks like it handled everything because it handled the box drawing here it handled the braille you remember xterm and urxvt uh completely crapped out when it came to displaying braille and handled the runes of which ur xbt and xterm didn't handle also ethiopian urx vt and xterm didn't handle that it handles thai russian georgian greek and of course most importantly probably is the mathematics symbols handled everything it handled every single thing in that file so termite fantastic if you haven't checked out termite and you're looking for a nice minimal terminal emulator that's light fast and easy to configure it's worth checking out let me close out termite and go to one of the terminal emulators i probably spent the most time with on the channel and that is st that is the simple terminal from success but i should warn you guys st is probably not a terminal emulator for everybody there are going to be some people that you're not going to want to run st because of the fact that you have to patch it it's a success program so you have to download the source code you know you have to make and make install and every time you want to edit something change the font or the colors you have to edit the source code recompile restart st that's going to turn a lot of people off especially the patching you have to patch st to make it usable by default st does not even come with the ability to scroll back through the terminal so if i cated out a long page of something i can't scroll back up to see what i miss you know i i would have to pipe it through less and scroll through lists oh but if i scroll too far and less i can't go back up i can't scroll back it's horrible out of the box st is just horrible you have to patch it for scroll back it doesn't have transparency by default you have to patch it for that we should also talk very briefly termite had true transparency st has true transparency if you patch it urspt had transparency every all these terminal emulators are going to have transparency x term was was the oddball there so let's talk about configuring st again you have to edit the source code so if i go into the directory that i have my source code and let's open up my config.h so this is the file that you need to edit to actually change stuff in st this is the config files written in c you can see i have the same three fonts as before well it's different i have mononoke and joy pixels i i didn't add the default mono space font but that's fine if i scroll down a little bit you can see it set some coloring if i scroll down a little further we've got some key bindings that are set really not much else to see here let me quit out of that so st is probably going to require the most time spent as far as configuring it to your liking you're going to have to spend some real time with it hatching hopefully the patches work the automatic patching if it doesn't you'll have to manually patch it let's talk about the emoji support and the unicode support let me cd back in the home directory because that's where i have that emoji text file and let's go ahead and cut that out now by default sd is not going to support emojis it doesn't even support scroll back or transparency by default sd doesn't support anything if you don't patch it for it but you can patch it for emoji support make sure you have good fonts installed and you may have to install some extra packages to get this to work but once you have it working you know it's as good as termites emoji support and the colored emojis look great look fantastic the only thing is i didn't have to jump through any hoops to get all this in termite you all right i i had to work a little to get the emojis nst let's talk about the unicode support so let's go ahead and curl that same web page from earlier if i can find it in the shell history here and let me hit enter unicode support it's fantastic again just make sure you have good fonts installed but i really didn't have to do anything for this unicode support is great out of the box actually with st so it really does get that right the braille that uh x term and ur xvt choked on st is just fine with brill runes ethiopian thai russian georgian greek and the math symbols it rendered that page perfectly so termite rendered it perfectly st rendered it perfectly so so let me close st and the terminal emulator i've been living in the most here recently you guys know i made a video about it a month or two ago was alacrity alacrity claims to be minimal fast maybe the fastest terminal emulator out there that's part of their marketing campaign it's the fastest terminal emulator out there because it's gpu accelerated and it does seem pippy you know when i run commands in it it seems snappy it really does alacrity is very easy to configure it has a config file and if i open config alacrity and alacrity.yml so it's a yamo file so this config file is pretty new user friendly it's probably not as easy to configure as termite termites config file is in a very new user-friendly syntax this yml file that alacrity has you really have to be careful so most of the document is commented but if you uncomment something you have to make sure that you uncomment everything below it or above it because you have so many intentions so for example if originally this was commented out this window here and so was the padding and the x well originally when i edited this file for the very first time i was like well i want some padding so i uncommented these lines but this doesn't work until i get this this uncommented as well right you really have to be careful of the lines when you're uncommenting and commenting outlines but once you get the hang of it you know you're probably not going to be changing much in this file probably the only thing you'll come back and change on a regular basis will be maybe you'll change the font face every now and then maybe the font size every now and then maybe the color scheme at the bottom you will have some settings as far as key bindings here's the key bindings overall i would say alacrity is probably the second easiest of these five terminal emulators to configure uh termite termites config is a little easier but just barely alacrity's pretty easy to configure now we should talk about emoji support unicode support i've got the same fonts set here in alacrity as all the other terminals so let's start with the emoji test so i'm going to cat out that file with the emojis and we don't get the colored emojis well we get a few but i mean we do get the plain text emojis as well it looks like all the emojis do render just some of them are images and some of them aren't but that's fine like i said for me it doesn't matter i really don't care too much about the emojis but i'm okay with plain text i'm okay with images now those of you that do care you know that's for purposes of this video i wanted to make sure we shared that let's go ahead and do the unicode test so let me curl that webpage again and as far as unicode yeah fantastic uh it's fine with these special characters at the bottom the braille rendered just fine runes ethiopian thai russian georgian greek and the math symbols here yeah so termite st and alacrity all rendered just fine on the unicode test now let me clear the screen now some of you guys are going to ask well that's great but uh what about tabs and ligatures again you're not going to get any of that in these five terminal emulators because they're designed to be fast light minimal adding something like tab support will probably require a ton of work and make the program a lot more bloated and heavy and ligature support i i think alacrity is trying to provide ligature support i don't know if it's already baked into some of the new releases or not when i do a man on alacrity in my installed alacrity it doesn't mention ligatures at all but i know they are planning on supporting it st i believe there is a patch actually it was just recently created somebody created a patch for st for ligature support if you really want it but again for a minimal terminal emulator especially st which is designed to be suckless if you're doing all this patching to get you all this extra stuff in something like st like if you really want tabs and you really want ligatures then you need to use like some of the heavier big terminal emulators you need to use console with a k you know the kde console or the gnome terminal you know things like that that are going to have all these features everything you want is going to be baked into those another thing people often talk about is lines of code and install size now i personally do not care i don't care about how many lines of code something is written in that is just a stupid metric to measure things by because lines of code i mean if you really wanted to you could write everything in one line of code i mean you just don't have any line breaks so lines of code is just stupid let's talk about installed size so how many megabytes or gigabytes or whatever as far as that installed size on the disk so if i actually go back here and i'm going to run a command here so let me zoom in here in alacrity so you guys can actually read this so i'm going to run this command pegman dash capital q lowercase i and then i'm going to name the five programs that i actually want to run this command on we're going to get the installed size of these five terminal emulators as they are on my system so let's do them in order x term urx vt termite st and alacrity all right and then i'm going to pipe that into grip and we want to check out size now let me hit enter it says ur xvt was not found that's my fault ur xbt is actually what you type to run the program but the actual package name is rxvt-unicode at least on arch all right so and these are in order xterm ur xbt termite st alacrity so the installed size 4x term is right at one megabyte people often talk about how bloated xterm is it's one megabyte right it's one megabyte in install size who cares about that like seriously anybody that tells you x term is bloated uh ju just tell them to just go away right you shouldn't even be talking to that person because they don't know what they're talking about you are xbt which most people run because x term is bloated which is funny right so many people that run ursbt will tell you the reason they run it is because x term is bloated and they can't run x term the installed size for ur xvt is three megabytes all right three times the size of x term termite termite comes in very respectable you know just you know 1440 kilobytes you know 1.4 megabytes so a little bigger than x term a lot smaller than u rxvt st of course comes in as by far the leanest at 521 kilobytes and that's because there's not much to st because of the strict lines of code limits and everything but again the what you're getting with st out of the box is not really st because you're going to heavily patch st to make it work you're going to add a ton of stuff to st to make it work so yeah it's installed size is small but again you're adding a lot to it eventually anyway alacrity oddly enough is the biggest as far as installed size 5.77 megabytes so twice as big as urx vt six times as big practically as x term but does it matter again five point seven seven megabytes of installed size you know that's the space that's taking on the disk does that really matter do you really care how much space it's taking on this one we're talking about such small sizes anyway we're talking about megabytes and we're talking about single digit megabytes as far as speed and performance you know i've used all five of these on a regular basis for months if not years at a time i've never had a problem with the speed of any of these five terminal emulators they all work honestly for for you guys pick the one if you want to use one of these pick the one that is the most comfortable for you to configure and pick the one with the best unicode support which i'm telling you right now i i would probably just avoid urx vt i know a lot of people really tout it as being a great terminal emulator i don't like it i would never go back to it i ran it for years but after trying so many other options i really think i've just wasted my time being on ur xvt all that time and before i go this show was produced by michael mitchell gabe arch 5530 chris chuck dj donny dylan george haplo nate librequest amree paul rob shawn and willie these guys they're the producers of the show without these guys this episode wouldn't have been possible this show is also brought to you by all these fine ladies and gentlemen you see all these names on the screen these are all my supporters over on patreon without these guys this episode you just watched wouldn't have been possible the channel wouldn't be possible because this channel is supported by you guys the community if you'd like to support my work you'll find distrotube over on patreon alright guys peace
Info
Channel: DistroTube
Views: 81,834
Rating: 4.9094424 out of 5
Keywords: terminal emulator, linux terminal, command line, linux terminal tutorial, linux tilix, linux terminal emulator, terminal emulators, xterm, urxvt, rxvt-unicode, suckless terminal, st terminal, termite terminal, termite, alacritty, configuration, unicode support, emoji support, minimal terminal, no tabs, no ligatures, top five, top 5, best terminal emulator, fastest terminal emulator, linux terminal apps, terminal for tiling window manager
Id: 4o_QuwkFTf8
Channel Id: undefined
Length: 30min 45sec (1845 seconds)
Published: Fri May 15 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.