Sous Windows 10, comment installer plusieurs instances distinctes d'Ubuntu dans WSL? Je voudrais des instances séparées pour différents espaces de travail. Par exemple, un pour le développement Python, un pour le développement Ruby, un pour le développement .Net Core, etc. Je sais que je pourrais les copier tous dans la même instance Ubuntu sur WSL, mais je préférerais en avoir un différent pour chacun de ces exemples. scénarios. Est-ce possible?
C'est possible, mais cela demande du travail. Vous pouvez utiliser LxRunOffline - "Un utilitaire complet pour Windows Subsystem for Linux (WSL)". Vous pouvez l’installer via Chocolatey: choco install lxrunoffline
, ou télécharger et décompresser le fichier . Vous voudrez peut-être ajouter LxRunOffline.exe à votre PATH.https://lxrunoffline.apphb.com/download/{distro}/{version}
sera redirigé vers la page de téléchargement de la distribution souhaitée. Dans ce cas, ce serait .../ubuntu/xenial ou similaire, selon le wiki lxrunoffline, ou vous pouvez télécharger directement à partir de Canonical . Ensuite, vous pouvez:LxRunOffline install -n someName -d where/to/install -f path/to/downloaded/distro
plusieurs fois avec des noms et des répertoires cibles différents.
Ensuite, vous pouvez lxrunoffline -w -n someName
pour démarrer l’installation souhaitée et, enfin, vous pouvez créer plusieurs raccourcis sur le bureau avec différentes options pour des espaces de travail spécifiques.
LxRunOffline commandes disponibles:
list List all installed distributions.
get-default Get the default distribution, which is used by bash.exe.
set-default Set the default distribution, which is used by bash.exe.
install Install a new distribution.
uninstall Uninstall a distribution.
register Register an existing installation directory.
unregister Unregister a distribution but not delete the installation directory.
move Move a distribution to a new directory.
duplicate Duplicate an existing distribution in a new directory.
run Run a command in a distribution.
get-dir Get the installation directory of a distribution.
get-env Get the default environment variables of a distribution.
set-env Set the default environment variables of a distribution.
get-uid Get the UID of the default user of a distribution.
set-uid Set the UID of the default user of a distribution.
get-kernelcmd Get the default kernel command line of a distribution.
set-kernelcmd Set the default kernel command line of a distribution.
get-flags Get some flags of a distribution. See https://msdn.Microsoft.com/en-us/library/windows/desktop/mt826872(v=vs.85).aspx for details.
set-flags Set some flags of a distribution. See https://msdn.Microsoft.com/en-us/library/windows/desktop/mt826872(v=vs.85).aspx for details.
version Get version information about this LxRunOffline.exe.
Nous devons d’abord trouver l’emplacement d’installation de ce Windows Store Appx. Voici un script Powershell pour trouver ce chemin. Entrez d'abord le nom de la distribution (par exemple, Ubuntu18.04
).
$DistroName=Read-Host "Enter Distribution Name"
$path = (Get-AppxPackage *DistroName*).InstallLocation
echo $path
Invoke-Item $path
pause
Le chemin d'installation pour Ubuntu 18.04 sera:
%ProgramFiles%\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.427.0_x64__79rhkp1fndgsc
Invoke-Item
ouvrira ce chemin dans l'explorateur de fichiers du script PS. Si ce chemin ne sera pas visible ou ne montrera aucun problème de sécurité, accordez l'autorisation de ce dossier à partir du menu Propriétés. Maintenant, copiez seulement ces deux fichiers requis:
Voici la section suivante. Sauvegardez et supprimez ce registre HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
. Placez ces deux fichiers dans une structure de dossier comme celle-ci (ou comme vous le souhaitez):
C:\MyFiles
|
+-- UbuntuPython
| |
| +-- ubuntu.exe
| +-- install.tar.gz
|
+-- UbuntuRuby
|
+-- ubuntu.exe
+-- install.tar.gz
Le dossier nom doit être différent. Maintenant, double-cliquez sur le premier, attendez qu'il soit installé. Ouvrez HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss\<some-GUID>
et modifiez le registre DistributionName
string en UbuntuPython
(ou n’importe lequel). Répétez la procédure avec chaque instance. Le GUID sera nouveau pour chaque instance. Assurez-vous que modifiez le registre DistributionName
de manière différente pour chaque registre, sinon ubuntu.exe exécutera wsl.exe au lieu de l'installation. Voir le code source de ces fichiers EXE ici GitHub: Microsoft/WSL-DistroLauncher .