How synccatcode/miauterm works
Miauterm is an experimental Android terminal running Debian 13 ARM64 under PRoot. The main user workflow is first-run rootfs installation, then opening a terminal session that launches Debian through a PTY and displays the shell in the terminal UI. Separate branches cover session restore, Linux file management, backup/reset and settings, and optional app commands/local services. The graph uses README statements and the supplied excerpts/index; unsampled subsystem details and links are kept conservative.
Main entry points: MainActivity.kt Terminal screen · TerminalSession.kt Debian session · CortexService.kt Foreground service · ApiCommands.kt miauterm-cmd actions
Components 20
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 installer
app/src/main/java/org/cortex/terminal/runtime/DebianRuntime.kt - Runtime environment
app/src/main/java/org/cortex/terminal/runtime/Environment.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 - Saved sessions
app/src/main/java/org/cortex/terminal/session/SessionStore.kt - Debian session
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - Terminal view
app/src/main/java/org/cortex/terminal/view/TerminalView.kt
Terminal engine
- Terminal emulator
core/terminal-engine/src/main/java/org/cortex/terminal/emulator/TerminalEmulator.kt - PTY process
core/terminal-engine/src/main/java/org/cortex/terminal/pty/PtyProcess.kt - Native PTY
core/terminal-engine/src/main/java/org/cortex/terminal/pty/PtyNative.kt
App integrations
- Foreground service
app/src/main/java/org/cortex/terminal/service/CortexService.kt - App command server
app/src/main/java/org/cortex/terminal/api/ApiServer.kt - miauterm-cmd actions
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
Connections 25
- Android user → Terminal screen: opens terminal
README.md - Terminal screen → Foreground service: starts service
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 installer: ensures Debian
app/src/main/java/org/cortex/terminal/MainActivity.kt - Debian installer → ELF linker patching: patches linkers
app/src/main/java/org/cortex/terminal/runtime/DebianRuntime.kt - Runtime environment → Debian installer: builds environment
app/src/main/java/org/cortex/terminal/runtime/Environment.kt - Session manager → Debian 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 - Debian session → Debian installer: launches Debian
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - Debian session → Runtime environment: reads environment
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - Debian session → PTY process: starts PTY
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - Debian session → Terminal emulator: feeds terminal output
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt - PTY process → Native PTY: uses native PTY
core/terminal-engine/src/main/java/org/cortex/terminal/pty/PtyProcess.kt - Terminal screen → Terminal view: shows terminal
app/src/main/java/org/cortex/terminal/MainActivity.kt - Terminal screen → Settings: opens settings
app/src/main/java/org/cortex/terminal/MainActivity.kt - Terminal screen → Linux file browser: opens files
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 → Theme styling: styles dialogs
app/src/main/java/org/cortex/terminal/SettingsActivity.kt - Linux file browser → Runtime environment: locates Debian files
app/src/main/java/org/cortex/terminal/DebianFilesActivity.kt - Foreground service → App command server: starts server
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 - Android user → miauterm-cmd actions: runs shell command
README.md - miauterm-cmd actions → Foreground service: invokes app functions
app/src/main/java/org/cortex/terminal/api/ApiCommands.kt - miauterm-cmd actions → Terminal screen: requests terminal actions
app/src/main/java/org/cortex/terminal/api/ApiCommands.kt - Debian session → miauterm-cmd actions: reports command events
app/src/main/java/org/cortex/terminal/session/TerminalSession.kt