├── .github
├── ISSUE_TEMPLATE
│ ├── Bug_Report.yaml
│ └── config.yml
└── workflows
│ └── stale-issues.yml
├── LICENSE
├── Makefile
├── README.md
├── bash_profile
├── linuxmint.ico
├── lsb-release
├── os-release
├── wsl-distribution.conf
├── wsl.conf
└── wslg-init.service
/.github/ISSUE_TEMPLATE/Bug_Report.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | name: "LinuxmintWSL2 - Bug Report"
3 | description: Report a bug on LinuxmintWSL2
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | Please [search for existing issues](https://github.com/sileshn/LinuxmintWSL2/issues) before creating a new one.
9 |
10 | - type: checkboxes
11 | attributes:
12 | label: Requirements
13 | description: |
14 | Tell us whether you have checked and completed the [prerequisite](https://github.com/sileshn/LinuxmintWSL2#-requirements)
15 | options:
16 | - label: "Yes"
17 | - label: "No"
18 |
19 | - type: checkboxes
20 | attributes:
21 | label: WSL Version
22 | description: |
23 | Tell us whether you are running WSL 2 and/or WSL 1. You can tell your WSL version by running `wsl -l -v`. LinuxmintWSL2 needs wsl2 to work.
24 | options:
25 | - label: "WSL 2"
26 | - label: "WSL 1"
27 |
28 | - type: input
29 | attributes:
30 | label: Version
31 | description: |
32 | Please run `cmd.exe /c ver` to get the build of Windows you are on.
33 | If you are running Windows Subsystem for Linux from the Microsoft Store, please run `wsl.exe --version`
34 | placeholder: "Microsoft Windows [Version 10.0.19042.867]"
35 | validations:
36 | required: true
37 |
38 | - type: input
39 | attributes:
40 | label: Kernel Version
41 | description: |
42 | Please tell us what version of the Linux kernel you are using, or if you are using a custom kernel.
43 | You can run `wsl.exe --status` if that command is available to you, or by running `cat /proc/version` in your distro.
44 | placeholder: "5.4.72"
45 | validations:
46 | required: false
47 |
48 | - type: textarea
49 | attributes:
50 | label: Repro Steps
51 | description: Please list out the steps to reproduce your bug.
52 | placeholder: Your steps go here. Include relevant environmental variables or any other configuration.
53 | validations:
54 | required: true
55 |
56 | - type: textarea
57 | attributes:
58 | label: Expected Behavior
59 | description: What were you expecting to see? Include any relevant examples or documentation links.
60 | placeholder: If you want to include screenshots, paste them into the text area or follow up with a separate comment.
61 | validations:
62 | required: true
63 |
64 | - type: textarea
65 | attributes:
66 | label: Actual Behavior
67 | description: What happened instead?
68 | placeholder: Include the terminal output, straces of the failing command, etc. as necessary.
69 | validations:
70 | required: true
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 |
--------------------------------------------------------------------------------
/.github/workflows/stale-issues.yml:
--------------------------------------------------------------------------------
1 | name: Close inactive issues
2 | on:
3 | schedule:
4 | - cron: "30 1 * * *"
5 |
6 | jobs:
7 | close-issues:
8 | runs-on: ubuntu-latest
9 | permissions:
10 | issues: write
11 | pull-requests: write
12 | steps:
13 | - uses: actions/stale@v4
14 | with:
15 | days-before-issue-stale: 7
16 | days-before-issue-close: 7
17 | stale-issue-label: "stale"
18 | stale-issue-message: "This issue is stale because it has been open for 7 days with no activity."
19 | close-issue-message: "This issue was closed because it has been inactive for 14 days with no activity."
20 | days-before-pr-stale: -1
21 | days-before-pr-close: -1
22 | repo-token: ${{ secrets.GITHUB_TOKEN }}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017-2019 yuk7, 2019-2021 Silesh K Nair
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | OUT_ZIP=LinuxmintWSL2.zip
2 | LNCR_EXE=Mint.exe
3 |
4 | DLR=curl
5 | DLR_FLAGS=-L
6 | LNCR_ZIP_URL=https://github.com/yuk7/wsldl/releases/download/`curl https://api.github.com/repos/yuk7/wsldl/releases/latest -s | jq .name -r`/icons.zip
7 | LNCR_ZIP_EXE=Mint.exe
8 |
9 | all: $(OUT_ZIP)
10 |
11 | zip: $(OUT_ZIP)
12 | $(OUT_ZIP): ziproot
13 | @echo -e '\e[1;31mBuilding $(OUT_ZIP)\e[m'
14 | cd ziproot; bsdtar -a -cf ../$(OUT_ZIP) *
15 |
16 | ziproot: Launcher.exe rootfs.tar.gz
17 | @echo -e '\e[1;31mBuilding ziproot...\e[m'
18 | mkdir ziproot
19 | cp Launcher.exe ziproot/${LNCR_EXE}
20 | cp rootfs.tar.gz ziproot/
21 |
22 | exe: Launcher.exe
23 | Launcher.exe: icons.zip
24 | @echo -e '\e[1;31mExtracting Launcher.exe...\e[m'
25 | unzip icons.zip $(LNCR_ZIP_EXE)
26 | mv $(LNCR_ZIP_EXE) Launcher.exe
27 |
28 | icons.zip:
29 | @echo -e '\e[1;31mDownloading icons.zip...\e[m'
30 | $(DLR) $(DLR_FLAGS) $(LNCR_ZIP_URL) -o icons.zip
31 |
32 | rootfs.tar.gz: rootfs
33 | @echo -e '\e[1;31mBuilding rootfs.tar.gz...\e[m'
34 | cd rootfs; sudo bsdtar -zcpf ../rootfs.tar.gz `sudo ls`
35 | sudo chown `id -un` rootfs.tar.gz
36 |
37 | rootfs: base.tar
38 | @echo -e '\e[1;31mBuilding rootfs...\e[m'
39 | mkdir rootfs
40 | sudo bsdtar -zxpf base.tar -C rootfs
41 | @echo "# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line." | sudo tee rootfs/etc/resolv.conf > /dev/null
42 | sudo cp wsl.conf rootfs/etc/wsl.conf
43 | sudo cp wsl-distribution.conf rootfs/etc/wsl-distribution.conf
44 | sudo cp linuxmint.ico rootfs/usr/lib/wsl/linuxmint.ico
45 | sudo cp bash_profile rootfs/root/.bash_profile
46 | sudo cp wslg-init.service rootfs/usr/lib/systemd/system/wslg-init.service
47 | sudo cp lsb-release rootfs/etc/lsb-release
48 | sudo cp os-release rootfs/usr/lib/os-release
49 | sudo chmod +x rootfs
50 |
51 | base.tar:
52 | @echo -e '\e[1;31mExporting base.tar using docker...\e[m'
53 | docker run --net=host --name mintwsl linuxmintd/mint22.2-amd64 /bin/bash -c "mkdir -p /etc/linuxmint; echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections; apt-get install apt-utils -y -q; apt-get update; apt-get full-upgrade -y -q; apt-get install -y -q apt-transport-https apt-utils aria2 bash-completion build-essential ca-certificates curl dialog figlet htop iputils-ping lolcat software-properties-common tree; apt-get autoremove -y; apt-get clean; mkdir -p /usr/lib/wsl"
54 | docker export --output=base.tar mintwsl
55 | docker rm -f mintwsl
56 |
57 | clean:
58 | @echo -e '\e[1;31mCleaning files...\e[m'
59 | -rm ${OUT_ZIP}
60 | -rm -r ziproot
61 | -rm Launcher.exe
62 | -rm icons.zip
63 | -rm rootfs.tar.gz
64 | -sudo rm -r rootfs
65 | -rm base.tar
66 | -docker rmi -f linuxmintd/mint22.2-amd64
67 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # LinuxmintWSL2
2 | Linuxmint on WSL2 (Windows 10 FCU or later) based on [wsldl](https://github.com/yuk7/wsldl).
3 |
4 |
5 | [](https://github.com/sileshn/LinuxmintWSL2/releases)
6 | [](http://makeapullrequest.com)
7 | [](https://raw.githubusercontent.com/sileshn/LinuxmintWSL2/main/LICENSE)
8 |
9 | ## Features and important information
10 | LinuxmintWSL2 has the following features during the installation stage.
11 | * Increase virtual disk size from the default 256GB
12 | * Create a new user and set the user as default
13 | * LinuxmintWSL2 Supports systemd natively if you are running wsl v0.67.6 (more details [here](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/)) and above. For earlier versions of wsl, systemd is supported using diddledani's [one-script-wsl2-systemd](https://github.com/diddledani/one-script-wsl2-systemd). This is done automatically during initial setup.
14 | * LinuxmintWSL2 includes a wsl.conf file which only has section headers. Users can use this to configure the distro to their liking. You can read more about wsl.conf and its configuration settings [here](https://docs.microsoft.com/en-us/windows/wsl/wsl-config).
15 |
16 | ## Requirements
17 | * For x64 systems: Version 1903 or higher, with Build 18362 or higher.
18 | * For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.
19 | * Builds lower than 18362 do not support WSL 2.
20 | * If you are running Windows 10 version 2004 or higher, you can install all components required to run wsl2 with a single command. This will install ubuntu by default. More details are available [here](https://devblogs.microsoft.com/commandline/install-wsl-with-a-single-command-now-available-in-windows-10-version-2004-and-higher/).
21 | ```cmd
22 | wsl.exe --install
23 | ```
24 | * If you are running Windows 10 lower then version 2004, follow the steps below to install requirements manually. For more details, check [this](https://docs.microsoft.com/en-us/windows/wsl/install-manual) microsoft document.
25 | * Enable Windows Subsystem for Linux feature.
26 | ```cmd
27 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
28 | ```
29 | * Enable Virtual Machine feature
30 | ```cmd
31 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
32 | ```
33 | * Download and install the latest Linux kernel update package from [here](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi).
34 |
35 | ## Install
36 | * Make sure all the steps mentioned under "Requirements" are completed.
37 | * [Download](https://github.com/sileshn/LinuxmintWSL2/releases/latest) installer zip
38 | * Extract all files in zip file to same directory
39 | * Set version 2 as default. Note that this step is required only for manual installation.
40 | ```dos
41 | wsl --set-default-version 2
42 | ```
43 | * Run Mint.exe to extract rootfs and register to WSL
44 |
45 | **Note:**
46 | Exe filename is using the instance name to register. If you rename it you can register with a diffrent name and have multiple installs.
47 |
48 | ## How-to-Use(for Installed Instance)
49 | #### exe Usage
50 | ```
51 | Usage :
52 |
53 | - Open a new shell with your default settings.
54 | Inherit current directory (with exception that %%USERPROFILE%% is changed to $HOME).
55 |
56 | run
57 | - Run the given command line in that instance. Inherit current directory.
58 |
59 | runp
60 | - Run the given command line in that instance after converting its path.
61 |
62 | config [setting [value]]
63 | - `--default-user `: Set the default user of this instance to .
64 | - `--default-uid `: Set the default user uid of this instance to .
65 | - `--append-path `: Switch of Append Windows PATH to $PATH
66 | - `--mount-drive `: Switch of Mount drives
67 | - `--wsl-version <1|2>`: Set the WSL version of this instance to <1 or 2>
68 | - `--default-term `: Set default type of terminal window.
69 |
70 | get [setting [value]]
71 | - `--default-uid`: Get the default user uid in this instance.
72 | - `--append-path`: Get true/false status of Append Windows PATH to $PATH.
73 | - `--mount-drive`: Get true/false status of Mount drives.
74 | - `--wsl-version`: Get the version os the WSL (1/2) of this instance.
75 | - `--default-term`: Get Default Terminal type of this instance launcher.
76 | - `--wt-profile-name`: Get Profile Name from Windows Terminal
77 | - `--lxguid`: Get WSL GUID key for this instance.
78 |
79 | backup [file name]
80 | - `*.tar`: Output backup tar file.
81 | - `*.tar.gz`: Output backup tar.gz file.
82 | - `*.ext4.vhdx`: Output backup ext4.vhdx file. (WSL2 only)
83 | - `*.ext4.vhdx.gz`: Output backup ext4.vhdx.gz file. (WSL2 only)
84 | - `*.reg`: Output settings registry file.
85 |
86 | clean
87 | - Uninstall that instance.
88 |
89 | help
90 | - Print this usage message.
91 | ```
92 |
93 | #### Just Run exe
94 | ```cmd
95 | >Mint.exe
96 | [root@PC-NAME user]#
97 | ```
98 |
99 | #### Run with command line
100 | ```cmd
101 | >Mint.exe run uname -r
102 | 4.4.0-43-Microsoft
103 | ```
104 |
105 | #### Run with command line with path translation
106 | ```cmd
107 | >Mint.exe runp echo C:\Windows\System32\cmd.exe
108 | /mnt/c/Windows/System32/cmd.exe
109 | ```
110 |
111 | #### Change Default User(id command required)
112 | ```cmd
113 | >Mint.exe config --default-user user
114 |
115 | >Mint.exe
116 | [user@PC-NAME dir]$
117 | ```
118 |
119 | #### Set "Windows Terminal" as default terminal
120 | ```cmd
121 | >Mint.exe config --default-term wt
122 | ```
123 |
124 | ## How to setup
125 |
126 | LinuxmintWSL2 will ask you to create a new user during its first run. If you chose to create a new user during initial setup, the steps below are not required unless you want to create additional users.
127 | ```dos
128 | passwd
129 | useradd -m -g users -G sudo -s /bin/bash
130 | echo "%sudo ALL=(ALL) ALL" >/etc/sudoers.d/sudo
131 | passwd
132 | exit
133 | ```
134 |
135 | You can set the user you created as default user using 2 methods.
136 |
137 | Open Mint.exe, run the following command (replace username with the actual username you created).
138 | ```dos
139 | sed -i '/\[user\]/a default = username' /etc/wsl.conf
140 | ```
141 |
142 | Shutdown and restart the distro (this step is important).
143 |
144 | (or)
145 |
146 | Execute the command below in a windows cmd terminal from the directory where Mint.exe is installed.
147 | ```dos
148 | >Mint.exe config --default-user
149 | ```
150 |
151 | ## How to uninstall instance
152 | ```dos
153 | >Mint.exe clean
154 |
155 | ```
156 |
157 | ## How to backup instance
158 | export to backup.tar.gz (WSL1 or 2)
159 | ```cmd
160 | >Mint.exe backup backup.tar.gz
161 | ```
162 | export to backup.ext4.vhdx.gz (WSL2 only)
163 | ```cmd
164 | >Mint.exe backup backup.ext4.vhdx.gz
165 | ```
166 |
167 | ## How to restore instance
168 |
169 | There are 2 ways to do it.
170 |
171 | Rename the backup to rootfs.tar.gz and run Mint.exe
172 |
173 | (or)
174 |
175 | .tar(.gz)
176 | ```cmd
177 | >Mint.exe install backup.tar.gz
178 | ```
179 | .ext4.vhdx(.gz)
180 | ```cmd
181 | >Mint.exe install backup.ext4.vhdx.gz
182 | ```
183 |
184 | You may need to run the command below in some circumstances.
185 | ```cmd
186 | >Mint.exe --default-uid 1000
187 | ```
188 |
189 | ## How to build
190 |
191 | #### Prerequisites
192 |
193 | Docker, tar, zip, unzip, bsdtar need to be installed.
194 |
195 | ```dos
196 | git clone git@gitlab.com:sileshn/LinuxmintWSL2.git
197 | cd LinuxmintWSL2
198 | make
199 |
200 | ```
201 | Copy the Linuxmint.zip file to a safe location and run the command below to clean.
202 | ```dos
203 | make clean
204 |
205 | ```
206 |
207 | ## How to run docker in LinuxmintWSL2 without using docker desktop.
208 |
209 | Delete older versions of docker if installed.
210 | ```dos
211 | sudo apt-get remove docker docker-engine docker.io containerd runc
212 |
213 | ```
214 |
215 | Execute the commands below to install docker.
216 | ```dos
217 | sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
218 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
219 | sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
220 | sudo apt update
221 | sudo apt install docker-ce
222 | sudo usermod -aG docker $USER
223 | ```
224 |
225 | Follow [this](https://blog.nillsf.com/index.php/2020/06/29/how-to-automatically-start-the-docker-daemon-on-wsl2/) blog post for further details on how to set it up. Alternatively, if using systemd, use the commands below to setup and reboot.
226 | ```dos
227 | sudo systemctl start docker.service
228 | sudo systemctl enable docker.service
229 | sudo usermod -aG docker $USER
230 | ```
231 |
--------------------------------------------------------------------------------
/bash_profile:
--------------------------------------------------------------------------------
1 | # First run script for LinuxmintWSL
2 |
3 | blu=$(tput setaf 4)
4 | cyn=$(tput setaf 6)
5 | grn=$(tput setaf 2)
6 | mgn=$(tput setaf 5)
7 | red=$(tput setaf 1)
8 | ylw=$(tput setaf 3)
9 | txtrst=$(tput sgr0)
10 |
11 | test -e /mnt/c/Users/Public/shutdown.cmd && rm /mnt/c/Users/Public/shutdown.cmd
12 | test -e ~/shutdown.cmd && rm ~/shutdown.cmd
13 | figlet -t -k -f /usr/share/figlet/mini.flf "Welcome to LinuxmintWSL" | lolcat
14 | echo -e "\033[33;7mDo not interrupt or close the terminal window till script finishes execution!!!\n\033[0m"
15 | getent passwd ubuntu >/dev/null && (
16 | userdel ubuntu
17 | rm -rf /home/ubuntu
18 | )
19 |
20 | rm /etc/os-release
21 | ln -s /usr/lib/os-release /etc/os-release
22 | sudo systemctl daemon-reload
23 | sudo systemctl enable wslg-init.service >/dev/null 2>&1
24 |
25 | echo -e ${grn}"Do you want to create a new user?"${txtrst}
26 | select yn in "Yes" "No"; do
27 | case $yn in
28 | Yes)
29 | echo " "
30 | while read -p "Please enter the username you wish to create : " username; do
31 | if [ "x$username" = "x" ]; then
32 | echo -e ${red}" Blank username entered. Try again!!!"${txtrst}
33 | echo -en "\033[1A\033[1A\033[2K"
34 | username=""
35 | elif grep -q "^$username" /etc/passwd; then
36 | echo -e ${red}"Username already exists. Try again!!!"${txtrst}
37 | echo -en "\033[1A\033[1A\033[2K"
38 | username=""
39 | else
40 | useradd -m -g users -G sudo -s /bin/bash "$username"
41 | echo "%sudo ALL=(ALL) ALL" >/etc/sudoers.d/sudo
42 | echo -en "\033[1B\033[1A\033[2K"
43 | passwd $username
44 | sed -i "/\[user\]/a default = $username" /etc/wsl.conf >/dev/null
45 | echo "@echo off" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
46 | echo "wsl.exe --terminate $WSL_DISTRO_NAME" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
47 | if env | grep "WT_SESSION" >/dev/null 2>&1; then
48 | echo "wt.exe -w 0 nt wsl.exe -d $WSL_DISTRO_NAME" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
49 | else
50 | echo "cmd /c start \"$WSL_DISTRO_NAME\" wsl.exe --cd ~ -d $WSL_DISTRO_NAME" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
51 | fi
52 | echo "del C:\Users\Public\shutdown.cmd" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
53 | cp ~/shutdown.cmd /mnt/c/Users/Public && rm ~/shutdown.cmd
54 |
55 | secs=3
56 | printf ${ylw}"\nTo set the new user as the default user, LinuxmintWSL will shutdown and restart!!!\n\n"${txtrst}
57 | while [ $secs -gt 0 ]; do
58 | printf "\r\033[KShutting down in %.d seconds. " $((secs--))
59 | sleep 1
60 | done
61 |
62 | rm ~/.bash_profile
63 | powershell.exe -command "Start-Process -Verb Open -FilePath 'shutdown.cmd' -WorkingDirectory 'C:\Users\Public' -WindowStyle Hidden"
64 | exec sleep 0
65 | fi
66 | done
67 | ;;
68 | No)
69 | break
70 | ;;
71 | esac
72 | done
73 |
74 | echo "@echo off" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
75 | echo "wsl.exe --terminate $WSL_DISTRO_NAME" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
76 | if env | grep "WT_SESSION" >/dev/null 2>&1; then
77 | echo "wt.exe -w 0 nt wsl.exe -d $WSL_DISTRO_NAME" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
78 | else
79 | echo "cmd /c start \"$WSL_DISTRO_NAME\" wsl.exe --cd ~ -d $WSL_DISTRO_NAME" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
80 | fi
81 | echo "del C:\Users\Public\shutdown.cmd" | sudo tee -a ~/shutdown.cmd >/dev/null 2>&1
82 | cp ~/shutdown.cmd /mnt/c/Users/Public && rm ~/shutdown.cmd
83 |
84 | secs=3
85 | printf ${ylw}"\nLinuxmintWSL2 will shutdown and restart to finish setup!!!\n\n"${txtrst}
86 | while [ $secs -gt 0 ]; do
87 | printf "\r\033[KShutting down in %.d seconds. " $((secs--))
88 | sleep 1
89 | done
90 |
91 | rm ~/.bash_profile
92 | powershell.exe -command "Start-Process -Verb Open -FilePath 'shutdown.cmd' -WorkingDirectory 'C:\Users\Public' -WindowStyle Hidden"
93 | exec sleep 0
94 |
--------------------------------------------------------------------------------
/linuxmint.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sileshn/LinuxmintWSL2/e3bbc71b2dfdf2c63f3099343611051b8a232c16/linuxmint.ico
--------------------------------------------------------------------------------
/lsb-release:
--------------------------------------------------------------------------------
1 | DISTRIB_ID=LinuxMint
2 | DISTRIB_RELEASE=22.2
3 | DISTRIB_CODENAME=Zara
4 | DISTRIB_DESCRIPTION="Linux Mint 22.2 Zara"
5 |
--------------------------------------------------------------------------------
/os-release:
--------------------------------------------------------------------------------
1 | NAME="Linux Mint"
2 | VERSION="22.2 (Zara)"
3 | ID=linuxmint
4 | ID_LIKE="ubuntu debian"
5 | PRETTY_NAME="Linux Mint 22.2"
6 | VERSION_ID="22.2"
7 | HOME_URL="https://www.linuxmint.com/"
8 | SUPPORT_URL="https://forums.linuxmint.com/"
9 | BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
10 | PRIVACY_POLICY_URL="https://www.linuxmint.com/"
11 | VERSION_CODENAME=zara
12 | UBUNTU_CODENAME=noble
13 |
--------------------------------------------------------------------------------
/wsl-distribution.conf:
--------------------------------------------------------------------------------
1 | [shortcut]
2 | icon = /usr/lib/wsl/linuxmint.ico
3 |
--------------------------------------------------------------------------------
/wsl.conf:
--------------------------------------------------------------------------------
1 | [automount]
2 |
3 | [network]
4 |
5 | [interop]
6 |
7 | [user]
8 |
9 | #The Boot setting is only available on Windows 11
10 | [boot]
11 | systemd=true
12 |
--------------------------------------------------------------------------------
/wslg-init.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=symlink /tmp/.X11-unix
3 | After=systemd-tmpfiles-setup.service
4 |
5 | [Service]
6 | Type=oneshot
7 | ExecStart=rmdir /tmp/.X11-unix
8 | ExecStart=ln -s /mnt/wslg/.X11-unix /tmp/
9 |
10 | [Install]
11 | WantedBy=sysinit.target
12 |
--------------------------------------------------------------------------------