Modern Android terminal emulator with multiple sessions, fit-to-screen extra keys, UTF-8, and Arabic/RTL rendering.
ThothTerm Terminal Emulator is a standalone Android terminal emulator built for people who want a clean, capable command-line environment on Android without carrying a full Linux distribution inside the app.
It connects to Android’s shell through a real PTY, supports multiple terminal windows, keeps sessions owned by a foreground service, provides a compact extra-keys toolbar for terminal work, and includes modern Unicode rendering with Arabic contextual shaping and bidirectional text support.
The current stable product is the terminal-emulator edition:
-
Package:
com.thothterm -
Version:
1.0.0(versionCode 10000) -
Golden tag:
terminal-v1.0.0 -
Android: API 16+ (
minSdk 16,targetSdk 36,compileSdk 36) -
ABIs:
arm64-v8a,armeabi-v7a,x86,x86_64
|
Important
|
This edition does not contain Ubuntu, PRoot, apt, or an embedded Linux root filesystem. A separate ThothTerm Linux edition is planned; see Editions. |
-
Real Android PTY/process integration.
-
Multiple terminal windows with a dedicated Windows list.
-
Sessions are owned by the foreground
TermService, allowing the UI to be recreated without destroying active sessions. -
Supported terminal types include
vt100,screen(default),linux, andxterm. -
UTF-8 terminal support.
-
Terminal cursor/cell alignment and right-edge clipping fixes.
-
Friendly
app_HOMEprompt while preserving the real filesystem path for commands such aspwd. -
Dark, Light, System, and AMOLED application themes.
The toolbar is designed to fit normal phone widths without horizontal scrolling.
NAV page
ESC · CTRL · ALT · TAB · HOME · END · ← · ↓ · ↑ · → · SYM
SYM page
PGUP · PGDN · INS · DEL plus common shell symbols such as |, /, ~, _, -, =, and +.
CTRL and ALT support both one-shot and locked modifier states.
ThothTerm includes renderer-level support for:
-
Arabic contextual shaping.
-
Unicode BiDi visual ordering.
-
Mixed Arabic, English, and numeric terminal lines.
-
Natural Arabic glyph advances without artificial letter stretching.
-
Logical-to-visual cursor and selection mapping.
-
LTR terminal-row semantics preserved while genuine RTL runs are reordered in place.
The PTY data and terminal buffer remain logical Unicode text; Arabic support is a rendering feature, not string reversal or presentation-form rewriting.
Install a testing APK from the 1.0.0 Golden Release, launch ThothTerm, and start using the Android shell.
The default home prompt is intentionally compact:
app_HOME $Subdirectories remain visible:
app_HOME/projects $The actual filesystem location is unchanged. pwd still reports the real Android path.
|
Caution
|
The attached *-debug.apk files are signed with the Android debug key and are intended for device testing. The release APK/AAB outputs are currently unsigned because no production ThothTerm signing identity has been configured.
|
ThothTerm is designed as two independently installable products sharing the same terminal engine.
| ThothTerm Terminal Emulator | ThothTerm Linux | |
|---|---|---|
Application ID |
|
|
Status |
Released — 1.0.0 Golden Baseline |
Planned / not implemented yet |
Purpose |
Standalone Android terminal emulator |
Linux development workspace for Android |
Runtime |
Android shell / PTY |
Embedded Ubuntu ARM64 runtime (planned) |
Distribution size |
Lightweight terminal application |
Larger Linux/runtime payload (planned) |
Both application IDs are intentionally distinct so the editions can coexist on one Android device without sharing application data or signatures.
See EDITION_PLAN.md for the architecture and coexistence plan.
ThothTerm keeps the terminal engine separate from the Android application layer.
Android UI
|
v
TermActivity / Term controller
|
v
Foreground TermService
|
v
SessionList
|
v
ShellTermSession
|
+--> /dev/ptmx
+--> Process / TermIO JNI
+--> libterm-system.so
TermView / EmulatorView
|
v
TermSession / TerminalEmulatorMain modules:
emulatorview/-
Terminal parser, screen/transcript model, rendering, selection, key handling, Unicode/BiDi rendering.
libtermexec/-
Native PTY/process and terminal-control JNI layer.
term/-
Android application layer: activities, service, settings, resources, installer/bootstrap logic, extra keys, themes, menus, and product flavors.
The future Linux edition is planned to reuse emulatorview and libtermexec rather than fork the terminal engine.
The 1.0 golden baseline was built with:
| Component | Version |
|---|---|
JDK |
17 |
Gradle wrapper |
9.7.1 |
Android Gradle Plugin |
9.4.0 |
Android SDK |
compile/target 36 |
Android Build Tools |
37.0.0 |
Android NDK |
23.2.8568313 |
CMake |
3.22.1 |
./gradlew :term:clean :term:assembleFullDebug -x :term:elfcleanerPlay-flavor debug build:
./gradlew :term:clean :term:assemblePlayDebug -x :term:elfcleanerThe project currently references an external host elf-cleaner tool for an optional cleanup step. If it is not installed, the documented baseline build skips that task with -x :term:elfcleaner.
The project can produce Full/Play release APKs and AABs. The 1.0 baseline release artifacts are unsigned until a dedicated production signing identity is configured.
Exact build commands, artifact sizes, SHA-256 values, package IDs, and signing status are recorded in GOLDEN_BASELINE.md.
terminal-v1.0.0 is the immutable recovery point for the accepted terminal-only release.
git fetch --tags
git checkout terminal-v1.0.0
# Preferred: work from a recovery branch
git switch -c recovery/terminal-v1.0.0 terminal-v1.0.0The full release manifest is in GOLDEN_BASELINE.md.
-
Stable terminal baseline: 1.0.0.
-
master: stable/documented terminal baseline. -
feature/thotterm-linux: development branch reserved for the future Linux edition. -
Production signing: pending.
-
Lint baseline: 1 pre-existing predictive-back error and 67 warnings.
-
Gradle unit-test tasks currently report
NO-SOURCE.
Known technical-debt items are documented in GOLDEN_BASELINE.md and THOTHTERM_HANDOFF.md.
The roadmap is intentionally staged so the released terminal baseline remains recoverable.
-
Diagnostics / Logging
-
Structured app/session/runtime logging.
-
User-visible diagnostics screen.
-
Safe log export without terminal input, API keys, passwords, or other secrets.
-
-
ThothTerm Linux
-
Separate installable application:
com.thothterm.linux. -
Planned embedded Ubuntu 26.04 LTS ARM64 environment.
-
One-hit UX: install, open, and enter the Linux terminal without manual distro setup.
-
Shared terminal/PTY engine with the terminal-emulator edition.
-
-
Linux integration and runtime polish
-
Multi-session integration on one Linux rootfs.
-
Background/runtime controls.
-
Storage and Android integration.
-
-
Web Terminal / LAN Mode
-
Browser access from another device on the local network.
-
Authentication and temporary access tokens.
-
No automatic Internet exposure or port forwarding.
-
Roadmap items are plans, not features of the current 1.0.0 terminal release.
ThothTerm Terminal Emulator — a focused Android terminal today, with a separate Linux workspace edition planned for tomorrow.