# Installer WSL ### WSL 2 (installation) Nécessite au minimum la build 2004 (une insider build au 31/03/2020) Aller à Fonctionnalités de Windows: - installer Plateforme d'ordinateur virtuel (Virtual Machine Platform) - installer Sous-système Windows pour Linux (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 Activer la virtualisation imbriquée. Aller sur le Microsoft Store et installer une distrib Linux. ```bash $ cat /etc/debian_version 10.3 ``` Dans l'invite de commande: ``` wsl --list --verbose NAME STATE debian_version * Debian Running 1 ``` ```dos 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: > ``` > 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 à wsl 2: ``` wsl --set-version Debian 2 ``` #### Pour démarrer la distro: ```bash wsl --distribution Debian wsl --list --verbose NAME STATE VERSION * Debian Running 2 ``` Différences entre wsl 1 et 2: https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes #### 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: ``` 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 #### Installer une GUI: 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. ``` Ouvrir une session xRDP > mstsc.exe > puis fournir l'adresse IP ```bash mstsc.exe 127.0.0.1:3390 ``` 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 #### 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. ``` export wr=~/../../mnt/c/Users// ``` 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: ``` 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 ``` ``` C:\Users\enzo2>dir | wsl "Documents" ``` ``` C:\Users\enzo2>wsl ls -la "/mnt/c/Program Files" ``` ### =>[La suite (configurer wsl)](wsl2.md)<=