Scripts for setting up Termux and running Linux containers with development environments on Android.
- Initial Termux Setup
- Container Setup
- Development Servers (Web IDEs)
- Desktop Environment (GUI)
- Desktop Applications
- AI Assistant (ZeroClaw)
- Claude Telegram Bot
- Additional Tools
- Remote Control (Claude Code)
- Troubleshooting
Enable SSH to run commands from your computer. See WINDOWS_SSH.md.
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/setup_ssh.sh | bash
# Set password
passwdBetter terminal with autosuggestions and syntax highlighting.
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_zsh.sh | bashGrant Termux access to internal storage:
termux-setup-storageChoose one container type. Default username is legend (customize with export DESKTOP_USER=name before running).
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/setup_rooted_container_unattended.sh | bashEnter container:
ubuntu-chrootInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/setup_rootless_container_unattended.sh | bashEnter container:
ubuntu-prootNote: Both scripts prompt to install Zsh in the container (default: yes).
Access these in your browser. All run from Termux (not inside container).
Full-featured VS Code in browser with R and Python support.
Features:
- ✅ R environment (radian console, httpgd plots, Shiny with F5)
- ✅ Python environment (Ctrl+Enter to run)
- ✅ HTTPS support (clipboard/webviews work over LAN)
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_vscode_server_proot_unattended.sh | bashUsage:
vscode-server-proot-start # Start server
vscode-server-proot-stop # Stop serverAccess:
- 📱 Phone:
http://127.0.0.1:13338 - 💻 Laptop (ADB): Run
adb forward tcp:13338 tcp:13338, then openhttp://127.0.0.1:13338 - 💻 Laptop (LAN):
https://YOUR-PHONE-IP:13338(requires certificate setup)
HTTPS Setup (one-time, for LAN access with clipboard/webviews):
cert-server-proot
# Open http://YOUR-PHONE-IP:8889/setup on laptop and follow instructionsInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_vscode_server_chroot_unattended.sh | bashUsage:
vscode-server-chroot-start # Start server
vscode-server-chroot-stop # Stop serverAccess: http://127.0.0.1:13338
HTTPS Setup:
cert-server-chrootR statistical computing IDE.
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_rstudio_server_proot_unattended.sh | bashUsage:
rstudio-proot-start # Start server
rstudio-proot-stop # Stop serverAccess: http://127.0.0.1:8787
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_rstudio_server_chroot_unattended.sh | bashUsage:
rstudio-chroot-start # Start server
rstudio-chroot-stop # Stop serverAccess: http://127.0.0.1:8787
Full XFCE desktop via Termux:X11.
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_x11_desktop_rootless_unattended.sh | bashInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_x11_desktop_root_unattended.sh | bashRun these inside the container (ubuntu-proot or ubuntu-chroot).
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_firefox.sh | bashInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_vscode.sh | bashLaunch:
code-prootInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_rstudio_desktop.sh | bashLaunch:
rstudio-prootInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_app_manager.sh | bashInstall:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_desktopify.sh | bashLightweight AI agent (~3MB) with Telegram bot support. Runs in the chroot container using OpenAI (ChatGPT OAuth or API key).
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_zeroclaw_chroot_unattended.sh | bashSetup (ChatGPT OAuth — no API key needed):
zeroclaw-chroot onboard --provider openai-codex
zeroclaw-chroot auth login --provider openai-codex
# Open the URL in a browser, log in, paste the redirect URL:
zeroclaw-chroot auth paste-redirect --provider openai-codex --input 'REDIRECT_URL'Setup (API key):
zeroclaw-chroot onboard --api-key sk-... --provider openaiTelegram bot (optional):
# 1. Get a bot token from @BotFather on Telegram
# 2. Add the channel:
zeroclaw-chroot channel add telegram '{"bot_token":"YOUR_TOKEN","name":"my-bot"}'
# 3. Start daemon and note the bind code:
zeroclaw-chroot-daemon
# 4. Send /bind <code> to your bot in TelegramUsage:
zeroclaw-chroot agent # interactive chat
zeroclaw-chroot-daemon # background service + TelegramChat with Claude via Telegram. Uses Claude CLI authentication (requires Claude/Anthropic subscription). Runs in the chroot container.
Install:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/termux-scripts/install_claude_telegram_bot_chroot_unattended.sh | bashSetup:
# Authenticate Claude CLI (opens browser):
ubuntu-chroot claude auth loginUsage:
claude-bot # start bot daemon
claude-bot --off # stop bot daemon
claude-bot --status # check if running
claude-bot --log # tail the logInstall (inside container):
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_r_binaries.sh | bashInstall (inside container):
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/install_zsh.sh | bashNote: Also prompted during container setup.
Let a remote Claude Code instance control your phone via SSH reverse tunnel + ADB + Termux:API. No Tailscale needed after initial setup.
Capabilities: screenshots, tap/swipe/type, open apps, read notifications, dump UI, clipboard, camera, SMS, TTS, sensors, and more.
📖 Full guide: REMOTE_CONTROL_SETUP.md
Run inside container:
curl -fsSL https://raw.githubusercontent.com/Fr4nzz/Termux-Fr4nz/refs/heads/main/container-scripts/apt_heal.sh | bashPrevent Android from killing Termux during long tasks.
Acquire wakelock:
termux-wake-lockRelease wakelock:
termux-wake-unlockWhitelist via ADB (from computer):
adb shell cmd deviceidle whitelist +com.termuxrurima lxc list- Container Setup: ENTERING_CONTAINER_ROOT.md / ENTERING_CONTAINER_NO_ROOT.md
- Desktop Setup: RUN_X11_DESKTOP_ROOT.md / RUN_X11_DESKTOP_NO_ROOT.md
- R Installation: INSTALL_R_BINARIES.md
- RStudio Server: INSTALL_RStudio_Server.md
- SSH from Windows: WINDOWS_SSH.md
- Remote Control (Claude Code ↔ Phone): REMOTE_CONTROL_SETUP.md
- Servers bind to
127.0.0.1by default (safe for same-device) - For LAN access with security:
- code-server: Add
--auth passwordand setPASSWORDenv var - openvscode-server: Remove
--without-connection-tokenand use a token - VS Code Server HTTPS: Use
cert-serverto set up certificates
- code-server: Add