Terminal Emulator: Termite

From rxvt-unicode …

Up to a few days ago, I was using rxvt-unicode as my terminal emulator. It works fine, is light (especially with its client/server mode) and integrates nicely with a tilled window manager. But I was needing Fontconfig support which is lacking from rxvt-unicode.



… to LilyTerm …

I first tried to switch to LilyTerm which seems to be appreciated by some people but I was not convinced. The default configuration has some annoying behaviors (confirmation needed when starting the term to launch a specific command, reusing existing window, …) and it has some shortcomings as well (most importantly TERM is set to xterm which is wrong since LilyTerm has 256 colors support).

… to Termite

I have been then suggested to try Termite, a rather recent (first commit is from May 2012), VTE based (as LilyTerm), terminal emulator. The config is really easy and in a few minutes I had a config replicating my rxvt config.



Here is my old rxvt config :

And, here is my Termite config (not exactly the same behavior than rxvt but same look) :

Moreover, Termite brings some interesting features:

  • Open a new terminal in the current directory: a basic feature I was trying to achieve directly in my Xmonad configuration for months.
  • A command mode which takes its roots into Vim command mode.
  • Scrollback search (really useful when you forgot to pipe a long running command into grep, less or whatever and that you need to find something specific in the output).

Some features are still lacking like settings specifics parameters through CLI arguments and (probably) sending events. These features are needed to use Termite with programs like Cluster SSH. But this is OK as it is something I do not use everyday and I can keep using urxvt for this.

Termite does not have client/server mode either but it is light enough for this not to be a requirement.

If you are looking for a lightweight terminal emulator, I strongly suggest you give Termite a try.

7 thoughts on “Terminal Emulator: Termite

  1. I thought this post deserved a comment 🙂

    I am a rxvt-unicode user, and never thought i would ever in a million years switch back to a VTE. But with termite, it still is not my default, but I have found myself using it a bit more and a bit more and a bit more. I came across it on the IRC, when asking a question about something terminal related in general, I was told to use termite instead. At the time I was not so satisfied with that answer. But since that is its origins, they knew what it already had over urxvt and what it was to become. It may not be complete, but it is pretty d*mn good.

  2. Hi! Very interesting article.
    I have a doubt though. I have installed termite and I would like to change its appearance, colours…
    I tried modifying the config file in /home/myusername/temite/config and it didn’t do anything.
    Then I tried changing things in /etc/xdg/termite/config and then it worked. Can you explain me why this happens? What should I do to make the config file in my user folder be the one valid?
    Thanks in advance

    • Just to be sure the typo in the path on your home folder is only on this comment (temite vs termite)?

      ~/termite/config is not a valid path. You should put it in ~/.config/termite/config (or $XDG_CONFIG_HOME/termite/config which will probably point to the same folder).

      • Oh yes, that was a typo here in the comment.
        I created the folder termite in ~/.config and put the config file there and then it worked.
        But the thing is, the config was originally there (in ~/termite/config) after I cloned from git (git clone –recursive https://github.com/thestinger/termite.git) and installed it. Plus there was a exact config file in /etc/xdg/termite/
        I am a newbie here, what I don’t understand is why it has to create 2 config files in 2 separate places.
        And another doubt, how can I know where $XDG_CONFIG_HOME points to and can I modify this?
        Thanks for your prompt reply.

        • Well I do not know about how things are being installed by the makefile. I am using my distro package.

          Anyway, the file in /etc is systemwide. The file in your home is specific to your user. Anything set in your home overwrite what is set in the system wide file.

          You can do “echo $XDG_CONFIG_HOME” to see what is set to. If not set you can do this in your ~/.bashrc.

  3. Hi again

    Ubuntu doesn’t set these variables (I got an empty line) I won’t touch anything for now.
    Besides, after your reply I have been reading some articles, some of them:


    Apparently it is going to be difficult to keep $HOME tidy. If you have some advice or trick to keep it “tidier”…

    Thanks anyway, I appreciate your help.

    • This is why using ~/.config which is most of the time the directory used by XDG_CONFIG_HOME is a good idea.

Leave a Reply

Your email address will not be published. Required fields are marked *