Files
mkdocs/docs/Windows/wsl.md
2021-09-15 11:43:35 +02:00

353 lines
6.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Installer WSL
### WSL (installation)
Nécessite au minimum la build 2004 (une <u>insider build</u> au 31/03/2020)
Aller à Fonctionnalités de Windows:
- installer <u>Plateforme d'ordinateur virtuel</u> (Virtual Machine Platform)
- installer <u>Sous-système Windows pour Linux</u> (Windows Subsystem for Linux)
Activer la virtualisation dans le BIOS.
- Asus: Advanced -> Configuration Processeur -> Virtualisation Techno: Intel (VMY) Virtualisation Technology
- Gigabyte:
Pour voir, si elle est active, aller dans le Gestionnaire de taches -> onglet Performance
Pour Parallels Desktop, aller dans Configuration -> Matériel -> CPU et mémoire -> Paramètres avancés, et cocher <u>Activer la virtualisation imbriquée</u>.
Mettre-à-jour le [composant noyau](https://docs.microsoft.com/en-us/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package):
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi
Dans PowerShell:
```powershell
wsl --set-default-version 1
```
Aller sur le Microsoft Store et installer une distrib Linux (Debian).
```bash
$ cat /etc/debian_version
11.0 # bullseye
```
Dans l'<u>invite de commande</u>:
```powershell
wsl --list --verbose
NAME STATE debian_version
* Debian Running 1
```
```powershell
wsl --list --running
Distributions du sous-système Windows pour Linux :
Debian (par défaut)
```
Les distros sont visibles en tapant \\wsl$ dans la barre de l'explorer.
Même en quittant la distro (`$ exit`), elle y reste dispo.
#### Quitter une distro:
> ```powershell
> wsl --terminate Debian
> wsl -t Debian
>
> C:\Users\enzo2>wsl --list --running
> Il n'y a aucune distribution en cours d'exécution.
> ```
>
#### Pour passer la distribution à wsl 2:
```powershell
wsl --set-version Debian 2
```
https://docs.microsoft.com/fr-fr/windows/wsl/wsl2-kernel
Différences entre wsl 1 et 2:
https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes
#### Définir wsl 2 comme version par défaut:
```powershell
wsl --set-default-version 2
```
#### Pour démarrer la distro:
```powershell
wsl --distribution Debian
wsl --list --verbose
NAME STATE VERSION
* Debian Running 2
```
#### Liste des distributions:
```powershell
# Prêtes à l'utilisation:
wsl -l
wsl --list
Distributions du sous-système Windows pour Linux :
Debian (par défaut)
Ubuntu
# Toutes les distributions:
wsl --list --all
Distributions du sous-système Windows pour Linux :
Debian (par défaut)
Ubuntu
# En cours d'utilisation:
wsl --list --running
Distributions du sous-système Windows pour Linux :
Debian (par défaut)
```
#### Distribution par défaut:
Celle qui répond aux commandes `wsl`
```powershell
wsl -s Debian
wsl --setdefault Debian
```
Pour utiliser une distribution spécifique, sans la mettre par défaut:
```powershell
wsl -d Ubuntu
wsl --distribution Ubuntu
```
#### Désactiver une distribution:
Elle n'apparait plus dans `wsl --list`:
```
wsl --unregister Debian
```
Retourner dans le Microsoft Store pour la réinstaller.
#### Backup wsl:
```bash
wsl --export Debian debian.tar
```
Ré-import wsl:
```bash
wsl --import Debian C:\Users\bruno\debian C:\Users\bruno\debian.tar
```
Pour supprimer Debian
Dans l'invite de commande:
```powershell
C:\Users\enzo2>debian clean
C:\Users\enzo2>debian --help
```
#### Réglages WSL:
https://docs.microsoft.com/en-us/windows/wsl/wsl-config#set-wsl-launch-settings
#### Fichier de config `/etc/wsl.conf`:
Il est lu au chargement de la distro.
#### Fichier de configuration globale `C:\Users\<yourUserName>\.wslconfig`:
Les options s'appliquent à toutes les distros (WSL2)
https://docs.microsoft.com/en-us/windows/wsl/wsl-config
#### Installer une GUI:
```
sudo apt-get update
```
Installer xfce4:
```bash
sudo apt-get -y install xfce4
```
Installer xRDP server
```bash
sudo apt-get -y install xrdp
echo xfce4-session > ~/.xsession
sudo service xrdp restart
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
# changer le port
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
# changer les réglages de qualité
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
# redémarrer le serveur
sudo service xrdp restart
```
Trouver l'adresse IP de la distrib WSL
```bash
ifconfig | grep inet (ip addr | grep inet)
#Les IP de ipconfig.exe ne sont pas les bonnes.
```
```bash
hostname -i
127.0.1.1
```
Ouvrir une session xRDP
> mstsc.exe
> puis fournir l'adresse IP
```bash
mstsc.exe 127.0.0.1:3390
```
Si erreur *failed to execute child process "dbus-launch"*:
```bash
sudo apt-get install dbus-x11
```
Ajouter un alias au .zshrc
```bash
# cd /mnt/c/Users/enzo2/OneDrive/Documents/wsl
alias xfce='mstsc.exe "C:\Users/enzo2/OneDrive/Documents/wsl/debian-xfce-pass.rdp"'
```
https://dev.to/darksmile92/linux-on-windows-wsl-with-desktop-environment-via-rdp-522g
https://korben.info/linux-wsl-gui-interface-graphique-windows-10.html
#### Installer un X11-server:
```powershell
choco install vcxsrv
```
Ajouter au `.bashrc` ou `.zshrc`:
`export DISPLAY=:0`
Installer gvim (sudo apt-get install gvim) pour tester.
#### Navigation dans les dossiers/fichiers:
Dans WSL:
Chemin du bureau Windows:
`/mnt/C/Users/enzo2/OneDrive/Bureau/ => C:\Users\enzo2\OneDrive\Desktop`
$HOME
`/home/enzo2`
wr** evaluates to the absolute path to your Windows user's root.
```bash
export wr=~/../../mnt/c/Users/<Windows Username>/
```
Cela permet d'aller rapidement au root de Windows.
```bash
alias cdwr='cd "$wr"'
```
Dans l'explorer, aller à wsl :
taper `\\wsl$` dans la barre de l'explorer
Depuis wsl, ouvrir une fenêtre du répertoire dans l'explorer :
```bash
~/.ssh $ explorer.exe .
```
Copier dans le presse-papier:
```bash
cat ~/.ssh/id_rsa.pub | clip.exe
```
Lancer des commandes Linux depuis l'Invite de commandes ou Powershell:
```powershell
C:\Users\enzo2>wsl ls -la | findstr "Documents"
drwxrwxrwx 1 enzo2 enzo2 512 Mar 31 08:51 Documents
lrwxrwxrwx 1 enzo2 enzo2 28 Mar 28 17:59 Mes documents -> /mnt/c/Users/enzo2/Documents
```
```powershell
C:\Users\enzo2>dir | wsl "Documents"
```
```powershell
C:\Users\enzo2>wsl ls -la "/mnt/c/Program Files"
```
### =>[La suite (configurer wsl)](wsl_2.md)<=