# html-terminal **Repository Path**: mirrors_regular/html-terminal ## Basic Information - **Project Name**: html-terminal - **Description**: A terminal emulator based on web technologies - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README html-terminal === Terminal emulator based on web technologies. ## TL;DR > I heard you like the terminal and the web, so I put a terminal in your browser and an HTML renderer in your terminal, so you can hack while you browse and browse while you hack! html-terminal is a terminal emulator based on [hterm][1] that runs in a minimal, clutter-free [webkitg2gtk][2] webView that covers the entire screen. It is designed to be run on top of [weston compositor][3]. The back-end (terminal-server) runs on nodejs and communicates with hterm via websockets using [substack's shoe][4]. It is desinged to be started via [systemd][5]. This is part of [htmshell][6]. ## Installation ### Arch Linux #### Dependencies ``` pacman -S nodejs weston ``` and from AUR: [webkit2gtk-unstable](https://aur.archlinux.org/packages/webkit2gtk-unstable/) ``` npm i cp build/node-terminal-server.service /etc/systemd/system/ cp build/html-terminal.service /etc/systemd/system/ systemctl daemon-reload systemctl start node-terminal-server ``` Make sure your `/etc/systemd/system/weston.service` looks somewhat like mine: ``` [Unit] Description=weston RequiresMountsFor=/run Requires=dbus.service systemd-udevd.service After=dbus.service systemd-udevd.service [Service] Type=notify NotifyAccess=all WatchdogSec=20s ExecStartPre=/bin/mkdir -p /var/run/root/1000 ExecStartPre=/bin/chmod 0700 /var/run/root/1000 ExecStart=/usr/bin/openvt -v -e /usr/bin/weston -- --modules=systemd-notify.so --backend=drm-backend.so --log=/var/log/weston.log ExecStartPost=/usr/bin/bash -c "env > /var/run/root/1000/environment" Nice=-20 Environment=XDG_RUNTIME_DIR=/var/run/root/1000 [Install] WantedBy=multi-user.target ``` # Future Plans Invent custom [ANSI Escape Sequence][7] to support rendering of HTML snippets inside the terminal window. [1]: https://github.com/macton/hterm [2]: https://directory.fsf.org/wiki/Webkit2gtk [3]: https://github.com/wayland-project/weston [4]: https://github.com/substack/shoe [5]: https://en.wikipedia.org/wiki/Systemd [6]: https://github.com/regular/htmshell [7]: https://en.wikipedia.org/wiki/ANSI_escape_code