introduction
Cet article est destiné à l'attention des administrateurs système qui préparent des lieux de travail typiques sur des ordinateurs exécutant Windows 10, y compris les développeurs de logiciels.
Il est à noter qu'il existe un certain problème lié à l'impossibilité d'intégrer des logiciels obtenus à partir du Microsoft Store en ligne pour une utilisation dans une image personnalisée de Windows 10. Sans entrer dans les détails, je préciserai que ce problème est dû au fait que les programmes installés à partir du Microsoft Store sont liés avec le compte de service Administrateur, et lorsque l'utilitaire termine la création d'une image personnalisée
sysprep
, des erreurs dues à cette circonstance se produisent.
La méthode décrite dans cet article pour éviter un tel problème lors de la préparation d'une image de Windows 10 avec un sous-système WSL2 préconfiguré, ainsi qu'avec une image pré-préparée et configurée d'Ubuntu 20.04 avec l'interface graphique KDE Plasma, qui à son tour peut avoir son propre ensemble de logiciels personnalisés.
Il existe un grand nombre d'exemples et de guides sur Internet pour configurer les sous-systèmes WSL (c'est-à-dire WSL1 et le WSL2 relativement nouveau), avec la configuration de l'interface graphique pour les systèmes Linux basés sur le système d'exploitation à partir d'Ubuntu 16.04 et se terminant par Ubuntu 20.04, mais cela concernait principalement bureaux basés sur le soi-disant. "Lightweight" xfce4, qui a des limites compréhensibles dans les paramètres utilisateur. Mais en ce qui concerne l'interface graphique KDE Plasma pour Ubuntu 20.04, il n'y avait aucune information substantielle sur le net. Mais c'est cette option qui fournit à l'utilisateur final un ensemble presque illimité de paramètres pour l'apparence du système et les paramètres de l'équipement, bien sûr, en tenant compte des capacités d'intégration actuelles des systèmes Linux implémentés dans le sous-système WSL2.
Installation de la suite logicielle requise et configuration de WSL2
Nous vérifions la version actuelle de Windows, pour cela, dans la barre de recherche Windows, entrez la commande
winver
et obtenez quelque chose comme ce qui suit:
Il est important que le système d'exploitation ait la version 1903 ou 1909 (les versions du système d'exploitation spécifiées doivent être avec la mise à jour cumulative KB4566116 installée), ou 2004 (numéro de version pas moins de 19041), le reste des informations n'a pas d'importance. Si le numéro de version est inférieur, il est recommandé de mettre à niveau vers la dernière version de Windows pour répéter correctement les résultats présentés dans cet article.
Pour faciliter d'autres actions, installez le terminal Windows gratuit à l'aide du Microsoft Store (il existe également la possibilité de télécharger à partir d'autres sources):
Nous installons X Server X410 via le même Microsoft Store, ce logiciel est payant, mais il y a une période gratuite de 15 jours, ce qui est largement suffisant pour divers tests.
Comme alternative gratuite à X410, téléchargez et installez le serveur VcXsrv X.
Dans n'importe quel endroit pratique sur le disque, créez un répertoire dans lequel nous stockerons nos fichiers. Créons un répertoire comme exemple
C:\wsl
.
Téléchargez et installez le programme d'installation hors ligne Ubuntu 20.04, décompressez le fichier résultant à l'aide d'un archiveur (par exemple 7-zip). Renommez le répertoire décompressé avec un nom long
Ubuntu_2004.2020.424.0_x64
en quelque chose de plus acceptable, par exemple, Ubuntu-20.04
et copiez-le dans un répertoire C:\wsl
(ci-après simplement \wsl
).
Téléchargez et décompressez le
\wsl
serveur audio multiplateforme PulseAudio v.1.1 dans le répertoire , et apportez également des corrections à ses fichiers de configuration.
Dans le fichier
\wsl\pulseaudio-1.1\etc\pulse\default.pa
sousLoad audio drivers statically
éditez la ligne:
load-module module-waveout sink_name=output source_name=input record=0
et dans la section,
Network access
éditez la ligne:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
Dans le fichier,
\wsl\pulseaudio-1.1\etc\pulse\daemon.conf
décommentez et modifiez la ligne
exit-idle-time = -1
Nous configurons le sous-système WSL2 conformément à la documentation Microsoft. La seule remarque est que nous avons déjà téléchargé la distribution Ubuntu, et nous l'installerons à l'étape suivante. Fondamentalement, la configuration se résume à l'activation des composants supplémentaires «Sous-système Windows pour Linux» et «Plateforme de la machine virtuelle», puis au redémarrage pour appliquer les modifications aux paramètres de l'ordinateur:
Si nécessaire, téléchargez et installez le package de mise à jour pour le noyau Linux dans WSL2.
Lancez Windows Terminal et sélectionnez le mode Invite de commandes en appuyant sur les touches
Ctrl+Shift+2
.
Tout d'abord, nous définissons le mode de fonctionnement WSL2, pour cela, nous entrons la commande:
wsl --set-default-version 2
Accédez au répertoire avec le chargeur de démarrage Ubuntu 20.04 hors ligne, dans mon cas, c'est
\wsl\Ubuntu-20.04
et exécutez le fichier ubuntu2004.exe
. Lorsqu'on me demande un nom d'utilisateur, je spécifie un nom engineer
(vous pouvez entrer n'importe quel autre nom), entrez votre mot de passe et confirmez le mot de passe entré pour le compte spécifié:
Une invite de terminal apparaît, le noyau Ubuntu 20.04 est installé. Vérifions l'exactitude du paramètre de mode WSL2, pour cela, dans le terminal Windows, sélectionnez l'onglet Windows PowerShell et entrez la commande:
wsl -l -v
le résultat de l'exécution devrait être comme ceci:
Nous configurons le pare-feu Microsoft Defender, c'est-à-dire désactivez-le pour le réseau public:
Configurer Ubuntu 20.04
Dans le Terminal Windows, sélectionnez à nouveau l'onglet Invite de commandes et installez les mises à jour pour Ubuntu 20.04. Pour ce faire, sur la ligne de commande, entrez:
sudo apt update && sudo apt upgrade –y
Installation du bureau KDE Plasma:
sudo apt install kubuntu-desktop -y
l'installation prend jusqu'à 30 minutes, en fonction des performances de l'ordinateur et de la bande passante du canal d'accès Internet, à l'invite de l'installateur, nous confirmons
OK
.
Installation de la localisation et des dictionnaires russes Ubuntu 20.04. Pour ce faire, sur la ligne de commande, entrez:
sudo apt install language-pack-ru language-pack-kde-ru -y
sudo apt install libreoffice-l10n-ru libreoffice-help-ru -y
sudo apt install hunspell-ru mueller7-dict -y
sudo update-locale LANG=ru_RU.UTF-8
sudo dpkg-reconfigure locales # : ru_RU.UTF-8 UTF-8, . .
sudo apt-get install --reinstall locales
Ajoutez la dernière version du bureau KDE Plasma:
sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Ajout d'un ensemble d'applications console, par exemple
mc
, et neofetch
:
sudo apt install mc neofetch -y
Nous vérifions ce qui s'est passé, le saisissons dans la ligne de commande
neofetch
, voir capture d'écran:
Modification du fichier de configuration WSL
/etc/wsl.conf
:
sudo nano /etc/wsl.conf
copiez le texte dans la fenêtre de l'éditeur de texte vide ouverte:
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
enregistrer les modifications (
Ctrl+O
), confirmer l'opération et quitter l'éditeur de texte ( Ctrl+X
).
Nous exportons l'image Ubuntu-20.04 personnalisée vers le répertoire que nous avons créé
\wsl
. Pour ce faire, dans le Terminal Windows, sélectionnez à nouveau l'onglet Windows PowerShell et entrez la commande:
wsl --export Ubuntu-20.04 c:\wsl\Ubuntu-plasma-desktop
l'image créée nous aidera à automatiser les opérations de démarrage / réinstallation de l'Ubuntu 20.04 configuré, si nécessaire, elle nous permettra de la transférer facilement sur un autre ordinateur.
Préparation des fichiers de chauve-souris et des raccourcis vers le bureau Windows
À l'aide de l'éditeur Notepad ++, créez des fichiers bat (obligatoire dans l'encodage OEM-866 pour l'affichage correct des caractères cyrilliques):
Fichier
Install-Ubuntu-20.04-plasma-desktop.bat
- conçu pour automatiser l'installation initiale de l'image Ubuntu 20.04 créée sur un ordinateur avec un sous-système WSL2 et un serveur X déjà configuré. Si le nom d'utilisateur et le mot de passe diffèrent de ceux spécifiés dans l'exemple, vous devez apporter les modifications appropriées à ce fichier bat:
@echo off
wsl --set-default-version 2
cls
echo Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:\wsl c:\wsl\Ubuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Ubuntu-20.04 !
echo «root» ,
echo «engineer», : «password».
pause
Fichier
Reinstall-Ubuntu-20.04-plasma-desktop.bat
- destiné à réinstaller l'image Ubuntu 20.04 préparée sur l'ordinateur.
@echo off
wsl --unregister Ubuntu-20.04
wsl --set-default-version 2
cls
echo Ubuntu-20.04...
wsl --import Ubuntu-20.04 c:\wsl c:\wsl\Ubuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Ubuntu-20.04 !
pause
Fichier
Set-default-user.bat
- pour définir l'utilisateur "par défaut".
@echo off
set /p answer= Ubuntu (engineer):
c:\wsl\Ubuntu-20.04\ubuntu2004.exe config --default-user %answer%
cls
echo %answer% Ubuntu-20.04 !
pause
Le fichier
Start-Ubuntu-20.04-plasma-desktop.bat
est le lancement réel du bureau KDE Plasma.
@echo off
echo ===================================== ! ============================================
echo GUI Ubuntu 20.04 WSL2 X Server.
echo : VcXsrv Windows X Server
echo Start-Ubuntu-20.04-plasma-desktop.bat, "config.xlaunch"
echo "vcxsrv.exe", , "x410".
echo ============================================================================================
rem start "" /B "c:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.exe run "if [ -z \"$(pidof plasmashell)\" ]; then cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export LIBGL_ALWAYS_INDIRECT=1 ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; plasmashell ; pkill '(gpg|ssh)-agent' ; fi;"
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /T /IM x410.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul
Fichier
Start-Ubuntu-20.04-terminal.bat
- lance un terminal graphique sans le bureau KDE Plasma.
@echo off
echo ===================================== ! ============================================
echo GUI Ubuntu 20.04 WSL2 X Server.
echo : VcXsrv Windows X Server
echo Start-Ubuntu-20.04-plasma-desktop.bat, "config.xlaunch"
echo "vcxsrv.exe", , "x410".
echo ============================================================================================
rem start "" /B "c:\wsl\vcxsrv\config.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:\wsl\pulseaudio-1.1\bin\pulseaudio.exe" --use-pid-file=false -D > nul
c:\wsl\Ubuntu-20.04\Ubuntu2004.exe run "cd ~ ; export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 ; export LIBGL_ALWAYS_INDIRECT=1 ; setxkbmap us,ru -option grp:ctrl_shift_toggle ; export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}') ; sudo /etc/init.d/dbus start &> /dev/null ; sudo service ssh start ; sudo service xrdp start ; konsole ; pkill '(gpg|ssh)-agent' ;"
taskkill.exe /F /T /IM x410.exe > nul
rem taskkill.exe /F /T /IM vcxsrv.exe > nul
taskkill.exe /F /IM pulseaudio.exe > nul
De plus, pour faciliter l'utilisation, nous
\wsl
préparons des raccourcis dans le répertoire pointant vers les fichiers bat correspondants. Après cela, le contenu du répertoire \wsl
ressemble à ceci:
Lancement du bureau KDE Plasma
Nous vérifions que toutes les actions préparatoires sont terminées, nous essayons de lancer le raccourci
Plasma-desktop
. Une demande de mot de passe apparaît, entrez le mot de passe du compte et ... la fenêtre se ferme. C'est bon la première fois. En essayant à nouveau, nous voyons la barre des tâches familière de KDE Plasma. Nous configurons l'apparence requise de la barre des tâches, par exemple, pour une facilité d'utilisation, le panneau est déplacé vers le côté droit de l'écran et centré. Nous vérifions les paramètres de localisation, si nécessaire, ajoutons la langue russe:
Si nécessaire, placez des raccourcis pour les applications Linux installées dans la barre des tâches de KDE Plasma.
Si Ubuntu 20.04 vous oblige à vous déconnecter du compte d'utilisateur pour appliquer les modifications aux paramètres, ou si vous devez redémarrer le système d'exploitation, pour ce faire, entrez la commande dans le terminal Windows:
wsl -d Ubuntu20.04 --shutdown
En utilisant le raccourci
Plasma-desktop
ou, Konsole
vous pouvez lancer l'interface graphique KDE Plasma Ubuntu 20.04. Par exemple, installons à l'aide de l' Konsole
éditeur graphique GIMP:
Une fois l'installation terminée, exécutez l'
Konsole
éditeur graphique GIMP à partir de l' éditeur graphique:
Le GIMP fonctionne, c'est ce que vous vouliez vérifier.
Et voici comment les différentes applications Linux fonctionnent dans KDE Plasma dans WSL2:
la barre des tâches personnalisée de KDE Plasma se trouve sur le côté droit de l'écran. et la vidéo dans la fenêtre Firefox joue avec le son.
Si nécessaire, vous pouvez configurer l'accès à Ubuntu20.04 par
SSH
et RDP
, pour cela, vous devez installer les services appropriés avec la commande:
sudo apt install ssh xrdp -y
Remarque: pour activer l'accès par mot de passe par le logiciel,
SSH
vous devez éditer le fichier /etc/ssh/sshd_config
, à savoir, le paramètre PasswordAuthentication no
doit être défini sur valeur PasswordAuthentication yes
, enregistrer les modifications et redémarrer Ubuntu20.04.
Chaque fois que vous démarrez Ubuntu20.04, l'adresse IP interne change, avant de configurer l'accès à distance, vous devez spécifier l'adresse IP actuelle à l'aide de la commande
ip a
:
En conséquence, l'adresse IP est requise dans la configuration de la session
SSH
et RDP
avant de commencer.
Voici à quoi ressemble l'accès
SSH
logiciel à distance à l' aide de MobaXterm:
Et voici à quoi ressemble l'accès à distance
RDP
:
Utilisation du serveur vcxsrv X au lieu de x410
Lancez et configurez
vcxsrv
, cochez attentivement les cases appropriées:
Nous sauvegardons la configuration configurée dans un répertoire
\wsl\vcxsrv
avec un nom standard config.xlaunch
.
Nous éditons les fichiers de chauve-souris
Start-Ubuntu-20.04-plasma-desktop.bat
et Start-Ubuntu-20.04-terminal.bat
conformément aux instructions qui y sont disponibles.
Nous lançons le raccourci
Plasma-desktop
, et voici ce que nous obtenons:
Le bureau KDE Plasma ferme complètement le bureau Windows, pour basculer entre les fenêtres des applications Linux et Windows, nous utilisons une combinaison de touches bien connue
Alt+Tab
, ce qui n'est pas très pratique.
De plus, une fonctionnalité désagréable du serveur X a été révélée
vcxsrv
- il se bloque lors du lancement de certaines applications, en particulier le même GIMP ou LibreOffice Writer. Peut-être devrions-nous attendre que les développeurs suppriment les "bugs" remarqués, mais ce n'est pas certain ... Donc, pour obtenir des résultats acceptables, il est préférable d'utiliser Microsoft X Server x410.
Conclusion
Néanmoins, nous devons rendre hommage à Microsoft, le produit WSL2 s'est avéré assez fonctionnel et, à mon avis peu sophistiqué, très réussi. Et pour autant que je sache, les développeurs continuent à travailler dur pour le "terminer", et peut-être - dans un an ou deux, ce sous-système apparaîtra dans toute sa complétude fonctionnelle.