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 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.