Depuis la version 1709, Microsoft a inséré dans le cœur du système Windows 10 un noyau Linux. Il est donc désormais possible aujourd’hui de mélanger dans un OS des technologies de deux univers très différents. Cette intégration est surtout utile aux administrateurs (avec Windows serveur) et aux développeurs (sous Windows 10) qui pourront profiter de deux systèmes en un. Dans cet article nous allons voir en détail, pour être accessible aux débutants ou à ceux qui ne maîtrisent pas Linux , comment installer le Windows Subsystem for Linux (WSL), ses distributions et leurs applications.
Voir également l'article Lancer des logiciels Linux avec Windows10 WSL version 2
1 - Installation de WSL et des distributions Linux
1.1 - 1ère étape : Installation du Windows subsystem for Linux (WSL)
Pour utiliser le WSL, vous devez être sous Windows 10 en 64 bit et avoir la dernière ou avant dernière version de Windows 10.
Pour installer ce sous-système Linux il faut aller dans un premier temps dans le menu « Programmes et fonctionnalités » accessible depuis le panneau de configuration ou « Paramètres Windows ».
- Depuis le panneau de configuration : Ouvrez Programmes et fonctionnalités puis sur le panneau de gauche cliquez sur « Activer ou désactiver des fonctionnalités Windows ».
- Depuis « Paramètres » allez dans Applications puis « Applications et fonctionnalités ». En haut à droite sous « Paramètres associés » cliquez sur « Programmes et fonctionnalités » puis comme précédemment sur le panneau de gauche de la fenêtre qui s’ouvre, cliquez sur « Activer ou désactiver des fonctionnalités Windows ».
Dans la fenêtre intitulée « Fonctionnalités de Windows » qui s’ouvre cherchez « Sous-système Windows pour Linux » puis cliquez sur OK.
Le système télécharge les fichiers requis puis applique les modifications. À la fin du processus une boite de dialogue vous demande de redémarrer Windows pour terminer l’installation.
1.2 - 2ème étape : Installation d’une distribution Linux
Note : depuis de récentes mises à jour l’environnement de bureau sous Ubuntu ne fonctionne plus avec WSL, cela semble avoir été corrigé avec la version 20.04 (avril 2020) de Ubuntu. On peut lancer des applications graphiques avec d'autres distributions. Nous avons testé avec succès l’environnement de bureau avec les distributions Debian et Kali-Linux (distribution spécialisée dans la sécurité) et Ubuntu 20.04. Les procédures et les commandes sont détaillées dans cet article. Vous pouvez installer sous WSL plusieurs distributions différentes (on ne peut utiliser cependant qu’une distribution à la fois).
Une fois le PC redémarré après l’installation de WSL, ouvrez une fenêtre de commande ou bien PowerShell et tapez la commande bash, validez en appuyant sur la touche « Entrée ».
La commande « bash » donne le lien pour choisir et installer une distribution Linux depuis le Microsoft Store.
Vous pouvez soit copier/coller ce lien dans un navigateur pour aller sur le Microsoft Store, soit ouvrir directement le Microsoft store et taper Linux ou le nom d’une distribution (Debian, Kali, Opensuse,..) dans la zone de recherche en haut à droite dans Microsoft Store.
La fenêtre s’ouvre sur les distributions disponibles. Nous allons choisir comme 1er exemple la distribution Ubuntu, (comme précisé en amont, les versions Ubuntu antérieures à la version 20.04 ne fonctionnent pas en mode graphique. Choisir donc au moins la version 20.04 si vous voulez utiliser un mode graphique avec un environnement de bureau et ne pas être limité au mode terminal).
On clique sur la distribution choisie puis dans la nouvelle fenêtre sur Télécharger (vous pouvez vérifier auparavant la configuration requise en cliquant sur le lien du même nom).
Le téléchargement terminé, il faut cliquer sur Lancer. Une console s’ouvre annonçant l’installation en cours.
L’installation terminée (en fait il s’agit plutôt d’une pré-installation), vous devez rentrer un nom d’utilisateur et un mot de passe pour créer un compte et accéder à Linux. Ce mot de passe servira de mot de passe root (administrateur) pour obtenir certains droits sur le système comme l’installation de logiciels. Notez que lors de la saisie d’un mot de passe, aucun caractère ne s’affiche.
Si vous avez réussi cette étape avec la confirmation de votre mot de passe, vous obtenez la fenêtre suivante, et pouvez dès à présent lancer des commandes en mode console.
- Pour quitter Linux tapez « exit».
- Pour lancer Linux, ouvrez une fenêtre PowerShell ou une invite de commande et tapez la commande bash ou wsl (on dira par la suite qu’on ouvre un bash ou une console Linux) .
Un raccourci de la distribution installée a été créé (menu démarrer -> Récemment ajoutés), vous pouvez le placer sur l’écran de démarrage ou la barre de tâches pour lancer la console Linux.
1.3 - 3ème étape : Mise à jour et installation de logiciels Linux
Avant d’installer des applications, la première chose à faire est de mettre à jour la distribution.
Note : sudo en premier permet de lancer la commande apt update avec les privilèges root, équivalent du mode administrateur sous Windows (sudo est l’abréviation en anglais de superuser do, en français : « super utilisateur fait »).
- Dans la console Linux, tapez la commande sudo apt update afin de mettre à jour la liste des logiciels, entrez le mot de passe défini lors de la création du compte et attendez que la mise à jour se termine..
- Pour obtenir la dernière mise à jour de la distribution tapez la commande sudo apt-get upgrade
- Tapez sudo apt dist-upgrade pour mettre à jour la distribution entière (à faire régulièrement avec la commande sudo apt update, surtout avant d’installer des logiciels).
- La mise à jour demande un certain temps (si celle-ci semble se bloquer au bout d’un certain temps, tapez sur la touche entrée, une boite de dialogue est susceptible de s’ouvrir vous demandant de relancer certains services pour donner suite à la mise à jour de packages. Répondez « yes » le cas échéant).
- Une fois terminé, pour enlever les paquets obsolètes ou devenus inutiles tapez la commande sudo apt autoremove
- Pour « nettoyer » la console et y voir un peu plus clair en effaçant toutes les lignes de la console, tapez la commande
- Pour fermer la console et quitter Linux tapez la commande exit.
- Pour fermer une application ou reprendre la main sur la console tapez simultanément sur les touches ctrl et la touche
- Il est possible de lancer plusieurs consoles Linux en même temps comme n’importe qu’elle autre application Windows.
1.4 - 4ème étape : Installer des logiciels sous Windows Subsystem for Linux
Les distributions Linux du Microsoft store sont vraiment minimales, contrairement à une installation classique. Elles sont de plus en anglais.
Il va donc falloir installer des logiciels pour rendre intéressante l’utilisation de cette distribution.
En premier lieu nous allons la franciser, au moins pour que la console et les logiciels en mode console s’installent en français (ça sera un peu moins facile pour les environnement de bureau).
Dans la console Linux tapez les commandes sudo apt-get install locales. Une fois locales installées, tapez : sudo dpkg-reconfigure locales.
À un moment donné de l’installation, les fenêtres suivantes, en mode texte, vont s’afficher. On se déplace dans celles-ci avec le clavier :
- flèches haut et bas pour se placer sur une sélection,
- touche espace pour sélectionner ou désélectionner une case,
- touche Tab pour déplacer le curseur sur les zones comme ok ou Cancel,
- touche Entrée pour valider.
Dans la première fenêtre sélectionnez les trois cases commençant par fr_FR comme ci-après, validez par OK.
Dans la deuxième fenêtre sélectionnez fr_FR.UTF-8 (pas comme sur l’image) pour l’affichage par défaut et validez par OK.
Dans la fenêtre suivante on choisit le clavier Azerty (ou celui correspondant à votre type de clavier s’il est spécifique).
Si cette fenêtre ne s'ouvre pas et que votre clavier n'est pas en AZERTY mais en QWERTY (par exemple vous tapez la lettre a et c'est la lettre w qui s'affiche), entrez la commande :
sudo system-config-keyboard et choisissez votre clavier dans la liste. Si vous ne le trouvez pas choisissez un generic (par exemple Generic 105-key PC (intl.).
Pour notre premier logiciel, nous allons installer à titre d’exemple l’application Midnight commander qui est un gestionnaire de fichiers en mode semi graphique, pratique et puissant et qui va nous servir un peu plus loin.
Pour cela, dans la console tapez la commande : sudo apt-get install mc (mc est le nom de l’application à installer). Entrez votre mot de passe, le système va télécharger sur le dépôt l’application, validez par Y (yes) pour confirmer l’installation.
Note : pour désinstaller une application il faut taper la commande : sudo apt remove nom_application. Par exemple pour mc ce sera : sudo apt remove mc.
Une fois l’installation terminée, tapez la commande mc pour ouvrir Midnight Commander. Les messages de la console et les menus de mc devraient être en français.
Vous pouvez naviguer dans l’application avec la souris. Si vous placez la souris sur « /.. » vous remontez les répertoires. Vous êtes d’abord sur le disque C. Si vous remontez encore d’un cran vous obtenez la liste des disques qui sont montés sur votre ordinateur (le disque C apparait dans le répertoire /mnt/c, le disque D dans le répertoire /mnt/d, ...
Si vous remontez jusqu’au répertoire racine (« / ») vous verrez les différents répertoires traditionnels d’une distribution Linux (bin, boot, dev, etc, usr, …).
Pour voir le contenu des fichiers avec Midnight commander, déplacez-vous par exemple dans le répertoire /proc, sélectionnez le fichier cpuinfo et cliquez sur View (ou appuyez sur la touche F3) dans le menu de la dernière ligne de l’interface de Midnight commander. Le contenu du fichier s’affiche avec des informations sur le processeur. Cliquez sur Quit ou sur la touche F10 pour fermer la visualisation et revenir sur l’interface. Pour quitter Midnight commander cliquez encore sur Quit ou actionnez la touche F10.
Sur la console vous pouvez vous déplacer dans les répertoires en tapant la commande cd. Par exemples :
- cd / pour aller sur le répertoire racine
- cd /mnt/c pour aller sur le disque C :
- Pour afficher le contenu d’un répertoire il faut taper la commande ls ou encore ls -al pour obtenir le contenu détaillé.
Si vous tapez cd /mnt/ dans la console et que vous lancez Midnight commander, celui-ci s’ouvrira dans ce répertoire.
Vous pouvez consulter l’article Commandes fondamentales de Linux sur ce site pour voir des commandes supplémentaires ou consulter ce Tutoriel Linux pour débutants si vous ne maitrisez pas Linux. N’oubliez pas que dans Linux tout est fichier !
De la même façon on peut installer un serveur web.
- Entrez la commande sudo apt-get install apache2 pour installer un serveur Apache.
- Une fois le serveur installé tapez la commande sudo service apache2 start pour démarrer Apache.
- Ouvrez un navigateur internet sous Windows et entrez http://127.0.0.1 ou localhost dans la barre d’adresse.
- La page d’accueil du serveur devrait s’afficher prouvant que celui-ci est en fonction.
Pour arrêter apache2, il suffit d’exécuter la commande sudo service apache2 stop
Il ne reste qu’à installer une base de données MySql et le langage PHP pour créer un site Web local sous Linux ! (ce n’est pas le but de cet article).
Pour désinstaller un logiciel (ici apache2) tapez sudo apt remove apache2 ou sudo apt autoremove apache2
2 - Quelques manipulations dans le WSL
On peut donc accéder aux fichiers Windows depuis Linux. On a vu que le disque C: est automatiquement monté dans le répertoire /mnt/c. Il en est de même pour les autres lecteurs (/mnt/d/, …) du système Windows. On a vu également que les chemins sont accessibles avec les séparateurs « / » (pour Windows ce séparateur est « \ »).
Sous Linux les fichiers appartiennent à des utilisateurs avec différents droits possibles. Avec WSL les fichiers du système Windows appartiennent par défaut à l'utilisateur courant avec toutes les permissions (777) que l’on ne peut pas vraiment modifier.
2.1 - Accéder à des fichiers Linux depuis Windows
Les systèmes de fichiers n'étant pas les mêmes entre Windows et Linux, les programmes Windows ne savent pas gérer des fichiers Linux. Il ne faut donc pas essayer de modifier des fichiers systèmes Linux à partir d’applications Windows ou placer et modifier des fichiers dans des répertoires Linux avec Windows sous peine de les corrompre. Cependant un fichier créé par LibreOffice sous Linux pourra être ouvert par un LibreOffice sous Windows et inversement. Il faudra enregistrer ces fichiers dans des répertoires appartenant à Windows pour assurer la compatibilité (ce sera vrai pour d’autres applications comme les photos par exemple).
Depuis la version Windows 10 May 2019 Update, il est possible depuis l’explorateur Windows d’accéder aux fichiers Linux. Pour cela depuis la console Linux :
- Entrez la commande cd / de façon à être dans le répertoire racine de votre distribution.
- Tapez la commande exe . (n’oubliez pas le point après explorer.exe, sinon vous lancerez l’explorateur mais vous ne verrez pas les fichiers Linux).
Vous remarquerez que dans l’onglet Réseau de l’explorateur de fichier est apparu wsl$ qui vous donne accès au répertoire de la distribution (ici Ubuntu). Comme précisé précédemment, il n’est pas du tout conseillé de rajouter des fichiers ou de les modifier depuis Windows (à n’utiliser par prudence que pour la lecture ou la navigation).
2.2 - Commandes Linux depuis une console Windows
Il est possible d’utiliser une commande Linux depuis l'invite de commande Windows. Il suffit de la précéder de la commande ubuntu run.
Exemple sous une invite de commande Windows tapez ubuntu run ls -al pour avoir la liste détaillée du contenu d’un répertoire. Si vous avez installé une version spécifique de Ubuntu, par exemple la version 1804, il est possible qu’il faille utiliser ubuntu1804 run au lieu de ubuntu run seul.
2.3 - Lancer des programmes Windows depuis Linux
Pour exécuter des programmes Windows depuis la console Ubuntu, il est juste nécessaire de taper le nom du programme avec son extension (par exemple « notepad.exe » pour le bloc note de Windows ou « explorer.exe » ou « explorer.exe . » pour l’explorateur de fichier).
3 - Utiliser des applications Linux graphiques
Le WSL est optimisé pour l’utilisation de la ligne de commande dans un terminal. Il est cependant possible de lancer des applications en mode graphique voir un bureau complet. Notez que ces fonctions en mode graphique ne sont pas officiellement supportées par Microsoft et vous verrez que dans certains cas il peut y avoir des instabilités et des plantages d’applications, mais cela s’améliore au fur et à mesure des versions.
3.1 - Installation de l’environnement de bureau XFCE
Nous allons commencer par installer un environnement de bureau qui va permettre d’afficher les programmes et applications de la distribution sous forme de bureau (icônes, multifenêtrages, menus déroulants, effets visuels, …) comme sous Windows. Sans environnement de bureau, les applications s’afficheront dans des fenêtres indépendantes comme nous le verrons plus loin.
Contrairement à Windows dans lequel il n’existe qu’un seul environnement et donc finalement peu de possibilités de personnalisation, Linux peut accueillir de nombreux environnements de bureaux qui, associés avec différents gestionnaires de fenêtre (Compiz, Kwin, Metacity, Xfwm,…) et aux systèmes de fenêtrage (X Windows, X11, Mir), offrent d’immenses possibilités de personnalisation.
Parmi les environnements disponibles (Gnome, Kde, LXDE, Cinnamon, MATE, Unity, Razor-Qt, …) nous allons choisir un environnement léger qui utilise peu de ressources : XFCE.
- Sous Ubuntu tapez les commandes : sudo apt-get install compiz xinit xterm ubuntu-desktop xfce4 xfce4-session xfce4-goodies synaptic software-center (pour les nouvelles versions d'Ubuntu remplacer software-center par gnome-software ou lancez la commande sudo apt install gnome-software.
- Sous kali-linux tapez les commandes : sudo apt-get install compiz xinit xterm kali-desktop- xfce kali-desktop-common xfce4 xfce4-session xfce4-goodies synaptic
- Sous Debian tapez les commandes : sudo apt-get install compiz xinit xterm task-xfce-desktop xfce4 xfce4-session xfce4-goodies synaptic
Ces commandes installent des logiciels supplémentaires avec le bureau (n’oubliez pas avant de lancer sudo apt-get update && sudo apt-get upgrade). Notez que les commandes comprenant xfce4 pourront évoluer plus tard avec les nouvelles versions de xfce.
Synaptic est une application graphique qui permet d’installer et de désinstaller des applications (c’est comme un apps store très complet). S’il ne se lance pas via le raccourci créé dans le menu applications de XFCE, dans XFCE ouvrez un terminal (par exemple Applications -> System-> Xfce Teminal ou Xterm, et tapez la commande sudo synaptic).
Pour des informations complémentaires vous pouvez consulter ce site : https://www.linuxpedia.fr/doku.php/debian/installation_xfce_debian
L’installation est longue car il y a beaucoup de logiciels à installer, comptez au moins une bonne demi-heure sur un PC avec une configuration standard.
À un moment donné de l’installation, vous devrez choisir la configuration du clavier. Voici les 3 fenêtres d’option qui s’afficheront successivement, choisissez celles surlignées en rouge si vous possédez un clavier classique Azerty, sinon adaptez vos choix à votre clavier.
À la fin de l’installation, vous pouvez vérifier et réparer le cas échéant les dépendances en tapant la commande : sudo apt-get install task-xfce-desktop
3.2 - Lancer des applications en mode graphique
Nous allons décrire trois méthodes pour lancer des applications en mode graphique, :
- Un serveur d’affichage sous Windows.
- Une connexion bureau à distance.
- L’utilisation du logiciel Mobaxterm sous Windows.
La première méthode demande l’installation d’un serveur X sous Windows et quelques paramétrages particuliers de Linux, la deuxième demande l’installation de 2 applications Linux, la troisième ne demande que l’installation sous Windows du logiciel Mobaxterm.
3.2.1 – 1ère solution : Utilisation d’un serveur d’affichage sous Windows
L’environnement graphique utilisé sera un système de « fenêtres sous X » bien connu des linuxiens. Il s’agit de l’utilisation d’un protocole en réseau donnant la possibilité depuis un ordinateur d’ouvrir une fenêtre sur un autre ordinateur par l’intermédiaire d’un serveur d’affichage dit « serveur X ».
Dans notre cas l’affichage sera assuré par un serveur d’affichage X sous Windows 10, il faut donc commencer par installer un serveur de ce type.
3.2.1.1 - Installer un serveur d’affichage X pour Windows 10
Plusieurs serveurs X gratuits et/ou en open source sont disponibles pour Windows. On trouvera par exemple parmi les plus connus Xming et VcXsrv.
L’utilisation de l’application MobaXterm , qui comporte un serveur X (entre-autres) sera détaillée plus loin dans cet article.
Dans cette solution nous allons utiliser VcXsrv que l’on peut télécharger sur Sourceforge.net à cette adresse : https://sourceforge.net/projects/vcxsrv/ ou bien via ce site.
VcXsrv s’installe comme tout logiciel Windows. Après l’installation, lancez VcXsrv par l’intermédiaire de son raccourci Xlaunch créé sur l’écran d’accueil.
La fenêtre ci-dessous s’affiche, voilà les paramètres qu’il faudra sélectionner à chaque ouverture du serveur X.
Si vous sélectionnez :
- « One large Windows », les applications s’afficheront à l’intérieur d’une grande fenêtre du serveur X.
- « Multiple Windows », les applications s’afficheront dans des fenêtres différentes. Toutes les applications ne semblent pas supporter ce mode, par exemple gimp (logiciel de dessin, retouches photos) plante dans ce mode alors qu’il fonctionne correctement dans « One large Windows ».
Pour commencer, sélectionnez de préférence « One large Windows »
Comme nous allons plus loin paramétrer dans Linux un affichage « DISPLAY en 0.0 », dans Display number tapez 0 comme dans la figure ci-dessous.
Cliquez sur suivant, laissez les options par défaut.
Cliquez sur suivant.
Cochez la case « Disable access control » pour être sûr que toutes les applications pourront accéder sans restriction à ce serveur.
Cliquez sur suivant puis sur Terminer.
Une grande fenêtre noire vide s’ouvre. C’est dans cette fenêtre que s’afficheront nos application Linux.
Note : Désormais pour utiliser le serveur X vous devrez l’ouvrir en premier selon cette procédure puis ensuite ouvrir une console Linux.
3.2.1.2 – Paramétrer l’affichage de Linux
Il faut dans cette solution modifier des paramètres dans Linux pour que l’affichage puisse être dirigé sur le serveur X. Cela nécessite de modifier deux fichiers de configuration de Linux. Nous allons les modifier en utilisant un éditeur à partir de Midnight commander.
- Ouvrez la console Linux
- Tapez la commande mc
- Cherchez dans votre répertoire utilisateur courant (dans la console tapez la commande cd ~ puis mc pour y être ou bien allez dans le dossier /home/xxx où xxx est votre nom d’utilisateur)
- Cherchez le fichier nommé « .bashrc» pointez dessus avec la souris (il y a un point avant le nom du fichier qui signifie que c’est un fichier caché) .
- Appuyez sur la touche F4 ou cliquez sur Edit dans le menu inférieur de Midnight commander.
La première fois que vous ouvrez l’éditeur de mc, une fenêtre vous demande de choisir entre les éditeurs disponibles.
L’éditeur interne de Midnight commander convient très bien, on opte ici pour le choix 3 (le numéro peut varier selon votre configuration). L’éditeur ouvre le fichier .bashrc.
Allez à la dernière ligne de ce fichier et tapez : export DISPLAY= :0.0
Tapez sur la touche F2 ou cliquez sur Save pour sauvegarder la modification puis tapez sur F10 ou cliquez sur Quit (si c’est en anglais) pour quitter l’éditeur.
Le fichier « .bashrc » lancera automatiquement toutes les actions qui y sont inscrites à chaque ouverture de la console. Cela évite de rentrer manuellement la commande à chaque fois. La commande export DISPLAY= :0.0 va diriger la sortie graphique sur l’écran « 0 » du serveur X que nous avons installé et paramétré.
Si vous ne modifiez pas « .bashrc », vous devrez rentrer la commande export DISPLAY= :0.0 après chaque ouverture de la console Linux.
Il faut maintenant modifier un autre fichier de configuration de Dbus afin de rajouter des fonctionnalités tcp qui vont permettre le transfert des données entre le serveur X sur Windows et le bash de la distribution.
Pour cela il faut avoir les droits root et donc ouvrir Midnight commander avec sudo.
Lancez la commande sudo mc /usr/share/dbus-1/ pour aller directement dans le répertoire /usr/share/dbus-1. Vous devriez voir un fichier nommé session.conf. S’il n’y est pas, allez dans le répertoire etc/dbus-1 (l’emplacement du fichier session.conf varie selon les distributions) en lançant à la place la commande sudo mc /etc/dbus-1/
- Pointez la souris sur le fichier session.conf et ouvrez-le avec l’éditeur de mc (touche F4 ou cliquez sur Edit).
- Cherchez la ligne <listen>unix:tmpdir=/tmp</listen> et remplacez-la par <listen>tcp:host=localhost,port=0</listen>
- Sauvez et quittez l’éditeur.
Lancez le serveur X s’il est éteint. Taper xfce4-session dans la console Linux.
Avec Ubuntu, on obtient le message d’erreur dans la console X server already running in display 0.0. Le lancement via le bureau à distance (voir § 4.2.2) ne fonctionne pas non plus (toujours avec Ubuntu, mais on était prévenu !).
Sur le serveur X on obtient les types de messages ci-dessous.
On ne sait pas pour Ubuntu s’il s’agit d’un bug ou d’un problème de configuration, Pour l’instant le mode graphique n’est pas officiellement supporté par Microsoft.
Si vous avez installé les distributions Debian ou Kali-linux, le bureau XFCE4 va s’afficher au bout de quelque secondes (jusqu’à 10 secondes la première fois). Il arrive de temps en temps que pour ces distributions le lancement échoue avec un message d’erreur du serveur. Il suffit de recommencer, il peut exister parfois quelques ratés de démarrage.
Même si sous Ubuntu l’environnement de bureau ne fonctionne pas, on peut cependant exécuter des applications graphiques, nous allons voir comment elles se comportent.
3.2.1.3 - Installation de quelques applications graphiques
Les applications graphiques s’installent et se lancent de la même façon que les autres applications. Installons Firefox, Gimp et LibreOffice à titre d’exemple.
- Lancez le serveur X avec l’option « One large Windows »
- Ouvrez la console Linux et entrez la commande sudo apt install firefox gimp libreoffice
- Attendez que les applications s’installent et lancez la commande
Au bout de quelques secondes le logiciel gimp s’ouvre en plein écran dans le serveur X. Vous pouvez l’utilisez normalement. On constate simplement qu’on ne peut pas déplacer les fenêtres sur l’écran.
- Quittez gimp (menu File -> Quit).
- Saisissez maintenant la commande firefox pour lancer le navigateur.
Firefox s’ouvre, mais la fenêtre n’occupe pas tout l’écran et ne peut pas être déplacée. Firefox fonctionne mais on ne peut pas accéder à son menu. Pour quitter Firefox il faut fermer les onglets ou taper se mettre dans la console Linux et appuyer sur la touche « Control (Ctrl) » puis sur la touche « c ».
Saisissez maintenant la commande libreoffice pour lancer la suite bureautique.
La suite se lance normalement mais on constate que la barre supérieure de menu ne s’affiche pas. Si on lance par exemple Writer à partir du lanceur LibreOffice, le traitement de texte s’ouvre et fonctionne mais la barre de menu est inexistante, seules les icônes sont présentes. Pour quitter Writer il faut cliquez sur la petite croix en haut à gauche de sa fenêtre et on revient au lanceur de libreOffice., mais là plus de moyen de quitter proprement LibreOffice !
Il faut appuyer sur la touche « Control (Ctrl) » puis sur la touche « c » sur la console Linux ou fermer « sauvagement » le serveur X et la console.
3.2.1.4 - Lancer plusieurs applications en parallèle ou en arrière-plan
Il est possible de faire tourner plusieurs programmes en même temps au sein d'une même console (par exemple copies de fichiers ou sauvegarde en arrière-plan et utilisation d’une autre application en premier-plan).
Pour cela il faut lancer une application en rajoutant le symbole « & » après la commande.
Vous avez sans doute remarqué que quand vous lancez Firefox par exemple, vous n’avez plus la main sur la console Linux pour lancer une autre application. Il faut quittez Firefox pour que la console se libère pour vous permettre de lancer une autre commande.
Exemple : lancez la commande firefox & (ajouter un espace et & après le nom de l’application).
Firefox va s’afficher sur le serveur X et vous constatez que la console vous redonne la main pour lancez une autre commande (si ce n’est pas le cas, tapez une ou plusieurs fois sur la touche enter dans la console , ou redimensionnez un peu la fenêtre de la console pour forcer la mise à jour).
- Lancez un éditeur comme gedit en tapant la commande gedit &. (installez-le avant si nécessaire avec la commande sudo apt install gedit).
- La fenêtre gedit s’ouvre dans le serveur X, vous pouvez la déplacer et utiliser Firefox et gedit en même temps.
- Cependant si on lance gimp &, l’application se lance puis plante ! La commande libreoffice & lance LibreOffice comme précédemment.
Utiliser le mode Multiple Windows du serveur X
Lancez des applications graphiques en parallèle est intéressant en adoptant le mode « Multiple Windows » du serveur X.
- Quittez le serveur X et fermez la console Linux en tapant la commande exit.
- Relancer le serveur X en choisissant l’option « Multiples Windows ».
- Lancez le bash Linux.
Si vous avez installé le bureau XFCE, bien qu’il ne se lance pas, des jeux se sont installés (. Si vous n’avez pas installé le bureau XFCE, installez-les avec la commande apt-get install. Dans Kali, les jeux ne sont pas présents et ne sont pas installables par cette méthode).
Dans la console saisissez les commandes :
- sol & (pour lancer un solitaire).
- gnome-mines & (pour lancer le jeu mines)
- gnome-mahjongg & (pour lancer le jeu Mahjongg)
Les applications se lancent dans des fenêtres indépendantes comme les autres applications Windows, leurs icônes s’affichent dans la barre de tâche et ces jeux fonctionnent très bien.
En revanche si vous lancez la commande libreoffice &, le serveur X plante presque immédiatement, il ne reste que solution passer par le gestionnaire de tâches de Windows pour tuer la tâche (appuyez simultanément sur les touches Ctrl, Alt et Suppr , choisir le gestionnaire de taches, dans la liste des processus cherchez VcXsrv Windows server, faîtes un clic droit puis choisissez fin de tâche).
On constate donc que les applications graphiques sous Ubuntu fonctionnent plus ou moins bien (vous pourrez tester avec une autre distribution pour voir si c’est mieux). Les applications fonctionnent bien mieux sous un environnement de bureau si vous avez installé Debian et Kali (les autres distributions n’ont pas été testées).
3.2.1.5 - Lancement de Kali Linux
- Si vous avez installé la distribution Kali Linux (ou Debian), lancez la console.
- Ouvrez le serveur X avec l’option « One large Windows)
- Tapez la commande xfce4-session, attendez environ 10 secondes avant que le bureau s’affiche.
L’environnement de bureau XFCE de Kali-Linux s’ouvre dans la fenêtre du serveur X. Si vous avez installé Firefox ou LibreOffice, vous pouvez les lancer à partir du menu Applications du bureau XFCE. (vous pouvez installer ou désinstaller des applications à partir de la console Linux ou dans un terminal lance dans XFCE), le menu Applications se mettra automatiquement à jour.
Ci-dessous un bureau XFCE de Kali-Linux avec notamment Firefox et LibreOffice Writer ouverts.
Remarques importantes
- Kali Linux est une distribution spécialisée sur la sécurité (tests d’intrusions, tests et recherches de vulnérabilités, cassage de mot de passe, etc …). Le Microsoft store propose une version minimale et la plupart des logiciels de sécurité installés par défaut dans la distribution standard ne sont pas présents et il faut les installer manuellement (c’est d’ailleurs vrai pour les autres distribution fournies par Microsoft).
- Pour installer les applications de sécurité de Kali :
- Dans une console tapez la commande sudo apt-list kali-linux-*
- Vous obtenez la liste des packages avec leur nom, vous pouvez les installer un par avec :
- sudo apt-get install nom_du_paquet ou tous d’un coup avec la commande sudo apt-get install kali-linux-full (la liste est longue, l’installation demande un certain temps il y a plus de 6 Go à installer).
- Pour installer des applications une par une ou aussi par package, vous pouvez aller sur le site https://tools.kali.org/ . Dans la rubrique Tools vous avez la liste des applications disponible de Kali et dans la rubrique Meta-packages la liste des packages. Par exemple dans Tools nous avons une application qui s’appelle Whatweb. En cliquant suer le lien on obtient son mode d’emploi, elle s’installe avec sudo apt-get install whatweb
- Notez que dans Kali, les applications de sécurité doivent être lancées en mode root pour bien fonctionner (presque toutes). Le mieux est de créer un compte utilisateur avec les privilèges root et s’y connecter ou bien lancer les application avec sudo.
- Certain packages de Kali Linux contiennent des virus (non actifs pour votre système) afin d’être utilisés avec certaines applications de sécurité. Lors de l’installation ou lors d’un scan votre antivirus va les intercepter refuser l’installation ou les mettre en quarantaine. L’installation sera incomplète. Pour éviter ça, pendant l’installation de ces packages il faudra désactiver votre anti-virus, puis quand vous le réactiverez mettre une exception sur des répertoire du dossier Appdata de votre compte utilisateur (pas génial pour la sécurité !).
- Dans C:\user\nom_utilisateur\Local\Appdata\Local\Packages
- ou dans C:\Utilisateurs/nom_utilisateur\appdata\Local\Packages.
- Dans Packages cherchez un dossier de la forme Kalilinux.54290C8133FEE-ey8k8hqnwqnmg (les chiffres et lettre après kalilinux peuvent éventuellement changer) et placez une exception dessus.
- Le dossier Appdata est un répertoire caché. Pour le voir, il faudra cocher l’option afficher les fichiers cachés dans le menu Affichage-> Options-> Modifier les options des dossiers et de recherche de l’explorateur de fichier Windows.
3.2.2 – 2ème solution : utilisation du bureau à distance
Le bureau à distance est une fonctionnalité de Windows 10 de contrôle à distance permettant d’accéder à l’interface graphique d’un ordinateur physiquement éloigné via un autre ordinateur local. Dans le cas présent le bureau à distance va nous permettre de nous connecter à un environnement de bureau de Linux.
Pour cela il faut installer un environnement de bureau dans votre distribution de Linux (dans notre cas le bureau XFCE).
- Il n’est pas nécessaire d’utiliser de serveur X sur Windows
- Aucun paramétrage supplémentaire n’est nécessaire Il ne faut donc pas modifier les fichiers de configuration .bashrc et conf. Si vous l’avez fait dans l’étape précédente, revenez à l’ancienne configuration (supprimer la ligne export DISPLAY :=0.0 dans .bashrc et remettez la ligne <listen>unix:tmpdir=/tmp</listen> à la place de la ligne <listen>tcp:host=localhost,port=0</listen>.
- En revanche il faut installer deux nouvelles applications dans Linux Xrdp et Xorg. Pour cela lancez les commandes sudo apt install xrdp xorg .
3.2.2.1 - Lancer l’environnement de bureau
- Ouvrez la console linux.
- Lancez le serveur xrdp en tapant la commande sudo /etc/init.d/ xrdp start. Le serveur devrait se lancer et la console devrait afficher le numéro de port utilisé, en principe 3389 comme ci-dessous.
- Dans Windows 10, lancez le bureau à distance. Dans la barre de recherche tapez connexion bureau à distance et lancez l’application.
- Dans la fenêtre qui s’ouvre tapez 127.0.0.1 suivi du numéro de port du serveur xrdp, de cette façon : 0.0.1 :3339. (127.0.0.1 est l’adresse locale de votre ordinateur (localhost). Notez que dans un réseau local vous pouvez vous connecter à un environnement linux, à la place de 127.0.0.1, entrez l’adresse IP de l’ordinateur hôte ayant la console Linux ouverte et le serveur xrdp lancé (sur cet ordinateur vous pouvez obtenir l’adresse IP en entrant la commande ipconfig dans une invite de commande Windows. Cette adresse est souvent de la forme 192.168.1.xxx).
- Après avoir cliqué sur connexion, tapez dans la fenêtre suivante votre nom d'utilisateur et votre mot de passe puis cliquez sur OK.
Au bout de quelques secondes le bureau XFCE devrait apparaitre.
3.2.3 -3ème solution : utilisation de MobaXterm
MobaXterm est une sorte de « couteau suisse » pour l’utilisation de Linux sous Windows. Il possède plusieurs logiciels en un et regroupés dans son interface (clients SSH, SFTP, FTP, RDP, VNC, serveur X, …).
MobaXterm peut être téléchargé sur le site de l'éditeur ou sur notre site.
Si après avoir installé des distributions vous ouvrez MobaXterm, vous verrez dans la colonne de gauche la liste des distributions installées. Dans l’exemple ci-après on voit les distribution Kali Linux et Ubuntu.
WSL-Kali lance la console, WSL-Kali (XFCE4) lancera l’environnement de bureau sur le serveur X de Mobaxterm. Il n’y a aucun paramétrage à faire, Mobaxterm s’occupe de tout (si vous avez modifié les paramètres en utilisant la 1ère méthode, remettez les paramètres de sessions.conf et .bahrc comme à l’installation).
On constatera ici aussi que Ubuntu sous XFCE ne fonctionne pas non plus.
Contrairement à la première méthode, on n’a pas la possibilité d’avoir un mode « multiple windows ».
La méthode 2 fonctionne aussi avec le bureau distant. Installer comme indiqué à l’étape 2 xrdp (xorg n’a pas besoin d’être installé) si ce n’est pas déjà fait. Lancez xrdp (sudo /etc/init.d/xrdp start)
- Dans Mobaxterm allez dans le menu Sessions -> new session
- Choisissez RDP
- Dans remote host entrez 127.0.0.1 ou l’adresse IP d’un ordinateur sur le réseau local dans lequel vous avez lancé kali linux et le serveur xrdp) , dans Username votre nom d’utilisateur, dans port entrez 3389 ou un autre port indiqué lors du lancement de xrdp) et cliquez sur ok.
Au bout de 5 à 10 secondes le bureau XFCE va s’afficher.
Un nouveau raccourci va se rajouter dans la colonne de gauche de Mobaxterm, par la suite vous pourrez lancer le bureau en cliquant dessus (clic droit pour le renommer, ou changer les paramètres).
4 - Points complémentaires
4.1. - WSL et les outils de virtualisation
Il semble que Virtualbox et WSL ne fassent pas bon ménage. Si vous avez installé VirtualBox et que vous installez WSL, vous constaterez que les machines virtuelles ne se lancent plus, on obtient l’affichage d’une erreur type VT-x is not available. (VERR_VMX_NO_VMX).
La désinstallation de WSL règle le problème.
4.2. – Lancements multiples sous des modes différents
Si vous testez les différentes solutions d’affichages d’application graphiques ou que vous lanciez plusieurs distributions, ils est possible que Windows se mélange les pédales et que ça ne fonctionne plus (par exemple si vous utilisez Kali-Linux avec le bureau à distance et que vous changez de distribution un peu plus tard, le lancement d’une autre distribution avec le bureau à distance ne pourra pas toujours se faire car le serveur xrdp reste lancé sur kali (même en le stoppant avant avec la commande sudo /etc/init.d/ xrdp stop).
Si vous constatez des dysfonctionnement de ce type, redémarrez votre ordinateur ou votre session utilisateur Windows.
4.3. – Réinitialisation d’une distribution
Pour désinstaller une distribution allez dans Paramètre Windows -> Applications. Dans la liste des applications recherchez votre distribution, cliquez dessus et choisissez désinstaller.
Si vous désirez réinitialiser une distribution pour vous éviter de la désinstaller puis de la réinstaller, toujours dans applications, au lieu d’appuyer sur Désinstaller comme précédemment , cliquez sur options avancées et dans la liste choisissez Réinitialiser. Relancer la console Linux et reprenez l’initialisation de la distribution.
La désinstallation de WSL ne supprime pas les distributions qui doivent être désinstallées une par une.
4.4. – Mettre en français l’environnement de bureau ?
Si la console et l’installation de logiciels comme Midnigth commander ont pu être mis en français, la tâche de mettre en français l’environnement de bureau et d’autre logiciels comme LibreOffice semble moins évidente.
Lors des installations, on constate souvent que des erreurs sont listées sur la console. Des variables concernant la langue ne sont pas renseignées et des fichiers de configuration sembles manquer notamment pour le langage PERL.
Il faudra poursuivre des recherches dans les forums pour trouver peut-être une solution, qui ne doit pas être trop complexe, puisque tous les langages sont potentiellement disponibles dans les distributions.
Si vous trouvez une solution ou une piste (pour ce problème ou celui du fonctionnement de l’environnement de bureau avec Ubuntu) merci de la mettre en commentaire.
En conclusion, on peut dire que la mise en place du WSL par Microsoft est une innovation que l’on peut qualifier de géniale. Ce système permet sous Windows d’exécuter directement des applications Linux, il est plus rapide et moins lourd qu’une machine virtuelle (voir l’article Virtualiser Linux sous Windows ).
- Le mode console fonctionne en mais il faut avoir l’habitude de la ligne de commande. Il est surtout utile pour les administrateurs et les développeurs.
- Le mode graphique s’avère utile surtout si on veut faire tourner des applications qui n’ont pas d’équivalent dans Windows. Cela évite pour certain cas d’avoir des machines virtuelles dédiées, plus encombrantes et plus gourmandes en ressources.
Ce Windows Subsystem for Linux devrait s'améliorer grandement avec les versions de Windows. Peut être qu'un jour nous ne ferons plus la différence en Windows et Linux sous ... Windows.
Dans la version d'avril 2020 de Windows qui sera disponible courant mai 2020, Microsoft ira plus loin en intégrant désormais un noyau complet. Cette évolution devrait rendre le sous-système Linux encore plus complet. Cette version WSL2 qui devrait cette fois ci se rapprocher d'une virtualisation de bas niveau associée à une utilisation transparente pour l'utilisateur. Cette version cohabitera un certain temps avec la première version WSL1. On pourra donc lancer des bash dans les deux versions.