The LinPad manual
How to use the desktop, the keyboard, themes, apps and fast mode. The shortcut tables are generated from the app's own key binding table, so they match the build.
Getting started
Install LinPad with the install guide. On first launch it unpacks its Linux system, then a setup walks you through a layout, a colour theme, a wallpaper, optional apps, fast mode and the keyboard.
The desktop has a terminal, Files, Themes and Trash on it. ⌃⌥A opens Applications, ⌃⌥T a terminal, ⌘K the command menu and ⌘/ every shortcut.
The desktop draft
Windows move by their title bar and resize from any edge. Drag a title bar to a screen edge to snap it to a half or a quarter. Double-tap a title bar to maximise. Touch and hold, or a two-finger click, opens a context menu anywhere: the desktop, Files, title bars, the taskbar and inside Linux apps.
The panel holds quick settings (volume, brightness, appearance, layout, tiling, battery, network, fast mode), the notification centre with Do Not Disturb, and the lock screen.
Keyboard and trackpad
Desktop shortcuts use ⌃⌥ (Control-Option), which neither iPadOS nor shells use much. ⌘ belongs to the focused app: ⌘S saves, ⌘W closes a tab in VS Code. iPadOS keeps ⌘Tab, ⌘Space and ⌘H. You can move the general commands to ⌘ in Settings › Keyboard Shortcuts; this table shows the default.
General
| Action | Keys |
|---|---|
| Applications | ⌃⌥A |
| Run Command… | ⌃⌥R |
| New Terminal | ⌃⌥T |
| Command Menu | ⌘K |
| Menu by Section | ⌃⌥⇧M |
| Clipboard History | ⌃⌥V |
| Clipboard History | ⌘⇧V |
| Keyboard Shortcuts | ⌘/ |
| Screenshot | ⌃⌥S |
| Screenshot of an Area | ⌃⌥⇧S |
| Screenshot of the Window | ⌃⌥⇧W |
| Start or Stop Screen Recording | ⌃⌥⇧R |
| Color Themes | ⌃⌥⇧Space |
| Next Color Theme | ⌃⌥⇧C |
| Next Wallpaper | ⌃⌥⇧B |
| Overview | ⌃⌥O |
Windows
| Action | Keys |
|---|---|
| Switch Windows | ⌥Tab |
| Switch Windows Backwards | ⌥⇧Tab |
| Close Window | ⌃⌥W |
| Minimize Window | ⌃⌥M |
| Toggle Maximize | ⌃⌥↩ |
| Center Window | ⌃⌥C |
| Always on Top | ⌃⌥P |
Tiling
| Action | Keys |
|---|---|
| Toggle Auto-Tiling | ⌃⌥⇧T |
| Gaps, Borders and Rounding Off | ⌃⌥⇧⌫ |
| Next Tiling Layout | ⌃⌥\\ |
| Float Window | ⌃⌥F |
| Focus Tile Left | ⌃⌥H |
| Focus Tile Right | ⌃⌥L |
| Move Tile Left | ⌃⌥⇧H |
| Move Tile Down | ⌃⌥⇧J |
| Move Tile Up | ⌃⌥⇧K |
| Move Tile Right | ⌃⌥⇧L |
Snapping
| Action | Keys |
|---|---|
| Snap Bottom Left · Tile Below | ⌃⌥J |
| Snap Bottom Right · Tile Above | ⌃⌥K |
| Snap Left Half | ⌃⌥← |
| Snap Right Half | ⌃⌥→ |
| Maximize | ⌃⌥↑ |
| Restore or Minimize | ⌃⌥↓ |
| Snap Top Left | ⌃⌥U |
| Snap Top Right | ⌃⌥I |
Workspaces
| Action | Keys |
|---|---|
| Previous Workspace | ⌃⌥[ |
| New Workspace | ⌃⌥N |
| Next Workspace | ⌃⌥] |
| Go to workspace 1 to 9 | ⌃⌥1 … ⌃⌥9 |
| Move window to workspace 1 to 9 | ⌃⌥⇧1 … ⌃⌥⇧9 |
Gestures
| Gesture | Action |
|---|---|
| Two-finger click | Right-click |
| Three-finger swipe up | Overview |
| Three-finger swipe sideways | Switch workspace |
| Drag a title bar to an edge | Snap to a half or quarter |
| Touch and hold | Context menu |
Linux apps currently receive a US keyboard layout regardless of the iPad's layout. Following the iPad's layout is planned.
Tiling and workspaces draft
Turn auto-tiling on per workspace with ⌃⌥⇧T. Layouts: master-stack, columns, grid and monocle; cycle with ⌃⌥\. ⌃⌥H J K L move focus, add ⇧ to move the tile. ⌃⌥F floats a window. ⌃⌥⇧⌫ turns gaps, borders and rounding off.
There are up to nine workspaces. The overview (⌃⌥O) shows them all; drag a window onto another workspace to move it.
Themes and looks
A look sets layout, window chrome, colours, wallpaper and fonts together. A colour theme recolours the desktop and Linux apps. An icon pack is independent of both. See the theme gallery.
- Pick a colour theme: ⌃⌥⇧Space. Next theme: ⌃⌥⇧C. Next wallpaper: ⌃⌥⇧B.
- Install a theme from a git URL in Omarchy's format, or open a
linpad://theme/install?url=…link. - Share your colour theme or your whole look from the Themes app as a link or a
colors.toml.
Linux apps that are already open keep their old GTK theme until restarted. A layout switch can take tens of seconds while caches rebuild.
Apps and packages
The base system includes Firefox, the foot terminal, Thunar, Mousepad, Node 22, npm, git and Python. Everything else is a pack in Settings › Apps, or any Alpine package with apk add in a terminal or the Packages app.
| Pack | What it adds |
|---|---|
| Claws Mail | Fast, light email client (GTK). |
| Thunderbird | Mozilla's full email client. |
| PDF viewer (zathura) | Keyboard-driven document viewer with the MuPDF backend. |
| LibreOffice experimental | Writer, Calc and Impress. |
| GIMP | Raster image editor (GIMP 2.10, runs through its own Xwayland). |
| Image viewer (Ristretto) | Light image viewer from Xfce, the same family as Thunar. |
| Archive manager (Xarchiver) | Open and create zip, tar, 7z and other archives. |
| Visual Studio Code | Microsoft's VS Code, downloaded from code.visualstudio.com on this iPad. |
| Claude Code | Anthropic's AI coding agent for the terminal (the claude command), installed from npm on this iPad. |
| Windows apps (Wine) experimental | Runs Windows programs built for ARM64 (Notepad++, 7-Zip, PuTTY, Wine's own Notepad, Minesweeper and settings) in one Windows desktop window. |
| Windows x86 apps (Wine + Box64) experimental | Adds 32- and 64-bit Intel Windows programs to Wine through the Box64 translator (installs Windows apps (Wine) too). |
| VLC media player | Plays video and audio files, with LinPad's native video window and sound. |
| Extra browsers (Falkon, Dillo) experimental | Falkon (Qt WebEngine) and Dillo (tiny, X11). |
| Developer extras experimental | Python 3 with pip, C/C++ toolchain (build-base, cmake), Go and Rust. |
| GPU tools | glxinfo, eglinfo and the Mesa demos for checking the Venus/zink GPU path (vulkaninfo and vkcube are already installed). |
| Camera (Cheese) | Take photos and videos with the iPad's front and back cameras, which LinPad passes to Linux as webcams. |
| Document Scanner (OCR) | Photograph pages with the iPad camera and get a searchable PDF plus the text (Tesseract OCR, English and Romanian), saved in ~/Documents/Scans. |
| Sound Recorder | Record from the iPad's microphone, with pause, playback and a list of recordings (GNOME Sound Recorder). |
| Notes (Zim) | A notebook of linked pages with checklists, images and search (Zim Desktop Wiki). |
| Calendar and to-dos (calcurse) | A small calendar and to-do list for the terminal. |
| Persistent terminals (tmux) | Linux terminal windows run inside tmux: closing a window or restarting the desktop session keeps its shell and programs running, and the next terminal window reattaches to them. |
Files and iPad folders draft
Files is a Thunar-style file manager with Trash, Open With and Properties. The desktop is a real folder. Add iPad folders (iCloud Drive, On My iPad, other apps' folders) and they appear under /mnt/ipad/<name> in Linux. Press Space on a file for Quick Look. Drag and drop and the clipboard work between Linux apps, LinPad and other iPad apps.
Fast mode
Fast mode runs Linux programs as native ARM64 code through a JIT. iPadOS allows that only while a debugger is attached, so LinPad hands off to StikDebug at launch. Setup is in the install guide; Settings › Fast Mode checks each step and can test it. The splash screen and Quick Settings show whether the JIT is on.
Updates and repair
- App: LinPad checks GitHub at launch and every 6 hours (never in Low Data Mode) and opens your sideloader to update.
- Linux system: downloads in the background, verified with SHA-256, installed at the next launch.
/root,/home,/optand/srvare kept. - Packages:
apk upgradewith one tap, with a weekly check. - Repair: Settings › Maintenance › Repair re-applies LinPad's own files, for example after an upgrade overwrote a patched package. Reset can keep your files.
Developer setup draft
Node 22, npm, git and Python are in the base system. Visual Studio Code (Microsoft's build, about 900 MB) and Claude Code install from Settings › Apps. Developer extras adds a C/C++ toolchain, Go and Rust experimental. A Vite demo project lives in /root/projects/demo.
To be written: SSH keys and remotes, reaching a dev server from Safari, memory tips for VS Code.
Troubleshooting draft
- LinPad closed by itself. iPadOS closes apps that use too much memory. Close Firefox tabs or VS Code windows you do not need.
- An app looks broken after an upgrade. Settings › Maintenance › Repair.
- Fast mode does not turn on. Check LocalDevVPN is connected and StikDebug has a pairing file, then Settings › Fast Mode › Test now.
- The app expired. Refresh it in SideStore, or reinstall the IPA over it. Do not delete it first.
- Still stuck? Ask in GitHub Discussions or open an issue.