SkillAgentSearch skills...

WSLCommander

A modern Windows desktop application for managing your Windows Subsystem for Linux (WSL2) distributions

Install / Use

/learn @hpconcept/WSLCommander
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

WSL Commander

A modern Windows desktop application for managing your Windows Subsystem for Linux (WSL2) distributions — built with Python and PyQt6 Fluent Widgets.

Python Platform Source License Binary License


Features

  • 📋 View all installed WSL distributions with live status and version info
  • ▶️ Launch a terminal for any distribution with a single click
  • Set a distribution as the system default
  • ⏹️ Stop a running distribution
  • 🗑️ Remove a distribution
  • 💾 Export a distribution to a .tar archive for backup or transfer
  • 📦 Install new distributions from the official online catalogue
  • 📂 Import a distribution from a .tar archive with a custom name and install location
  • 🔌 USB Sharing — list connected USB devices and manage their attachment to WSL
  • 🎨 Modern Fluent Design UI with automatic light/dark theme support

Screenshots

Installed Distributions

Distros Page

Install / Import a Distribution

Install Page

USB Device Management

USB Page


Requirements

  • Windows 10 or Windows 11 with WSL2 enabled
  • usbipd-win (optional — required for USB sharing functionality)

Enable WSL2 (if not already set up)

Open an elevated PowerShell and run:

wsl --install

Restart your machine before launching WSL Commander.

Install usbipd-win (for USB sharing)

USB device sharing requires usbipd-win. Install it via winget:

winget install usbipd

Or download the installer from the usbipd-win releases page.

Note: Without usbipd-win, the USB page will still open but no devices will be listed and attach/detach actions will not be available.


Running the Application

Option 1 — Pre-built Executable (no Python required)

  1. Download the latest release from the Releases page.
  2. Extract the zip archive.
  3. Run WSLCommander.exe from the extracted folder.

Note: The executable is self-contained. No Python or additional dependencies need to be installed.

Option 2 — Run from Source

Prerequisites: Python 3.10 or higher.

1. Clone the repository

git clone https://github.com/hpconcept/WSLCommander.git
cd WSLCommander

2. Create a virtual environment (recommended)

python -m venv .venv
.venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Run

python main.py

Building the Executable

The repository includes a PyInstaller spec file for building the standalone executable yourself.

1. Install dev dependencies

pip install -r requirements-dev.txt

2. Build

pyinstaller WSLCommander.spec --noconfirm

The output will be placed in dist\WSLCommander\WSLCommander.exe.


Project Structure

WSLCommander/
├── app/
│   ├── main_window.py        # Main application window
│   ├── models/               # Data models (Distro, UsbDevice)
│   ├── pages/                # UI pages (Distributions, Install, USB)
│   ├── utils/                # Helpers (logo resolver)
│   └── workers/              # Background QThread workers (WSL, USB)
├── assets/
│   ├── distros/              # Distribution logo images
│   └── icon/                 # Application icon
├── docs/
│   └── screenshots/          # Application screenshots
├── main.py                   # Entry point
├── requirements.txt          # Runtime dependencies
├── requirements-dev.txt      # Dev/build dependencies (includes PyInstaller)
├── WSLCommander.spec         # PyInstaller build spec
└── README.md

Dependencies

Runtime

| Package | License | Purpose | |---|---|---| | PyQt6>=6.6.0 | GPLv3 / Commercial | Qt6 Python bindings | | PyQt6-Fluent-Widgets[full]>=1.6.0 | GPLv3 (free tier) | Fluent Design UI component library |

Dev / Build

| Package | License | Purpose | |---|---|---| | PyInstaller | GPL + exception | Packaging into a standalone executable |


License

The source code of WSL Commander is licensed under the MIT License — see the LICENSE file for details.

The pre-built binary bundles PyQt6 and PyQt6-Fluent-Widgets, both of which are licensed under GPLv3. As a result, redistribution of the compiled binary is subject to the terms of the GNU General Public License v3.

If you require a license that is compatible with proprietary use, a commercial license for PyQt6 is available from Riverbank Computing and a commercial license for PyQt-Fluent-Widgets is available at qfluentwidgets.com.

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated10d ago
Forks1

Languages

Python

Security Score

95/100

Audited on Mar 14, 2026

No findings