iSH: Pocket Linux That Runs on iOS
Apple’s restrictions on iOS and its apps haven’t stopped enthusiasts from experimenting with the system. iSH is one of the latest attempts to bring a Linux shell to iOS, running inside an x86 emulator.
Of course, you can’t just download iSH from the App Store-Apple typically doesn’t allow such apps. Instead, the developers used a loophole called TestFlight, Apple’s program for app testing. Installing iSH isn’t much harder: just install TestFlight and follow the appropriate link on the iSH website.
Once installed, you’re greeted by Alpine Linux-a minimalist distribution based on BusyBox, known for its fast boot times. You can run apk update
, apk upgrade
, and start installing packages with apk add <package-name>
. The system is almost bare-bones at first-not even curl
is included.
I tried installing and running Python-installation went smoothly, but the REPL crashed immediately with a “Bad System Call” error. Still, you can run scripts. Editors like Vim or nano can be used, though with some difficulty. For example, in nano, pressing Enter doesn’t work when saving a file, but you can use Ctrl-S and then Ctrl-X. In Vim, there are issues with the cursor in insert mode.
The project’s website has lists of what works and what doesn’t (compilers, for example, are supported). Essential tools like git and pip appear on both lists: they’re compatible, but you may encounter problems along the way.
Having a “toy” Linux on your phone is cute and fun, but it’s not clear how useful it really is. For example, I tried installing Nmap: it brought in 97 MB of dependencies and then crashed with an “Illegal Instruction” error when I tried to run it.
Since you don’t have access to hardware or the local network anyway, it’s usually more productive to use an SSH client (which are much more advanced than iSH) and connect to a remote Linux server. For local tasks, the Shortcuts app and Pythonista are more useful-and they work well together, too.