Savez-vous que Windows 10 embarque nativement un terminal bash sous sa carapace ? Maintenant vous le savez et cet article vous explique comment l’activer et l’utiliser.

Un peu d’histoire

Pour faire court, Microsoft a lancé le bureau (mode “desktop”) sous le nom éternel de Windows pour faciliter la prise en main d’un ordinateur pour les nouveaux utilisateurs.

C’est ridicule !

Je parle de ça, ça date des années 90′ 😉

Son nom a donc été donné aux distributions “bureau” de Microsoft : Windows (sous toutes les déclinaisons qu’on connait)
Maintenant Windows est l’une des références des systèmes d’exploitation et de bureau d’ordinateur.

J’ai l’impression de passer pour un vieux avec ces phrases d’un autre temps

Quoi qu’il en soit, Microsoft a très longtemps gardé ses affaires pour lui en verrouillant les sources ainsi que les données des systèmes Windows.

Depuis 2017-2018, Microsoft a décidé de s’ouvrir au monde de l’Open source, ce qui a été une grande surprise pour tous les utilisateurs de Microsoft et surtout pour les nombreux contributeurs de logiciels Open source : un gros concurrent monte en scène.

Ce revirement de situation est un choix stratégique… et un peu économique. Les distributions Windows ne se vendent plus aussi bien qu’avant, Microsoft n’est pas vu comme il l’espérait ; le messie des ordinateurs. Bref, le monde a une toute autre philosophie des logiciels et de leur code ; l’Open source a le vent en poupe depuis très longtemps et Microsoft appuie largement ce choix.

Le monde de l’Open source existait en parallèle des systèmes Windows, et les contributeurs n’utilisent pas nécessairement les environnements Windows pour alimenter l’écosystème Open source. Microsoft devait donc rattraper son retard et s’afficher d’avantage dans cette direction noble. Le gros challenger de Windows est bien entendu Linux (ou Unix pour viser plus large) ; qui est à la base bâti sur des contributeurs bénévoles et non rémunérés.

Ce que l’on sait moins, c’est que depuis des années les ingénieurs de Microsoft contribuent sur au moins 30% du code du kernel Linux. Étonnant d’entendre cette information quand on les pensait éprouver leur vendor-locking (l’aspect propriétaire des logiciels) sur leurs produits.

C’est maintenant dans cette toute nouvelle optique que Microsoft influe sur le “marché” de l’Open source et met a profit ces nouvelles techniques et technologies sur leurs systèmes traditionnels : Windows.

Activer le terminal Linux

Le terminal Linux n’est pas nécessairement activé sur votre système. Pour le vérifier, recherchez le logiciel “bash” dans le menu Démarrer.

Recherche de "bash" dans le menu Démarrer.
Recherche de “bash” dans le menu Démarrer.

Si le logiciel “bash” apparait, c’est qu’il est installé, et vous pouvez donc sauter cette section et vous rendre à la section suivante : Configurer le terminal Linux.

S’il n’apparaît pas, suivez les instructions qui suivent.

Ouvrez le “Panneau de configuration” :

Panneau de configuration
Panneau de configuration

Rendez-vous dans “Programmes” :

Programmes
Programmes

Puis dans “Programmes et fonctionnalités” :

Programme et fonctionnalités
Programme et fonctionnalités

Et enfin, dans le menu de gauche, dans “Activer ou désactiver des fonctionnalités Windows” :

Fonctionnalités de Windows
Fonctionnalités de Windows

Recherchez l’entrée “Sous-système Windows pour Linux” dans l’écran des fonctionnalités de Windows, et activer l’option. Validez.

Le terminal Linux est maintenant disponible dans les programmes du menu Démarrer.

Configurer le terminal Linux

Testons si le terminal fonctionne. Lancez une invite de commande (Invite Windows ou Powershell) et exécuter la commande suivante :

bash

Si la réponse ressemble à la capture d’écran qui suit, consultez la suite de la section :

Résultat de recherche d'images pour "windows 10 bash linux aka.ms"
$ bash

