Thanks for your interest in
isle, Integrated System Linux Environment.
Isle is currently in alpha, but working relatively stably! This page will document features and known issues!
Isle is a bit like WSL (Windows Subsystem for Linux) for Mac.
Download the linux zip file from the release URL, unzip it, and put the executable in your $PATH. Then run
linux, and enjoy Linux!
- Start a linux shell:
- Stop the background VM:
- Start the VM in the foreground to allow for easy debugging:
- Get information on what options are available
- The default root password is
- Your users password is the same as your username
- Once sudo is installed in, your user will have sudo access.
- Automatic port forwarding: If a program listens on 0.0.0.0 within linux, that same port will be forwarded to it from your mac. Makes it easy to do most types of web development. NOTE: There is up to a 10 second delay before the port is detected as open.
- File sharing: Within linux, you’ll find that ~/mac contains your home directory on the mac. And also ~/linux/home on mac contains the home directory within linux! These are relatively fast, but they do cross machine boundaries.
- Runs OCI images: All the linux environments are spawned by fetching an OCI image, unpacking it, and running a shell. Ubuntu is the default, but you can use any you like.
- Upon starting, sometimes users will get a disconnection error. Wait a second and retry a couple times. This is happening because there is a race condition in detecting that the VM is ready to access connections.
Virtual Machine Serviceon intel takes up a lot of cpu when idle, currently investigating why.
Isle uses Virtualization.framework, built into macs since 11.0, to spawn a linux VM.It then uses runc within the VM to provide distro-specific environments.MacOS 12.0+ is required as it uses the file sharing APIs that were added in 12.0 to provide access to the MacOS filesystem within linux.
- Ability to run background services by default without weird .profile hacks
- Perhaps a sort of “App Store” setup where you could add things like docker or tailscale to install and then run by default