Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Installer un environnement graphique X (Linux) et de programmation sous Windows 10 (Windows Services for Linux, WSL)
Article mis en ligne le 20 juillet 2016
dernière modification le 1er mars 2017

par Laurent Bloch
logo imprimer
Licence : CC by-nd

Un article précédent exposait comment installer les services Linux de Windows 10 (WSL) dans l’environnement Windows. Aujourd’hui la démarche est encore assez compliquée, mais on nous promet que début août 2016 la prochaine mise à jour de Windows 10 placera toute cette installation dans le champ de ce qui est standard, et normalement ce devrait devenir facile (sélection des services WSL dans le menu Programmes du Panneau de configuration). Ajout 3 février 2017 : je viens d’essayer avec un Windows 10 récent, oui ça marche !

Ceci accompli, on peut travailler en ligne de commande sous le shell Bash de Linux, dans la fenêtre d’invite de commande de Windows, ou dans une fenêtre PowerShell, quand même plus confortable. C’est parfait pour l’homme système, mais l’utilisateur moyen attend de nos jours un environnement graphique, ne serait-ce que pour son navigateur Web. C’est encore du travail, mais on va y arriver.

 Installer l’environnement de programmation pour Bigloo

Dans un premier temps je pense à mes étudiants du Cnam, qui ont besoin de l’environnement de programmation Bigloo pour faire le travail que je leur donne.

Les prérequis sont les mêmes que pour Ubuntu normal (cf. l’article qui en parle). Dans une fenêtre PowerShell entrer les commandes suivants :

La version 24 d’Emacs fonctionne correctement en ligne de commande (emacs -nw --color=never <mon-fichier>), mais pas en mode graphique dans WSL pour l’instant. Il semble que la prochaine version (25) corrigera cela. En attendant on peut installer Xemacs qui fonctionne parfaitement :

Toutes les versions de Bigloo ne s’installent pas parfaitement, la démarche que je conseille, parce que je l’ai effectuée avec succès, passe par l’enchaînement des commandes suivantes (toujours sous bash dans une fenêtre PowerShell) :

Si tout s’est bien passé, normalement Bigloo fonctionne et on peut commencer à programmer dans une fenêtre PowerShell où on aura lancé bash, en saisissant les texte de ses programmes avec emacs ou Xemacs (xemacs -nw <mon-fichier>). Mais ce sera mieux avec un environnement graphique.

 Windows Services for Linux (WSL) en mode graphique

L’environnement graphique sera un de ceux habituels sous Linux, c’est-à-dire un système à fenêtres sous X [1], mais l’affichage sera assuré par un serveur d’affichage X sous Windows 10, il faut donc commencer par installer un tel serveur.

 Un serveur d’affichage X pour Windows 10

Les deux serveurs X disponibles pour Windows, logiciels libres et bien maintenus sont Xming et VcXsrv. Les deux viennent avec leur outil de lancement Xlaunch, fonctionnent correctement, modulo quelques restrictions, on peut les télécharger sur Sourceforge.net. Pour VcXsrv, pour lequel j’ai une légère préférence :

https://sourceforge.net/projects/vcxsrv/

Ce logiciel s’installe comme tout logiciel Windows.

Il faudra lancer VcXsrv au moyen de Xlaunch avant les opérations suivantes. Attention, la procédure de lancement propose plusieurs options, avec plusieurs fenêtres, plein écran, etc., mais la seule qui fonctionne est : une seule grande fenêtre, comme indiqué sur cette figure. J’ai perdu trois jours avant de trouver cette information capitale sur ce forum ou sur cet autre (consulter les deux ne sera pas du temps perdu).

Il est aussi possible, toujours dans le menu Xlaunch, de désactiver le contrôle d’accès, mais cela fonctionne également avec le contrôle d’accès.

Si comme moi vous avez des souvenirs émus des débuts de X dans les années 80, lancez plutôt Xming : la fenêtre qui s’ouvre est exactement celle d’il y a un quart de siècle, c’est émouvant...

 Correctif pour dbus

De nombreux logiciels Unix/Linux utilisent, notamment en mode graphique, un service de communication nommé dbus, qui ne fonctionne pas avec WSL. Il faut donc le contourner. Le correctif a été fourni par ShaRose. Il faut modifier deux fichiers, .bashrc dans votre répertoire d’accueil (home directory), et /etc/dbus-1/session.conf, soit en les éditant avec Emacs, soit ainsi (bon exercice de shell Unix) :

C’est-à-dire, placer à la fin de .bashrc la ligne :

et dans le fichier /etc/dbus-1/session.conf modifier la ligne <listen>...</listen> ainsi :

Toujours dans ce même fichier /etc/dbus-1/session.conf j’ai remplacé la ligne <auth>EXTERNAL</auth> par les deux lignes suivantes, avec un bon résultat, même Emacs se présentait bien :

Une autre invocation magique qui m’a semblé avoir de l’effet (je l’ai appliquée, peu après XFCE démarrait...) :

Plus de détails, si besoin, ici. Mais, très clairement, tout ce que j’obtiens dans l’environnement graphique est un peu instable.

 Retour à WSL et Bash

Une fois notre serveur X pour Windows lancé, retour à la fenêtre PowerShell et à Bash. Il y a encore quelques petites choses à installer (c’est l’environnement Xfce4 qui m’a donné les meilleurs résultats) :

et ensuite :

et si tout s’est bien passé, on a un bureau Linux complet ! Bon, on lance une fenêtre Terminal, on clique sur le menu Edit -> Profile Preferences pour choisir la couleur « Noir sur fond clair », parce qu’avec « Noir sur noir » on n’y voit rien.

Voilà, ainsi on est enfin dans un monde familier, sous Windows, et avec de bien meilleures performances qu’avec une machine virtuelle !

Notes :

[1Souvent on l’oublie, mais les systèmes Unix, dont Linux, sont dotés d’un système d’interface graphique inégalé, X Windows System, ou tout simplement X. C’est un protocole en réseau, ce qui permet, depuis un ordinateur, d’ouvrir une fenêtre sur un autre ordinateur. Le serveur X est le serveur d’affichage, pas le serveur de programmes ou de données, ce qui est un peu déroutant quand on n’est pas habitué. Ce système extraordinaire est le fruit de la collaboration entre Digital Equipment Corporation (DEC), IBM et le MIT dans les années 1980 (première version en 1984), sous la bannière du projet Athena.


Forum
Répondre à cet article


pucePlan du site puceContact puceMentions légales puceEspace rédacteurs puce

RSS

2004-2017 © Site WWW de Laurent Bloch - Tous droits réservés
Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.87.15