Ce message indique qu’aucune distribution n’est installée. En effet, le terminal se base sur un système d’exploitation pour pouvoir se lancer. L’environnement associé au système d’exploitation conditionne toutes les commandes qu’on pourra lancer.

Le message nous invite à consulter une URL, on va donc s’y rendre : https://aka.ms/wslstore (elle redirige vers le Store de Microsoft).

Pas de panique, c’est la bonne voie !

Comme par miracle, on peut voir les distributions Linux qu’on peut installer. Pour les fans des environnements RedHat/CentOS (comme moi :'( ), ce ne sera pas pour tout de suite.

Microsoft Store WSL
Microsoft Store WSL

Si vous ne connaissez aucune distribution, préférez Ubuntu, qui est la plus facile à utiliser et la plus documentée sur internet. Vous n’aurez pas de mal à trouver de l’aide si vous êtes bloqué.

Sélectionnez Ubuntu (ou une autre distribution) et cliquez sur “Télécharger” :

WSL Ubuntu
WSL Ubuntu

Une fois le téléchargement terminé, installez la distribution en cliquant sur le bouton “Lancer” :

Distribution WSL Ubuntu
Distribution WSL Ubuntu

Une nouvelle invite de commande s’ouvrira en indiquant “Installation en cours”. Attendez un peu, ce sera bientôt prêt !

Une fois que vous voyez apparaître ces quelques lignes, c’est que le terminal est installé et prêt à l’emploi :

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

glefebvre@P52S-R90QD2FM:/mnt/c/WINDOWS/system32$

Comment lancer le terminal bash

Une fois installé, vous pouvez lancer votre terminal bash natif de plusieurs façons :

  • En exécutant le programme bash (comme montré au tout début de l’article)
  • En exécutant la distribution que vous venez d’installer

Pour exécuter la distribution, vous pouvez procéder à l’aide du menu démarrer, ou avec la ligne de commande (PowerShell par exemple).

Entrer dans la distribution

Ouvrez une commande PowerShell sur votre poste.

Toutes les distributions téléchargées sont visibles avec la commande suivante :

wsl -l
Distributions du sous-système Windows pour Linux :
Ubuntu-18.04 (par défaut)

Définissez la distribution que vous souhaitez utiliser :

wsl -s Ubuntu-18.04

Entrez maintenant dans cette distribution :

wsl

Vous pouvez à présent jouir de votre environnement bash natif au sein de Windows 10.

Bien démarrer avec le terminal

Vous avez votre terminal, et maintenant ?

Si vous êtes un utilisateur confirmé de Linux, vous pouvez vaquer librement à vos occupations.

Installer les premiers paquets Linux

Windows installe des programmes à l’aide de fichiers .exe ou .msi, Linux installe des paquet qui sont disponibles depuis des registres distants appelés repositories (repository au singulier).

Ubuntu, par exemple, nécessite de mettre ces repositories à jour avant d’installer des paquets :

apt update

Une fois les repositories à jour, vous pouvez installer votre premier paquet Linux : wget (qui sert à télécharger une page web sur le disque)

apt install -y telnet wget tcptraceroute nmap

Une fois installée, l’application est directement disponible dans le terminal. Regardons la version du logiciel :

wget --version

Il affichera un message de ce genre :

GNU Wget 1.19.4 built on linux-gnu.

-cares +digest -gpgme +https +ipv6 +iri +large-file -metalink +nls
+ntlm +opie +psl +ssl/openssl

Wgetrc:
    /etc/wgetrc (system)
Locale:
    /usr/share/locale

Tips pour les pythoneurs

Pour les utilisateurs de Python, vous pouvez installer le binaire python dès maintenant.

Étant donné que la version 2 de python n’est plus maintenue, installez directement la version 3 :

apt update
apt install -y python3

Et n’oubliez pas le gestionnaire de librairies python, indispensable si vous utilisez plus que les librairies standards :

apt install -y python3-pip

Conclusion

Le module WSL permet d’embarquer un système d’exploitation Linux directement et nativement dans Windows. Ceci rend l’utilisation des binaires beaucoup plus simple et naturelle versus un environnement émulé ou simulé comme Git Bash ou Cygwin.