yuk7 / ArchWSL

ArchLinux based WSL Distribution. Supports multiple install.
https://git.io/archwsl
MIT License
6.91k stars 201 forks source link
archlinux uwp-apps windows-10 windows-subsystem-linux windows-terminal wsl wsldl

ArchWSL

ArchLinux on WSL (Windows 10 FCU or later), based on wsldl.

logo

AppVeyor FS-Workflows Github All Releases PRs Welcome License

日本語 | 简体中文 | 繁體中文 | Español | Português | 한국어 | Deutsch | French

⬇Download | 📓Docs

💻Requirements

💾Install

For more details, refer to docs.

※IF YOU USE WSL1, YOU MUST REPLACE GLIBC PACKAGE ON THE FIRST RUN OF INSTANCE, Please refer to docs

📁zip

1. Download installer zip file.

2. Extract all files in the zip file to the same directory.

Please extract to a folder that you have full access permission. For example, 'Program Files' can not be used.

3. Run Arch.exe to Extract rootfs and Register to WSL.

Also, the name of the EXE file is used as the name of your WSL instance. That means, if you copy multiple EXE files and rename them to different names, you can have multiple different ArchWSL at the same time without conflict.

4. Initialize keyring of the pacman. (Optional)

This is not required, but you will need to do this if you want to use pacman. See docs.

📦appx

1. Download installer appx and cer file.

2. Install cer file to "Trusted People" of the local machine.

For more details about this, please refer to docs.

You'll need administrator privileges to install the certificate!

3. Double-click, install the appx file.

🥄 Scoop

1. scoop bucket add extras

2. scoop install archwsl

📝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.

⬆️Update

📁zip

1. Download installer zip file.

2. Extract exe file and rootfs.tar.gz from zip file and overwrite your existing ones.

📦appx

1. Download installer appx file.

2. Double-click to install the update.

🚫Known issues

See docs.