A terminal menu for managing WSL distributions on Windows.
- List installed instances and available distributions
- Install, remove, start, stop and (eventually) rename instances
- Open a shell in any instance
Download the latest wsl_ctl-setup-*.exe from Releases and run it.
No admin rights needed as it installs to your user profile, adds itself to PATH, and creates a Start Menu entry.
Then open a new terminal or run it from the startmenu:
wsl_ctlNote
Requires WSL. If it's missing, install it with wsl.exe --install and reboot.
git clone <repo-url>
cd PythonProject1
python -m venv .venv
.venv\Scripts\activate
pip install -e ".[dev]"
python -m src.main.\build.ps1This writes the version files from pyproject.toml, builds dist\wsl_ctl.exe with PyInstaller, then compiles the installer to dist\installer\.
Needs Inno Setup for the last step:
winget install JRSoftware.InnoSetupTo release a new version, bump version in pyproject.toml and rebuild. Everything else picks it up automatically.
src/
ioHelper/ menu framework, shell command execution
Utils/ logging, config parsing
wsl_handler/ WSL operations
main.py entry point
build.ps1 version -> exe -> installer
installer.iss Inno Setup script
wsl_ctl not recognised — open a new terminal; PATH changes don't reach already-running ones.