Tablet Workdesk turns an Android tablet into a lightweight Linux office desktop using Termux, Debian proot, TigerVNC, noVNC, and AVNC/Chrome as clients.
It was built for low-cost study and development setups where a student may have an Android tablet and keyboard, but not a full laptop. The goal is a repeatable one-command workspace for writing documents, browsing, editing files, and using basic Linux tools.
Chinese documentation: README.zh-CN.md
Termux:X11 is powerful, but input behavior can be unstable on some tablets when Bluetooth keyboard and mouse events are routed through Android. Tablet Workdesk uses VNC/noVNC as the main path so Android or the browser owns input first.
The current flow is:
- Main path:
officeopens an AVNC-backed desktop. - Browser fallback: Chrome + noVNC on
127.0.0.1:6080. - Direct fallback: VNC on
127.0.0.1:5901. - Debug path: Termux:X11 is intentionally kept out of the default flow.
- Installs a Debian proot rootfs through Termux.
- Builds an XFCE desktop with Chinese locale and input support.
- Adds LibreOffice, Firefox ESR, file tools, fonts, and common utilities.
- Uses official noVNC and websockify sources from GitHub.
- Pins noVNC and websockify to reviewed upstream tags by default.
- Supports
standardandminimalinstall profiles. - Provides simple commands:
office,office-stop,office-status,office-vnc,office-uninstall,debian,i,s,bakoffice, andupoffice. - Keeps VNC and noVNC bound to localhost by default.
- Android tablet or phone with Termux.
- Termux installed from F-Droid or GitHub, not Google Play.
- Optional but recommended: AVNC or Chrome.
- Optional for PC deployment: ADB and PowerShell.
- Several GB of free storage for Debian, XFCE, LibreOffice, and browser packages.
Full guide: Install
From a PC with ADB:
.\scripts\deploy-to-tablet.ps1 -OpenTermuxThen run this inside Termux:
bash /sdcard/Download/tw.shManual copy also works: place scripts/install-tablet-workdesk.sh on the
tablet as /sdcard/Download/tw.sh, then run the same Termux command above.
Minimal install profile:
TABLET_WORKDESK_PROFILE=minimal bash /sdcard/Download/tw.shStart the desktop:
officeStop it:
office-stopCheck status:
office-statusUse direct VNC fallback:
office-vncUninstall wrappers and app state:
office-uninstallscripts/install-tablet-workdesk.shis the main Termux-side installer.scripts/deploy-to-tablet.ps1pushes the installer through ADB.scripts/finalize-office-lite-avnc.shswitches an installed environment to the current AVNC-first lite path.scripts/switch-office-to-avnc.shchanges the mainofficecommand to AVNC.scripts/tune-office-light.shapplies lower-resource VNC/XFCE settings.
This repository is in its first public release. The current focus is making the installer reproducible, documenting tested devices, and improving low-RAM profiles. See the open issues for the active roadmap.
The default VNC mode uses no password because it binds to localhost only. Do not
change the bind address to 0.0.0.0 unless you also add authentication and
understand the network exposure.
The installer downloads packages and clones upstream noVNC/websockify sources. Review the script before running it on a device that contains sensitive data.
- Collect tested device profiles for low-RAM tablets.
- Add a minimal install profile without LibreOffice.
- Add screenshots and a short troubleshooting guide.
- Add safer update rollback.
Before a public release, maintainers should run the checks in Maintainer workflow: Bash syntax, PowerShell syntax, shell-script line endings, and common accidental secret patterns.
Quick local check:
bash scripts/check-repo.shOn Windows:
.\scripts\check-repo.ps1Build release assets:
bash scripts/build-release-assets.sh- noVNC: https://github.com/novnc/noVNC
- websockify: https://github.com/novnc/websockify
- Termux: https://github.com/termux/termux-app
- AVNC: https://github.com/gujjwal00/avnc