Inhaltsverzeichnis

Windows Subsystem for Linux (WSL)

Siehe Windows Terminal für ein anpassbares und kompatibles Terminal (in Win 11 standardmäßig installiert)

Erklärvideo zu WSL im MS Store

WSL Kommandos

https://learn.microsoft.com/windows/wsl/basic-commands

Installation

FIXME Infos auf dieser Wikiseite sind teilweise veraltet! Hier ein Update: https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-in-the-microsoft-store-is-now-generally-available-on-windows-10-and-11/

TLDR: wsl --install -d debian installiert die neuste version

Wichtig: WSL kann unter Win 11 auch aus dem MS Store installiert werden (empfohlen), unterstützt mit WSLg GUI apps (Wayland & X11) und bekommt darüber schneller Updates

CLI

Es wird empfohlen die Distributionen von der MS Webseite herunterzuladen, statt mit wsl –install zu installieren, da bspw. Debian bei letzterer Methode veraltet ist

# list available wsl distros
wsl -l -o
 
# install wsl with distro of choice
wsl --install -d debian

Alternativ Distribution als *.appxbundle herunterladen (siehe oben):

$wsl="debian.appxbundle"
curl -Lo ./$wsl https://aka.ms/wsl-debian-gnulinux
Add-AppxPackage ./$wsl
Invoke-Item ./$wsl # or double click the *.appxbundle
wsl -l -v

GUI

Config

https://learn.microsoft.com/windows/wsl/wsl-config

Windows

Diese globalen Einstellungen gelten für alle WSL2 Instanzen!

~/.wslconfig
# https://learn.microsoft.com/windows/wsl/wsl-config#configuration-setting-for-wslconfig
 
[wsl2]
 
[experimental]

Linux

Diese Einstellungen gelten nur für die jeweilige WSL1 oder WSL2 Instanz!

/etc/wsl.conf
# https://learn.microsoft.com/windows/wsl/wsl-config#configuration-settings-for-wslconf
 
[automount]
options = case = off
 
[network]
 
[interop]
 
[user]
 
[boot]
systemd = true

USB Geräte in WSL verwenden

https://learn.microsoft.com/windows/wsl/connect-usb

Wichtig: Dies funktioniert nur mit WSL 2 unter Win 11 (Win 10 u.U. nur mit Zusatzaufwand)

Linux (WSL)

Vorbereitung

Debian (für Ubuntu Anweisungen, siehe MS Dokumentation)

sudo apt install usbip hwdata usbutils

USB Geräte auflisten

lsusb

Windows

Vorbereitung

winget install -e dorssel.usbipd-win -i

USB Geräte auflisten

usbipd wsl list

USB Geräte verbinden/trennen

Attach

usbipd wsl attach -b <busid>
usbipd wsl attach -i <VID:PID>

Mit -d Distro spezifizieren und/oder mit -a automatisch neuverbinden

usbipd wsl attach -a -d debian -b <busid>
usbipd wsl attach -a -d debian -i <VID:PID>

Detach

usbipd wsl detach -b <busid>
usbipd wsl detach -i <VID:PID>

Alle Geräte trennen

usbipd wsl detach -a

besondere Linux-Kommandos in der WSL

wenn die SD-Karte in Windows als Laufwerk "S:" sichtbar ist, dann kann man das Volumen in der WSL-Umgebung so mounten:

> sudo -s
[sudo] password for fritz:

> mkdir /mnt/S
> mount -t drvfs S: /mnt/S

> ls -lha /mnt/S

nützliche crons

täglich (und beim Systemstart) das Upgrade-Skript ausführen

/etc/cron.d/upgrade
MAILTO=""
@reboot root /usr/local/sbin/upgrade.sh -y > /var/log/upgrade.log 2>&1
@daily root /usr/local/sbin/upgrade.sh -y > /var/log/upgrade.log 2>&1

für upgrade.sh siehe hier