DomTerm – A terminal Emulator and Console for Linux

DomTerm is a free open-source feature-rich, modern terminal emulator and screen multiplexer (like tmux or GNU screen), which is based on web technologies and a rich-text console written mostly in JavaScript.

It uses libwebsockets as a backend and a byte-protocol to communicate with the back-end, this implies that you can invoke it in a browser using web sockets; embed it in a third-party application; or simply run it as a generic terminal emulator program.

DomTerm Terminal Emulator for Linux
DomTerm Terminal Emulator for Linux

DomTerm Features:

  • It is xterm-compatible and supports multiple sub-commands.
  • It comes with multiple applications which include a: xterm-compatible terminal emulator, command console, chat/talk window and a read-eval-print-loop for an interactive scripting language.
  • Supports multiplexing and sessions.
  • Its back-end allows for printing images, graphics as well as rich text.
  • Supports controlling of user preferences via a CSS file.
  • Supports keyboard shortcuts with smart line-wrapping.<./li>
  • Optionally allows for input editing and movement of cursor using mouse.
  • Supports preserving of TAB characters with automatic pagination.
  • Support draggable tabs and panes.
  • Automatically turn URLs and mail addresses in output into links and much more.
  • An experimental package atom-domterm for the Atom editor.

How to Install DomTerm Terminal Emulator in Linux

There are no pre-built DomTerm packages available, therefore you need to install it from source, but before downloading the source code and compiling it. First you need to install following dependencies on your respective Linux distributions using package manager as shown.

On Debian/Ubuntu

$ sudo apt-get update
$ sudo apt-get install git gcc make cmake automake libjson-c-dev pkg-config asciidoctor libmagic-dev zlib1g-dev qt5-qmake qt5-default libqt5webengine5 libqt5webchannel5-dev qtwebengine5-dev

On RHEL/CentOS

$ sudo yum update
$ sudo yum install gcc make automake autoconf texinfo patch libwebsockets libwebsockets-devel json-c json-c-devel openssl-devel file-devel libcap-devel asciidoctor

On Fedora

$ sudo dnf update
$ sudo dnf install gcc make automake autoconf texinfo patch libwebsockets libwebsockets-devel json-c json-c-devel openssl-devel file-devel libcap-devel asciidoctor

DomTerm also requires libwebsockets version 2.2 or later. Therefore, you need to build and install the latest version from source as shown.

$ cd ~/Downloads
$ git clone https://github.com/warmcat/libwebsockets
$ cd libwebsockets
$ mkdir build
$ cd build
$ cmake -DLWS_WITH_SSL=0 -DLWS_WITH_ZIP_FOPS=1 . .
$ make

Next clone the DomTerm source repository, build and install it using the following commands.

$ cd ~/Downloads/
$ git clone https://github.com/PerBothner/DomTerm
$ cd DomTerm
$ autoreconf
$ ./configure --with-qtwebengine --with-libwebsockets=$HOME/Downloads/libwebsockets/build
$ make
$ sudo make install

Once you have successfully installed DomTerm on your Linux distribution, you can search for it from your system menu or run the following command to launch it.

$ domterm

DomTerm Homepage: https://domterm.org/

That’s all! DomTerm is a full-featured terminal emulator and a rich-text console, it also comes with several other useful applications. Share your thoughts about it via the feedback form below.

Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

2 Comments

Leave a Reply
  1. What does this terminal emulator do that many of the scores of terminal emulators already available for Linux don’t? Why would one want to use it, in preference to any of those? What’s the point of this me-too effort? An exercise by somebody to prove that they have the chops to develop a terminal emulator?

    Reply
    • How really different from each other are the 70+ desktop environments and window managers? How really different from each other are the countless respins of Ubuntu? What’s the point of this me-too effort? An exercise by somebody to prove that they have the chops to develop a desktop environment, window manager or a distro?

      DomTerm just gives the terminal a little different look than other terminal emulators. The developer only carried on the Linux principle of freedom of expression; the Linux attitude that if it is good to have 5 versions of some software, having 20 or 50 is that much better. All this development of slightly different versions of software is not really making Linux better, only more balkanized.

      Reply

Leave a Reply to QWQ Cancel reply

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.