Skip to content

Repository files navigation

WSL Controller

WSL Controller

A terminal menu for managing WSL distributions on Windows.


Latest release Downloads Stars Last commit Python 3.11+ Windows,Linux

What it does

  • List installed instances and available distributions
  • Install, remove, start, stop and (eventually) rename instances
  • Open a shell in any instance

Install

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_ctl

Note

Requires WSL. If it's missing, install it with wsl.exe --install and reboot.

Run from source

git clone <repo-url>
cd PythonProject1
python -m venv .venv
.venv\Scripts\activate
pip install -e ".[dev]"
python -m src.main

Build

.\build.ps1

This 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.InnoSetup

To release a new version, bump version in pyproject.toml and rebuild. Everything else picks it up automatically.

Layout

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

Troubleshooting

wsl_ctl not recognised — open a new terminal; PATH changes don't reach already-running ones.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages