How kandoraq/miauterm works
Miauterm is an experimental Android terminal that runs Debian 13 ARM64 in PRoot. Users start the app, initialize or reuse the Debian root filesystem, launch shell sessions, and interact through terminal views; settings and file browsing provide adjacent workflows. The graph also preserves documented backup/restore, optional Android-folder sharing, themes, extra keys, and app-command access. Source excerpts establish selected wiring; broader runtime capabilities and constraints are taken from the README, so unsampled implementation details and links are omitted rather than inferred.
Main entry points: DebianRuntime.kt Debian setup · MainActivity.kt Terminal screen · SettingsActivity.kt Settings · TerminalSession.kt PTY session
Components 23
Android app
- Terminal screen
app/src/main/java/org/cortex/terminal/MainActivity.kt - Settings
app/src/main/java/org/cortex/terminal/SettingsActivity.kt - Linux file browser
app/src/main/java/org/cortex/terminal/DebianFilesActivity.kt - Theme styling
app/src/main/java/org/cortex/terminal/view/Chrome.kt
Debian runtime
- Debian setup
app/src/main/java/org/cortex/terminal/runtime/DebianRuntime.kt - Runtime environment
app/src/main/java/org/cortex/terminal/runtime/Environment.kt - Safe installation
app/src/main/java/org/cortex/terminal/runtime/FileInstaller.kt - ELF linker patching
app/src/main/java/org/cortex/terminal/runtime/ElfLinkerPatcher.kt - Backup and restore
app/src/main/java/org/cortex/terminal/runtime/DebianBackup.kt
Terminal sessions
- Session manager
app/src/main/java/org/cortex/terminal/session/SessionManager.kt - PTY session
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - Saved sessions
app/src/main/java/org/cortex/terminal/session/SessionStore.kt
Terminal engine
- Terminal emulator
core/terminal-engine/src/main/java/org/cortex/terminal/emulator/TerminalEmulator.kt - Terminal search
core/terminal-engine/src/main/java/org/cortex/terminal/emulator/TerminalSearch.kt - Native PTY
core/terminal-engine/src/main/cpp/cortex-pty.c - FSE codec
core/terminal-engine/src/main/cpp/zstd/common/fse.h - Zstd decompressor
core/terminal-engine/src/main/cpp/zstd/decompress/zstd_decompress.c
App integrations
- Foreground service
app/src/main/java/org/cortex/terminal/service/CortexService.kt - App command API
app/src/main/java/org/cortex/terminal/api/ApiCommands.kt - Local servers
app/src/main/java/org/cortex/terminal/service/LocalServers.kt
Other components
- Android user
- Debian shell
- Android folders
Connections 25
- Android user → Terminal screen: opens
README.md - Terminal screen → Foreground service: starts
app/src/main/java/org/cortex/terminal/MainActivity.kt - Terminal screen → Session manager: gets manager
app/src/main/java/org/cortex/terminal/MainActivity.kt - Terminal screen → Debian setup: prepares runtime
app/src/main/java/org/cortex/terminal/MainActivity.kt - Terminal screen → Linux file browser: opens browser
app/src/main/java/org/cortex/terminal/MainActivity.kt - Terminal screen → Settings: opens settings
app/src/main/java/org/cortex/terminal/MainActivity.kt - Settings → Backup and restore: exports backup
app/src/main/java/org/cortex/terminal/SettingsActivity.kt - Settings → Debian setup: runs operations
app/src/main/java/org/cortex/terminal/SettingsActivity.kt - Settings → Theme styling: styles dialogs
app/src/main/java/org/cortex/terminal/SettingsActivity.kt - Terminal screen → Theme styling: uses theme
app/src/main/java/org/cortex/terminal/MainActivity.kt - Debian setup → Runtime environment: provides paths
app/src/main/java/org/cortex/terminal/runtime/Environment.kt - Debian setup → Safe installation: installs files
app/src/main/java/org/cortex/terminal/runtime/DebianRuntime.kt - Debian setup → ELF linker patching: patches linkers
app/src/main/java/org/cortex/terminal/runtime/DebianRuntime.kt - Debian setup → Zstd decompressor: unpacks rootfs
README.md - Debian setup → Android folders: shares selected
README.md - Session manager → PTY session: creates sessions
app/src/main/java/org/cortex/terminal/session/SessionManager.kt - Session manager → Saved sessions: saves state
app/src/main/java/org/cortex/terminal/session/SessionManager.kt - PTY session → Debian setup: launches Debian
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - PTY session → Terminal emulator: feeds terminal data
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - PTY session → Native PTY: starts PTY
- Terminal search → Terminal emulator: searches buffer
core/terminal-engine/src/main/java/org/cortex/terminal/emulator/TerminalSearch.kt - Debian shell → App command API: invokes commands
README.md - Foreground service → App command API: starts API
app/src/main/java/org/cortex/terminal/service/CortexService.kt - Foreground service → Local servers: starts servers
app/src/main/java/org/cortex/terminal/service/CortexService.kt - FSE codec → Zstd decompressor: decodes entropy
core/terminal-engine/src/main/cpp/zstd/decompress/zstd_decompress.c