Dans ce guide, consultez comment démarrer Debian GUI dans Windows 10 avec WSL.
Debian sur WSL
L'outil WSL a été initialement développé par Microsoft en collaboration avec Canonical, le créateur d'Ubuntu. C'est essentiellement une couche de compatibilité du noyau basée sur Ubuntu.
En 2020, Microsoft a publié WSL 2. Il apporte plusieurs améliorations cruciales par rapport à WSL 1. Il offre une meilleure compatibilité système, une meilleure gestion des machines virtuelles, un support complet du noyau Linux, et plus. Découvrez la différence entre WSL 1 et WSL 2. Notez que WSL 2 n'est disponible que pour Windows 10 version 2004 Build 19041 ou plus. Exécutez la commande suivante pour vérifier la version de Windows 10 que vous exécutez.
$ winver
Parce que WSL était à l'origine basé sur Ubuntu, il prend en charge Debian par défaut. Debian pour WSL est disponible auprès de Microsoft Store. Cependant, nous allons montrer comment installer Debian même sans compte Microsoft.
Dans le cas de Windows, toutes les commandes seront exécutées sur Windows PowerShell avec un privilège administratif. C'est l'équivalent Linux de l'exécution d'un Sudo coquille. Pour démarrer PowerShell avec le privilège administratif, appuyez sur «Win + X» et sélectionnez «Windows PowerShell (Admin)».
Activer WSL
Des fonctionnalités facultatives comme WSL ne sont pas activées par défaut. Heureusement, activer WSL est très simple. Exécutez la commande suivante dans PowerShell.
$ dis.exe / online / activer-feature / featrename: Microsoft-windows-subsystem-linux / all / norestart
WSL 2 nécessite également le Plate-forme de machine virtuelle fonctionnalité.
$ dis.exe / online / activer-feature / featRename: virtualmachineplatform / all / norestart
Ces modifications nécessitent un redémarrage du système pour être entièrement fonctionnel.
Après le redémarrage, démarrez PowerShell avec le privilège d'administration. Appliquer WSL 2 comme version par défaut.
$ wsl --set-default-Version 2
Notez que si vous exécutez la version Windows 10 64 bits, vous devrez peut-être télécharger et installer le package de mise à jour du noyau Linux pour WSL 2.
Télécharger et installer Debian
Tout d'abord, consultez toutes les distros disponibles pris en charge par WSL.
$ wsl - list --online
Dites à WSL d'installer Debian. Debian est disponible en tant que package installable dans Microsoft Store.
$ wsl - install -d debian
Cela peut prendre quelques minutes pour que le processus se termine.
Configuration de Debian
Debian est maintenant installé. Si vous avez installé à l'aide de WSL, un nouveau shell apparaîtra automatiquement. Pendant le premier départ, Debian Shell demandera à créer un nouvel utilisateur.
Si vous souhaitez accéder à Debian plus tard, utilisez la commande WSL suivante. À partir de ce moment, j'utiliserai Windows Terminal pour faciliter l'utilisation.
$ wsl -d debian
Mettez à jour le cache APT et mettez à niveau tous les packages.
$ sudo apt Update && sudo apt upgrade -y
Ensuite, nous devons vérifier si nous exécutons la dernière version Debian. Au moment de la rédaction de ce guide, la dernière version stable est Debian 11, nommé par code bullseye.
$ Cat / etc / OS-Release
Dans mon cas, c'est Debian 9 (Stretch) où ce devrait être Debian 11 (Bullseye). Il nécessite une mise à niveau de la distribution pour arriver à la dernière version Debian.
Tout d'abord, faites une copie de sauvegarde du sources.liste déposer.
$ sudo cp / etc / apt / sources.liste / etc / apt / sources.liste.bak
Du sources.liste dossier, remplacez toutes les instances de Stretch (Debian 9) à Bullseye (Debian 11). Cela indiquera efficacement que pour travailler avec des forfaits pour Debian 11. S'ouvrir sources.liste dans un éditeur de texte et remplacer toutes les instances de stret bullseye.
$ sudo nano / etc / apt / sources.liste
Voici un exemple de liste de références pour Debian 11 Bullseye.
$ deb http: // deb.Debian.org / debian bullseye principal contribe non-libre
$ deb http: // deb.Debian.Org / Debian Bullseye-Updates principale contrible non libre
$ deb http: //.Debian.Org / Debian-Sécurité Bullseye-Sécurité principale Contrib non libre
Intéressé par SED? Consultez ce Mega Guide sur 50 exemples SED.
Maintenant, exécutez à nouveau les commandes de mise à jour APT.
$ sudo apt Clean && sudo apt mise à jour
$ sudo apt complet
Il sera permis de redémarrer divers services pendant le processus. Sélectionnez «Oui».
Nous pouvons maintenant nous débarrasser en toute sécurité des packages obsolètes sur le système.
$ sudo apt AutoreMove
Redémarrez la session Debian pour prendre les changements en vigueur. Vérifiez le changement.
$ Cat / etc / OS-Release
Configuration de l'interface graphique
Le système Debian est entièrement fonctionnel à ce stade. Cependant, la seule façon d'interagir avec le système est via l'interface de ligne de commande. Il n'y a pas de GUI par défaut à utiliser.
Nous pouvons le contourner en implémentant VNC. Le processus de configuration est quelque peu compliqué mais très faisable.
Conditions préalables
Il y a quelques conditions préalables à cette méthode. Tout d'abord, assurez-vous que la distribution WSL est configurée pour s'exécuter avec WSL 2.
$ wsl --set-version debian 2
Installation de composants
Maintenant, accédez à Debian Shell. Nous avons besoin de composants supplémentaires comme boucle et wget.
$ sudo apt Update && sudo apt install -y curl wget
Nous installerons Tasksel, un outil super pratique pour gérer divers composants de bureau et de service. Exécutez la commande APT suivante.
$ sudo apt install tasksel
Courir tasksel avec Sudo privilège.
$ sudo tasksel
Il affichera une liste de groupes de packages et de faisceaux. Appuyez sur la barre d'espace pour sélectionner / désélectionner un groupe. Une fois que vous avez sélectionné les souhaités, sélectionnez "OK".
L'outil téléchargera et installera tous les composants nécessaires. Cela prendra du temps.
Installation du serveur VNC
L'étape suivante consiste à installer le serveur VNC. À cette fin, nous installerons Tigervnc.
$ sudo apt-get install tigervnc-standalone-server
Installation .Runnitime net
Le .Net est un cadre à usage général pour créer des applications pour Windows, Linux et MacOS par Microsoft. Nous en avons besoin pour la prochaine partie de la configuration.
Exécutez les commandes suivantes pour installer .Runnitime net. Pour plus d'instructions d'installation approfondies, consultez l'officiel .Guide d'installation net par Microsoft.
$ wget https: // packages.Microsoft.com / config / debian / 10 / packages-microsoft-prod.Deb -o packages-microsoft-prod.deb
$ sudo apt install ./ packages-microsoft-prod.deb
$ rm packages-microsoft-prod.deb
$ sudo apt Update && sudo apt install apt-transport-https
$ sudo apt Update && sudo apt install dotnet-runtime-5.0
Installation systemd-génie
WSL, en soi, n'est qu'une implémentation du cadre Linux Barebones. L'utilisation de Systemd-Genie est le moyen de donner à Debian un cadre Linux à part entière et fonctionnel. Découvrez plus sur Systemd-Genie.
Nous avons déjà installé sa dépendance (.Net Runtime). Il ne lui reste plus. Découvrez la documentation approfondie sur l'installation de Systemd-Genie sur Debian.
Tout d'abord, configurez le repo apt pour systemd-génie.
$ wget -o / etc / apt / truded.GPG.d / wsl-transdebian.gpg https: // arkane-systems.github.IO / WSL-transdebian / apt / wsl-transdebian.GPG
$ chmod a + r / etc / apt / truded.GPG.d / wsl-transdebian.GPG
$ chat << EOF > / etc / apt / sources.liste.d / wsl-transdebian.liste
$ deb https: // arkane-systems.github.io / wsl-transdebian / apt / $ (lsb_release -cs)
$ deb-src https: // arkane-systems.github.io / wsl-transdebian / apt / $ (lsb_release -cs)
$ Eof
$ APT MISE À JOUR
Enfin, installez Systemd-Genie.
$ sudo apt installer systemd-génie
Tous les outils nécessaires sont installés. Il est temps de les configurer pour obtenir le comportement attendu.
Configuration du mot de passe du serveur VNC
Dans la configuration VNC, chaque utilisateur aura des mots de passe uniques. Pour une fonctionnalité complète, nous avons besoin d'au moins trois mots de passe, un pour chacun des utilisateurs suivants.
Tout d'abord, configurez le mot de passe VNC pour l'utilisateur actuel.
$ vncpasswd
Ensuite, configurez le mot de passe VNC pour racine.
$ sudo -h vncpasswd
Enfin, configurez le mot de passe VNC pour GDM. Notez que vous pouvez ignorer cette étape si vous n'avez pas choisi d'installer un environnement de bureau Gnome.
$ sudo -h -u debian-gdm vncpasswd
Remplacement par défaut x par xvnc
La fonction par défaut du gestionnaire d'affichage consiste à appeler x instances pour chaque session utilisateur (y compris l'écran de connexion). Cependant, parce que nous allons utiliser le serveur VNC, cela ne va pas couper. Pour travailler avec VNC, XVNC est le candidat approprié.
Ensuite, notre objectif est d'échanger X vers XVNC. Il faut peaufiner le script xorg qui appelle xvnc au lieu du service d'affichage X / Xorg.
Avant de continuer, il est toujours recommandé de faire une sauvegarde du script Xorg existant.
$ sudo mv / usr / bin / xorg / usr / bin / xorg.vieux
Maintenant, créez un nouveau script xorg.
$ sudo nano / usr / bin / xorg.nouveau
Entrez le code suivant.
#!/ bac / bash
pour arg faire
changement
cas $ arg dans
Vermont*)
set - "$ @" "$ arg // vt / tty"
;;
-keeptty)
;;
-Novtswitch)
;;
*)
set - "$ @" "$ arg"
;;
ESAC
fait
# Afficher la géométrie
Command = ("/ usr / bin / xvnc" "-geometry" "1366x768" "-passwordfile" "$ home: - / root /.vnc / passwd "" $ @ ")
systemd-cat -t / usr / bin / xorg echo "lancement xvnc:" "$ commande [@]"
exec "$ commande [@]"
Enregistrez le fichier et fermez l'éditeur. Le fichier doit avoir des autorisations de fichier correctes pour fonctionner correctement.
$ sudo chmod 0755 / usr / bin / xorg.nouveau
Créez un lien vers le fichier pour imiter le script Xorg d'origine.
$ sudo ln -sf / usr / bin / xorg.nouveau / usr / bin / xorg
Configuration des variables d'environnement
Nous devons modifier certaines variables d'environnement afin que Xorg Lire de l'utilisateur exécutant le génie commande. Pour ce faire, nous devons modifier le bashrc Fichier de la racine et de l'utilisateur actuel. Notez que Bashrc est différent de Bash_Profile.
Ouvrir le bashrc de l'utilisateur actuel.
$ nano ~ /.bashrc
Ajouter les codes suivants à la fin du fichier.
Exporter xdg_runtime_dir = / run / user / $ uid
Affichage d'exportation = $ (cat / etc / résolv.conf | Grep Nameserver | awk 'print $ 2; sortir; '): 0.0
sudo / etc / init.D / dbus start &> / dev / null
Faire de même avec le bashrc Fichier de l'utilisateur racine.
$ su -
$ nano ~ /.bashrc
Exporter xdg_runtime_dir = / run / user / $ uid
Affichage d'exportation = $ (cat / etc / résolv.conf | Grep Nameserver | awk 'print $ 2; sortir; '): 0.0
sudo / etc / init.D / dbus start &> / dev / null
Enfin, recharger Bashrc pour l'utilisateur actuel.
$ source ~ /.bashrc
Lancement systemd-génie
Maintenant, Systemd est configuré pour laisser gdm Démarrez automatiquement et créez une instance de x affichage à l'instance de connexion. En raison de la configuration, il créera à la place des instances XVNC. Il commencera à écouter à partir de 5900.
La commande suivante affichera le message «Connexion à Systemd» suivie de quelques erreurs. Les erreurs sont attendues. Vous devez atterrir sur l'écran de connexion.
$ Genie -l
Tour! Vous avez maintenant réussi à vous connecter à Debian compatible avec Gui sous WSL 2! Il ne reste plus que la connexion au serveur WSL via VNC. La commande suivante rapportera l'adresse IP du serveur.
$ hostname -i
Pour vous connecter au système, utilisez un client VNC (sur le port 5900). Pour vous connecter, utilisez le gdm Mot de passe VNC. Cela devrait vous atterrir sur l'écran de connexion.
Dernières pensées
Pour les utilisateurs de Windows, WSL est un excellent moyen de s'habituer au monde de Linux sans avoir à tout apprendre à partir de zéro. Ce guide démontre la méthode recommandée d'installation et de configuration de Debian 11 avec GUI sur WSL à l'aide d'un serveur VNC (TiGervnc).
Avec une configuration VNC appropriée, vous pouvez réaliser beaucoup plus. Consultez ce guide approfondi sur l'installation et la configuration d'un serveur VNC sur Debian.
Happy Computing!