https://github.com/yuk7/wsldl
Advanced WSL launcher / installer. (Win10 FCU x64/arm64 or later.)
https://github.com/yuk7/wsldl
linux windows-10 windows-11 windows-subsystem-linux windows-terminal wsl wsldl
Last synced: 4 days ago
JSON representation
Advanced WSL launcher / installer. (Win10 FCU x64/arm64 or later.)
- Host: GitHub
- URL: https://github.com/yuk7/wsldl
- Owner: yuk7
- License: mit
- Created: 2017-10-17T10:04:09.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-03-19T13:40:00.000Z (26 days ago)
- Last Synced: 2025-04-03T17:53:52.315Z (11 days ago)
- Topics: linux, windows-10, windows-11, windows-subsystem-linux, windows-terminal, wsl, wsldl
- Language: Go
- Homepage: https://git.io/wsldl
- Size: 2.34 MB
- Stars: 1,816
- Watchers: 32
- Forks: 135
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- stars - yuk7/wsldl
- jimsghstars - yuk7/wsldl - Advanced WSL launcher / installer. (Win10 FCU x64/arm64 or later.) (Go)
README
# wsldl
Advanced WSL Distribution Launcher / Installer
[](https://github.com/yuk7/wsldl/actions/workflows/ci.yml)
[](https://github.com/yuk7/wsldl/releases/latest)
[](http://makeapullrequest.com)
### [Detailed documentation is here](https://git.io/wsldl-doc)
## đź’»Requirements
* Windows 10 1709 Fall Creators Update or later(x64/arm64).
* Windows Subsystem for Linux feature is enabled.## 📦Install with Prebuilt Packages
[**You can see List on docs**](https://wsldl-pg.github.io/docs/Using-wsldl/#distros)**Note:**
Exe filename is using to the instance name to register.
If you rename it, you can register with a different name.## 🔧Install with any rootfs tarball
**Note:**
The filesystem needs to be in the root of the tarball, some rootfs tarballs may need to be repacked.#### 1. [Download wsldl.exe](https://github.com/yuk7/wsldl/releases/latest)
(wsldl.exe is x86_64, wsldl_arm64.exe is ARM64 build)
#### 2. Rename it for distribution name to register.
(Ex: Rename to Arch.exe if you want to use "Arch" for the Instance name)
#### 3. Put your install.tar(.gz) in same directory as exe (Installation directory)
#### 4. Run exe to install. This process may take a few minutes.## 🔧Install with any ext4 vhdx disk images (WSL2 only)
#### 1. [Download wsldl.exe](https://github.com/yuk7/wsldl/releases/latest)
(wsldl.exe is x86_64, wsldl_arm64.exe is ARM64 build)
#### 2. Rename it for distribution name to register.
(Ex: Rename to Arch.exe if you want to use "Arch" for the Instance name)
#### 3. Put your install.ext4.vhdx(.gz) in same directory as exe (Installation directory)
#### 4. Run exe to install. This process may take a few minutes.## đź”—Use as a Launcher for already installed distribution
#### 1. [Download wsldl.exe](https://github.com/yuk7/wsldl/releases/latest)
(wsldl.exe is x86_64, wsldl_arm64.exe is ARM64 build)
#### 2. Rename it for registerd instance name.
Please check the registered instance name of the distribution with `wslconfig /l` command.
(Ex: If the instance name is "Ubuntu-20.04", rename `wsldl.exe` to `Ubuntu-20.04.exe`)
#### 4. Run exe to Launch instance or configuration.
For details, please see the help. (`{InstanceName}.exe help`)Note: You can distribute your distribution including wsldl exe.
## đź“ťHow-to-Use(for Installed Instance)
#### exe Usage
```
Usage :
- Open a new shell with your default settings.
Inherit current directory (with exception that %%USERPROFILE%% is changed to $HOME).run
- Run the given command line in that instance. Inherit current directory.runp
- Run the given command line in that instance after converting its path.config [setting [value]]
- `--default-user `: Set the default user of this instance to .
- `--default-uid `: Set the default user uid of this instance to .
- `--append-path `: Switch of Append Windows PATH to $PATH
- `--mount-drive `: Switch of Mount drives
- `--wsl-version <1|2>`: Set the WSL version of this instance to <1 or 2>
- `--default-term `: Set default type of terminal window.get [setting [value]]
- `--default-uid`: Get the default user uid in this instance.
- `--append-path`: Get true/false status of Append Windows PATH to $PATH.
- `--mount-drive`: Get true/false status of Mount drives.
- `--wsl-version`: Get the version os the WSL (1/2) of this instance.
- `--default-term`: Get Default Terminal type of this instance launcher.
- `--wt-profile-name`: Get Profile Name from Windows Terminal
- `--lxguid`: Get WSL GUID key for this instance.backup [file name]
- `*.tar`: Output backup tar file.
- `*.tar.gz`: Output backup tar.gz file.
- `*.ext4.vhdx`: Output backup ext4.vhdx file. (WSL2 only)
- `*.ext4.vhdx.gz`: Output backup ext4.vhdx.gz file. (WSL2 only)
- `*.reg`: Output settings registry file.clean
- Uninstall that instance.help
- Print this usage message.
```#### Just Run exe
```cmd
>{InstanceName}.exe
[root@PC-NAME user]#
```#### Run with command line
```cmd
>{InstanceName}.exe run uname -r
4.4.0-43-Microsoft
```#### Run with command line with path translation
```cmd
>{InstanceName}.exe runp echo C:\Windows\System32\cmd.exe
/mnt/c/Windows/System32/cmd.exe
```#### Change Default User(id command required)
```cmd
>{InstanceName}.exe config --default-user user>{InstanceName}.exe
[user@PC-NAME dir]$
```#### Set "Windows Terminal" as default terminal
```cmd
>{InstanceName}.exe config --default-term wt
```#### How to uninstall instance
```cmd
>{InstanceName}.exe clean```
#### How-to-backup
export to backup.tar.gz (WSL1 or 2)
```cmd
>{InstanceName}.exe backup backup.tar.gz
```
export to backup.ext4.vhdx.gz (WSL2 only)
```cmd
>{InstanceName}.exe backup backup.ext4.vhdx.gz
```#### How-to-import
.tar(.gz) (WSL1 or 2)
```cmd
>{InstanceName}.exe install backup.tar.gz
```
.ext4.vhdx(.gz) (WSL2 only)
```cmd
>{InstanceName}.exe install backup.ext4.vhdx.gz
```## đź› How-to-Build
Please see [DEVELOPERS.md](DEVELOPERS.md)## đź“„License
[MIT](LICENSES.md)Copyright (c) 2017-2025 [yuk7](https://github.com/yuk7)