web-dev-qa-db-fra.com

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 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?

6
MattSlay

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.
3
Braca

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:

  1. Le fichier d'archivage de l'espace utilisateur de distribution nommé install.tar.gz (ou tout fichier TAR.GZ).
  2. Le fichier exécutable principal à installer, nommé Ubuntu.exe, Ubuntu1804.exe ou Ubuntu1604.exe, etc.

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

0
Biswapriyo