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 convient de noter qu'il existe un certain problème lié à l'impossibilité d'intégrer un logiciel obtenu sur la boutique en ligne Microsoft Store pour une utilisation dans une image Windows 10 personnalisée. Sans entrer dans les détails, je préciserai que ce problème est lié au fait que les programmes installés à partir du Microsoft Store communiquent avec le compte de service Administrateur et lorsque la création de l'image personnalisée est terminée par l'utilitaire sysprep
des erreurs se produisent en raison de cette circonstance.
La méthode décrite dans cet article évite ce problème lors de la préparation d'une image du système d'exploitation Windows 10 avec un sous-système WSL2 préconfiguré, ainsi qu'une image du système d'exploitation Ubuntu 20.04 pré-préparée et configurée avec une interface graphique KDE Plasma, qui à son tour peut avoir sa propre ensemble de logiciels personnalisés.
Il existe de nombreux exemples et tutoriels sur Internet pour configurer des sous-systèmes WSL (c'est-à-dire WSL1 et le relativement nouveau WSL2), avec la configuration d'une interface graphique pour les systèmes d'exploitation basés sur Linux d'Ubuntu 16.04 à Ubuntu 20.04, mais cela concernait principalement les ordinateurs de bureau basés sur sur le soi-disant. xfce4 "léger", qui présente des limitations compréhensibles dans les paramètres utilisateur. Mais en ce qui concerne l'interface graphique KDE Plasma pour Ubuntu 20.04, il n'y a pas beaucoup d'informations trouvées 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 matériels, 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 l'ensemble de logiciels requis 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 nous obtenons quelque chose comme ceci :
Il est important que la version du système d'exploitation soit 1903 ou 1909 (les versions de système d'exploitation spécifiées doivent être avec la mise à jour cumulative KB4566116 installée) ou 2004 (numéro de build non inférieur à 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 reproduire correctement les résultats de cet article.
Pour faciliter les actions ultérieures, installez le terminal Windows gratuit à l'aide du Microsoft Store (il est également possible 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 suffisant pour divers tests.
Comme alternative gratuite au X410
À n'importe quel endroit pratique sur le disque, nous créons un répertoire dans lequel nous stockerons nos fichiers. Par exemple, créons un répertoire C:wsl
.
Ubuntu_2004.2020.424.0_x64
en quelque chose de plus acceptable, comme Ubuntu-20.04
et copiez-le dans le répertoire C:wsl
(ci-après simplement wsl
).
wsl
serveur de son multiplateforme PulseAudio v.1.1., nous apportons également des corrections à ses fichiers de configuration.
En fichier wslpulseaudio-1.1etcpulsedefault.pa
section Load audio drivers statically
éditez la ligne :
load-module module-waveout sink_name=output source_name=input record=0
et dans la rubrique Network access
éditez la ligne :
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
En fichier wslpulseaudio-1.1etcpulsedaemon.conf
décommentez et changez la ligne
exit-idle-time = -1
Nous configurons le sous-système WSL2 conformément à
Si nécessaire,
Nous lançons Windows Terminal et sélectionnons 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 dans la commande :
wsl --set-default-version 2
Passez au répertoire du chargeur de démarrage autonome Ubuntu 20.04, dans mon cas, c'est wslUbuntu-20.04
et exécutez le fichier ubuntu2004.exe
. Lorsque vous êtes invité à entrer un nom d'utilisateur, entrez le nom d'utilisateur engineer
(vous pouvez entrer n'importe quel autre nom), entrez votre mot de passe et confirmez le mot de passe saisi pour le compte spécifié :
Une invite de terminal apparaît, le noyau Ubuntu 20.04 est installé. Vérifions l'exactitude des paramètres du 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 :
Configuration d'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
Installez le 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, lorsque le programme d'installation vous le demande, nous confirmons OK
.
Installez la localisation russe et les dictionnaires 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
Nous ajoutons notre propre ensemble d'applications de console, par exemple mc
и neofetch
:
sudo apt install mc neofetch -y
Nous vérifions ce qui s'est passé, entrez 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 vide de l'éditeur de texte qui s'ouvre :
[automount]
enabled = true
root = /mnt
options = «metadata,umask=22,fmask=11»
mountFsTab = true
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = true
appendWindowsPath = true
Sauvegarder les modifications (Ctrl+O
), validez l'opération et quittez l'éditeur de texte (Ctrl+X
).
Exportation de l'image Ubuntu-20.04 personnalisée vers le répertoire que nous avons créé wsl
. Pour cela, dans le Terminal Windows, sélectionnez à nouveau l'onglet Windows PowerShell et saisissez la commande :
wsl --export Ubuntu-20.04 c:wslUbuntu-plasma-desktop
l'image créée nous aidera à automatiser les opérations de lancement / réinstallation de l'Ubuntu 20.04 configuré, si nécessaire, cela nous permettra de le transférer facilement sur un autre ordinateur.
Préparation des fichiers bat et des raccourcis vers le bureau Windows
À l'aide de l'éditeur Notepad ++, créez des fichiers bat (requis dans l'encodage OEM-866 pour la sortie correcte des caractères cyrilliques) :
Dossier Install-Ubuntu-20.04-plasma-desktop.bat
- conçu pour automatiser l'installation initiale de l'image créée d'Ubuntu 20.04 sur un ordinateur avec un sous-système WSL2 déjà configuré et un serveur X. 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:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно установлен!
echo Не забудьте сменить учетную запись по умолчанию «root» на существующую учетную запись пользователя,
echo либо используйте предустановленную учетную запись «engineer», пароль: «password».
pause
Dossier Reinstall-Ubuntu-20.04-plasma-desktop.bat
- conçu pour réinstaller l'image préparée d'Ubuntu 20.04 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:wslUbuntu-plasma-desktop
wsl -s Ubuntu-20.04
cls
echo Дистрибутив Ubuntu-20.04 успешно переустановлен!
pause
Dossier Set-default-user.bat
- pour définir l'utilisateur par défaut.
@echo off
set /p answer=Введите существующую учетную запись в Ubuntu (engineer):
c:wslUbuntu-20.04ubuntu2004.exe config --default-user %answer%
cls
echo Учетная запись пользователя %answer% в Ubuntu-20.04 установлена по умолчанию!
pause
Dossier Start-Ubuntu-20.04-plasma-desktop.bat
- le lancement effectif 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:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.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
Dossier Start-Ubuntu-20.04-terminal.bat
- lancer 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:wslvcxsrvconfig.xlaunch" > nul
start "" /B x410.exe /wm /public > nul
start "" /B "c:wslpulseaudio-1.1binpulseaudio.exe" --use-pid-file=false -D > nul
c:wslUbuntu-20.04Ubuntu2004.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
Aussi pour faciliter l'utilisation dans le catalogue wsl
nous préparons des raccourcis pointant vers les fichiers bat correspondants. Puis le contenu du répertoire wsl
est comme suit:
Lancement du bureau Plasma de KDE
On vérifie que toutes les étapes préparatoires ont bien été réalisées, on essaie 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 bien la première fois. Nous réessayons - et nous voyons la barre des tâches familière de KDE Plasma. Nous personnalisons l'apparence de la barre des tâches, dans l'exemple, pour plus de facilité d'utilisation, le panneau est déplacé vers la droite de l'écran et centré. Nous vérifions les paramètres de localisation, si nécessaire, ajoutons la langue russe :
Si nécessaire, nous apportons 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 de votre compte utilisateur afin d'appliquer les modifications aux paramètres, ou si vous devez redémarrer le système d'exploitation, pour ce faire, dans Windows Terminal, entrez la commande :
wsl -d Ubuntu20.04 --shutdown
Avec un raccourci Plasma-desktop
ou Konsole
vous pouvez exécuter l'interface graphique KDE Plasma Ubuntu 20.04. Par exemple, installez avec Konsole
Éditeur graphique GIMP :
Une fois l'installation terminée, exécutez à partir de Konsole
Éditeur graphique GIMP :
GIMP fonctionne, c'est ce que je voulais vérifier.
Et voici comment fonctionnent diverses applications Linux 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 de Firefox joue avec le son.
Si nécessaire, vous pouvez configurer l'accès à Ubuntu20.04 en SSH
и 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 SSH
vous devez éditer le fichier /etc/ssh/sshd_config
, à savoir le paramètre PasswordAuthentication no
doit être réglé sur PasswordAuthentication yes
, enregistrez les modifications et redémarrez Ubuntu20.04.
Chaque fois que vous démarrez Ubuntu20.04, l'adresse IP interne change, avant de configurer l'accès à distance, vous devez vérifier l'adresse IP actuelle à l'aide de la commande ip a
:
En conséquence, cette adresse IP doit être entrée dans les paramètres de session SSH
и RDP
avant de commencer.
Voici à quoi ressemble l'accès à distance SSH
en utilisant MobaXterm :
Et voici à quoi ressemble l'accès à distance RDP
:
Utilisation du serveur x vcxsrv au lieu de x410
Lancement et mise en place vcxsrv
, cochez soigneusement les cases appropriées :
Sauvegarde de la configuration configurée dans le répertoire wslvcxsrv
avec nom standard config.xlaunch
.
Modification des fichiers bat Start-Ubuntu-20.04-plasma-desktop.bat
и Start-Ubuntu-20.04-terminal.bat
selon leurs instructions.
Lancement du 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 la 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 plante au lancement de certaines applications, notamment le même GIMP ou LibreOffice Writer. Peut-être faudrait-il attendre que les développeurs suppriment les "bugs" constatés, mais ce n'est pas certain... Du coup, pour obtenir des résultats acceptables, mieux vaut utiliser le X Server Microsoft x410.
Conclusion
Pourtant, nous devons rendre hommage à Microsoft, le produit WSL2 s'est avéré assez fonctionnel et, à mon avis inexpérimenté, très réussi. Et pour autant que je sache, les développeurs continuent de le "finir" de manière intensive, et peut-être - dans un an ou deux, ce sous-système apparaîtra dans toute sa plénitude fonctionnelle.
Source: habr.com