115 votes

Comment installer plusieurs instances distinctes d'Ubuntu dans WSL?

Sous Windows 10, comment installer plusieurs instances distinctes d'Ubuntu dans WSL? Je voudrais des instances distinctes 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 brouiller tous dans la même instance Ubuntu sur WSL, mais je préfère en avoir un distinct pour chacun d'eux scénarios. Est-ce possible?

28voto

Braca Points 1303

C'est possible, mais nécessite un certain travail. Vous pouvez utiliser LxRunOffline - "Un plein de fonctionnalités de l'utilitaire pour le sous-système Windows pour Linux (WSL)".

Vous pouvez l'installer via Chocolaté: choco install lxrunoffline, ou téléchargez et décompressez-le.

Vous pouvez ajouter LxRunOffline.exe à votre CHEMIN d'accès.

https://lxrunoffline.apphb.com/download/{distro}/{version} vous redirigera vers la page de téléchargement pour la distribution. Dans ce cas, il serait .../ubuntu/xenial ou similaires, selon lxrunoffline wiki, ou vous pouvez le télécharger directement à partir de Canonique.

Ensuite, vous pouvez:
LxRunOffline install -n someName -d where/to/install -f path/to/downloaded/distro plusieurs fois avec des noms différents et des répertoires cibles.

Vous pouvez alors 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 spécifiques pour les espaces de travail.
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.

18voto

Biswapriyo Points 737

Nous devons d'abord trouver l'emplacement d'installation de Windows Store Appx. Voici un script Powershell pour trouver ce chemin. Entrez le nom de la distribution dans un premier temps (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 seront:

%ProgramFiles%\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.427.0_x64__79rhkp1fndgsc

Dans la PS script, Invoke-Item va s'ouvrir le chemin dans l'Explorateur de Fichiers. Si ce chemin ne sera pas visible ou ne montre aucun problème de sécurité, puis accordez la permission de ce dossier à partir du menu des propriétés. Maintenant, copiez ces deux fichiers:

  1. La Distribution de l'espace utilisateur archive nommée install.tar.gz (ou tout TAR.GZ fichier).
  2. Principal fichier exécutable pour installer, nommé Ubuntu.exe ou Ubuntu1804.exe ou Ubuntu1604.exe etc.

Vient ici la prochaine section. De sauvegarde et de supprimer ce registre HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss. Placez ces deux fichiers dans une structure de dossier comme celui-ci (ou comme vous voulez):

C:\MyFiles
|
+-- UbuntuPython
|   |
|   +-- ubuntu.exe
|   +-- install.tar.gz
|
+-- UbuntuRuby
    |
    +-- ubuntu.exe
    +-- install.tar.gz

Le dossier de nom doit être différent. Maintenant double-cliquez sur le premier, attendre jusqu'à ce qu'il installe. Ouvrez HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss\<some-GUID> et variation DistributionName de registre de la chaîne d' UbuntuPython (ou du tout). Répétez la procédure avec toutes les instances. Le GUID sera un nouveau pour chaque cas. Assurez-vous de changer l' DistributionName registre différent pour chacun autrement ubuntu.exe va exécuter les wsl.exe au lieu de l'installer. Voir le code source de ces fichiers EXE ici GitHub: Microsoft/WSL-DistroLauncher.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X