• Stars
    star
    1,724
  • Rank 26,855 (Top 0.6 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 7 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Advanced WSL launcher / installer. (Win10 FCU x64/arm64 or later.)

wsldl

Advanced WSL Distribution Launcher / Installer

screenshot

GitHub Workflow Status Github All Releases PRs Welcome License

Detailed documentation is here

πŸ’»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

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

(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

(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

(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 :
    <no args>
      - Open a new shell with your default settings.

    run <command line>
      - Run the given command line in that instance. Inherit current directory.

    runp <command line (includes windows path)>
      - Run the given command line in that instance after converting its path.

    config [setting [value]]
      - `--default-user <user>`: Set the default user of this instance to <user>.
      - `--default-uid <uid>`: Set the default user uid of this instance to <uid>.
      - `--append-path <true|false>`: Switch of Append Windows PATH to $PATH
      - `--mount-drive <true|false>`: Switch of Mount drives
      - `--wsl-version <1|2>`: Set the WSL version of this instance to <1 or 2>
      - `--default-term <default|wt|flute>`: Set default type of terminal window.

    get [setting]
      - `--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.
      - `--lxguid`: Get WSL GUID key for this instance.

    backup [contents]
      - `--tar`: Output backup.tar to the current directory.
      - `--tgz`: Output backup.tar.gz to the current directory.
      - `--vhdx`: Output backup.ext4.vhdx to the current directory. (WSL2 only)
      - `--vhdxgz`: Output backup.ext4.vhdx.gz to the current directory. (WSL2 only)
      - `--reg`: Output settings registry file to the current directory.

    clean
      - Uninstall that instance.

    help
      - Print this usage message.

Just Run exe

>{InstanceName}.exe
[root@PC-NAME user]#

Run with command line

>{InstanceName}.exe run uname -r
4.4.0-43-Microsoft

Run with command line with path translation

>{InstanceName}.exe runp echo C:\Windows\System32\cmd.exe
/mnt/c/Windows/System32/cmd.exe

Change Default User(id command required)

>{InstanceName}.exe config --default-user user

>{InstanceName}.exe
[user@PC-NAME dir]$

Set "Windows Terminal" as default terminal

>{InstanceName}.exe config --default-term wt

How to uninstall instance

>{InstanceName}.exe clean

How-to-backup

export to backup.tar.gz (WSL1 or 2)

>{InstanceName}.exe backup --tgz

export to backup.ext4.vhdx.gz (WSL2 only)

>{InstanceName}.exe backup --vhdxgz

How-to-import

.tar(.gz) (WSL1 or 2)

>{InstanceName}.exe install backup.tar.gz

.ext4.vhdx(.gz) (WSL2 only)

>{InstanceName}.exe install backup.ext4.vhdx.gz

πŸ› How-to-Build

Please see DEVELOPERS.md

πŸ“„License

MIT

Copyright (c) 2017-2021 yuk7

More Repositories

1

ArchWSL

ArchLinux based WSL Distribution. Supports multiple install.
Makefile
6,725
star
2

AlpineWSL

Alpine Linux based WSL distribution. Supports multi-install. Lightest WSL distribution.
Makefile
531
star
3

container-systemd-init-tool

a toolkit to virtually start and interop Systemd as PID1 for Linux Containers
Shell
287
star
4

playstore-excl-upd

Remove apps don't want to update from the Play Store update list.
Shell
52
star
5

wsl2exe

[TESTING]Use command in WSL from exe executable
C
44
star
6

dotfiles

My dotfiles and installation scripts. for GNU/Linux,WSL,MSYS2,macOS and Windows
Shell
37
star
7

arch-systemctl-alt

systemctl alternative script package for Arch Linux container/WSL environment
Python
35
star
8

ArchWSL-FS

Provides FileSystem for ArchWSL
Makefile
25
star
9

arch-prebuilt

prebuilt pkg.tar.xz files for Arch Linux
16
star
10

FreshEmoji

Install Newer Noto Emoji Font to Your Android
Shell
12
star
11

wsldl_c

legacy wsldl, written in C
C
11
star
12

wsllib-go

a wsl api library for golang
Go
9
star
13

crext

Command-line based ext2/ext3/ext4 partitions/file reader for Windows.
C++
9
star
14

yuk7.github.io

My personal website.
Vue
7
star
15

yuk7

I am me. Nothing to say.
5
star
16

docker-compose-lamp

LAMP test environment with docker-compose
Dockerfile
5
star
17

Pixel_Features_Xposed

[WIP] Pixel Experience Enabler
Kotlin
5
star
18

shell_batch_combiner

Combine Shell Script and Batch File
Shell
4
star
19

pixel-disable-shutter-sound

Camera shutter sound disabler for Pixel Google Camera
Shell
4
star
20

cashless-go-jp

キャッシγƒ₯γƒ¬γ‚ΉζΆˆθ²»θ€…ι‚„ε…ƒδΊ‹ζ₯­ ζΆˆθ²»θ€…ε‘γ‘γƒͺγ‚Ήγƒˆ pdfγ‹γ‚‰ζŠ½ε‡Ί csv,json
4
star
21

libwsldl

[WIP]Extended WSL library for mingw, MSVC etc
C
4
star
22

Android-ROMs

Android Custom ROM Release
4
star
23

mitaka

mirror of Mitaka(3D Planetarium by 4D2U)
C++
3
star
24

regfiles

Windows Registry Files
3
star
25

NoMSGothic

I hate MSGothic
Batchfile
3
star
26

gh-action-attr-checker

end-of-line code attributes checker
Shell
3
star
27

fontsxml_ja

Android fonts.xml that preferentially uses Japanese Kanji fonts
Shell
3
star
28

dotfiles-quickinstaller

cross platform one-liner quick installer for my dotfiles
Shell
3
star
29

samsung_zeroltejpn_dt

Build DTB script for Samsung Galaxy S6 Edge Japan
Shell
2
star
30

line_did_spoofer

[WIP/TEST]Device Identifier Spoofer
Kotlin
1
star
31

miui12-fontsxml

Shell
1
star
32

Collesure2

A picture collection app for Android (Lang:Japanese)
Kotlin
1
star
33

kitakami_files

ramdisk files and packing scripts for Sony Xperia Z3+/Z4 stock firmware
Shell
1
star
34

arch-fakeroot-tcp

ArchLinux fakeroot-tcp package
Shell
1
star
35

uaal-test-android-compose

Jetpack Compose β™‘ Unity as a Library✨
Kotlin
1
star
36

blog

1
star