WSL2: Difference between revisions

From Wiki
mNo edit summary
Line 2: Line 2:
* https://docs.microsoft.com/en-us/windows/wsl/wsl-config
* https://docs.microsoft.com/en-us/windows/wsl/wsl-config


== .wslconfig ==
* C:\Users\UserName\.wslconfig
<pre>
[wsl2]
memory=4GB      # Limits VM memory in WSL 2 to 4 GB
processors=2    # Makes the WSL 2 VM use two virtual processors
</pre>


 
== WSL startup speed ==
<pre>
wsl --shutdown
wsl "dmesg"
</pre>


= Networking =
= Networking =
Line 34: Line 45:
</pre>
</pre>


== .wslconfig ==
 
* C:\Users\UserName\.wslconfig
<pre>
[wsl2]
memory=4GB      # Limits VM memory in WSL 2 to 4 GB
processors=2    # Makes the WSL 2 VM use two virtual processors
</pre>





Revision as of 11:12, 25 July 2023

Links

.wslconfig

  • C:\Users\UserName\.wslconfig
[wsl2]
memory=4GB      # Limits VM memory in WSL 2 to 4 GB
processors=2    # Makes the WSL 2 VM use two virtual processors

WSL startup speed

wsl --shutdown
wsl "dmesg"

Networking

Network bridge to Ethernet Adapter

  • Enable Hyper-V
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
  • Install Hyper-V Windows features - "Turn Windows features on or off":
Hyper-V Management Tools > All
Hyper-V Platform > All
  • Script after every logon
set-vmswitch -name wsl -NetAdapterName Ethernet
  • get new DHCP IP for WSL2
sudo ip addr flush dev eth0
sudo dhclient eth0

WSL IPs

wsl hostname -I
netsh interface ipv4 show neighbors



fstab

z: /mnt/z drvfs rw,relatime 0 0

mount network share

mount -t drvfs '\\server\share' /mnt/share

Docker in WSL

  • install docker on linux
  • add to ~/.bashrc
# Start Docker daemon automatically when logging in if not running.
RUNNING=`ps aux | grep dockerd | grep -v grep`
if [ -z "$RUNNING" ]; then
    sudo dockerd > /dev/null 2>&1 &
    disown
fi

Other

Using New Windows Terminal

  • profiles.json
    • set defaultProfile to Ubuntu
    • for linux home dir:
"commandline" : "wsl.exe ~ -d Ubuntu-20.04",

Show DHCP Leases

wsl.exe ~ -d Ubuntu ssh -t root@router cat /tmp/dhcp.leases && exec bash


Running Linux Commands

  • using bash.exe
bash.exe -c "jupyter-notebook ; /bin/bash"
  • using wsl
wsl jupyter-notebook &


Multiple Distro Instances

* Settings -> Apps -> Ubuntu -> Advanced -> Reset to initial state

wsl --list
wsl --export Ubuntu-20.04 Ubuntu_fresh_rootfs.tar.gz

wsl --import DistroName InstallationPath Ubuntu_fresh_rootfs.tar.gz
wsl -d DistroName