iSH
iOS app that runs an Alpine Linux shell locally by emulating x86 in user mode and translating Linux system calls.
iSH is an iOS app that runs a Linux shell on an iPhone or iPad. Apple does not allow apps to run native Linux binaries, so iSH emulates a 32-bit x86 processor in user mode and translates Linux system calls to their iOS equivalents. The default environment is Alpine Linux, so packages are installed with apk. It is written mostly in C with an Objective-C app layer and licensed under GPL-3.0, with additional terms in LICENSE.IOS. It suits people who want a local Unix environment on iOS for scripting, editing files or running small tools, rather than only a remote SSH client.
The terminal view is built on hterm, Chromium's JavaScript terminal, and the app adds an extra key row with Tab, Ctrl, Esc and arrow keys for the on-screen keyboard. Settings are changed in the app, including themes, fonts, the app icon and external keyboard behavior. Several root filesystems can be installed and switched between, and the filesystem is exposed to the iOS Files app through a file provider. iSH also maps iOS features into Linux, such as the clipboard and the device's location, as special files.
Because every instruction is emulated, programs run much more slowly than on a desktop, and some system calls are still unimplemented, so not every Alpine package works. There are no tabs or split panes within the app, no GPU renderer and no inline image support.
iSH is distributed on the App Store and through a TestFlight beta, and the Xcode project builds it for a personal device. The command-line build of ish for Linux and macOS is meant for testing and debugging the emulator, for example with the strace log channel or ptraceomatic, which single-steps a real process and compares registers.
iSH alternatives
Windows Terminal
Microsoft's terminal for Windows that hosts PowerShell, cmd and WSL shells in tabs and panes, with GPU text rendering and JSON settings.
gpu · mux · ligatures · images
Tabby
Cross-platform Electron terminal with a built-in SSH, Telnet and serial client, saved connection profiles and a plugin system.
mux · ligatures · images
Alacritty
Cross-platform OpenGL terminal emulator written in Rust, configured with a TOML file and leaving tabs and splits to a multiplexer like tmux.
gpu
Warp
Terminal written in Rust with an IDE-style command editor, command output grouped into blocks, and built-in AI agents.
gpu · ligatures
Termux
Android terminal emulator and Linux environment that installs packages through its own apt repository, no root required.
Ghostty
Terminal emulator written in Zig with GPU rendering and a native UI on each platform: Swift/AppKit on macOS, GTK on Linux.
gpu · mux · ligatures · images
add a badge to your README
Maintain iSH? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/terminals/ish?utm_source=badge)<a href="https://www.trmn.sh/terminals/ish?utm_source=badge"><img src="https://www.trmn.sh/badge/terminals/ish.svg" alt="Featured on trmn" height="20"></a>