Administrar y configurar el subsistema de Windows para LinuxManage and configure Windows Subsystem for Linux

Se aplica a Windows 10 Fall Creators Update y posterior.Applies to Windows 10 Fall Creators Update and later. Consulta nuestra guía de instalación actualizada para probar nuevas características de administración y comenzar a ejecutar varias distribuciones de Linux desde Microsoft Store.See our updated installation guide to try new management features and start running multiple Linux distributions from the Microsoft store.

Formas de ejecutar WSLWays to run WSL

Hay muchas maneras de ejecutar Linux con el subsistema de Windows para Linux.There are many ways to run Linux with the Windows Subsystem for Linux.

  1. [distro], por ejemplo ubuntu[distro], for example ubuntu
  2. wsl.exe o bash.exewsl.exe or bash.exe
  3. wsl [command] o bash -c [command]wsl [command] or bash -c [command]

El método que deba usar dependerá de lo que esté haciendo.Which method you should use depends on what you're doing.

Iniciar WSL por distribuciónLaunch WSL by distribution

La ejecución de una distribución mediante su aplicación específica de distribución inicia esa distribución en su propia ventana de la consola.Running a distribution using it's distro-specific application launches that distribution in it's own console window.

Iniciar WSL desde el menú Inicio

Es lo mismo que hacer clic en "Iniciar" en Microsoft Store.It is the same as clicking "Launch" in the Microsoft store.

Iniciar WSL desde Microsoft Store

También puedes ejecutar la distribución desde la línea de comandos ejecutando [distribution].exe.You can also run the distribution from the command line by running [distribution].exe.

El inconveniente de ejecutar una distribución desde la línea de comandos de esta manera es que cambiará automáticamente el directorio de trabajo del directorio actual al directorio principal de la distribución.The disadvantage of running a distribution from the command line in this way is that it will automatically change your working directory from the current directory to the distribution's home directory.

Ejemplo:Example:

PS C:\Users\sarah> pwd

Path
----
C:\Users\sarah

PS C:\Users\sarah> ubuntu

scooley@scooley-elmer:~$ pwd
/home/scooley
scooley@scooley-elmer:~$ exit
logout

PS C:\Users\sarah>

wsl y wsl [command]wsl and wsl [command]

La mejor manera de ejecutar WSL desde la línea de comandos es usar wsl.exe.The best way to run WSL from the command line is using wsl.exe.

Ejemplo:Example:

PS C:\Users\sarah> pwd

Path
----
C:\Users\sarah

PS C:\Users\sarah> wsl

scooley@scooley-elmer:/mnt/c/Users/sarah$ pwd
/mnt/c/Users/sarah

wsl no solo mantiene el directorio de trabajo actual, sino que te permite ejecutar un único comando junto a los comandos de Windows.Not only does wsl keep the current working directory in place, it lets you run a single command along side Windows commands.

Ejemplo:Example:

PS C:\Users\sarah> Get-Date

Sunday, March 11, 2018 7:54:05 PM

PS C:\Users\sarah> wsl
scooley@scooley-elmer:/mnt/c/Users/sarah$ date
Sun Mar 11 19:56:57 DST 2018
scooley@scooley-elmer:/mnt/c/Users/sarah$ exit
logout

PS C:\Users\sarah> wsl date
Sun Mar 11 19:55:47 DST 2018

Ejemplo:Example:

PS C:\Users\sarah> Get-VM

Name            State CPUUsage(%) MemoryAssigned(M) Uptime   Status
----            ----- ----------- ----------------- ------   ------
Server17093     Off   0           0                 00:00:00 Opera...
Ubuntu          Off   0           0                 00:00:00 Opera...
Ubuntu (bionic) Off   0           0                 00:00:00 Opera...
Windows         Off   0           0                 00:00:00 Opera...


PS C:\Users\sarah> Get-VM | wsl grep "Ubuntu"
Ubuntu          Off   0           0                 00:00:00 Opera...
Ubuntu (bionic) Off   0           0                 00:00:00 Opera...
PS C:\Users\sarah>

Administración de varias distribuciones de LinuxManaging multiple Linux Distributions

Windows 10, versión 1903 y versiones posterioresWindows 10 Version 1903 and later

Puedes usar wsl.exe para administrar las distribuciones en el subsistema de Windows para Linux (WSL), incluida la enumeración de distribuciones disponibles, la configuración de una distribución predeterminada y la desinstalación de distribuciones.You can use wsl.exe to manage your distributions in the Windows Subsystem for Linux (WSL), including listing available distributions, setting a default distribution, and uninstalling distributions.

Cada distribución de Linux administra de forma independiente sus propias configuraciones.Each Linux distribution independently manages its own configurations. Para ver los comandos específicos de la distribución, ejecuta [distro.exe] /?.To see distribution-specific commands, run [distro.exe] /?. Por ejemplo, ubuntu /?.For example ubuntu /?.

Enumerar distribucionesList distributions

wsl -l, wsl --listwsl -l , wsl --list
Enumera las distribuciones de Linux disponibles para WSL.Lists available Linux distributions available to WSL. Si se enumera una distribución, está instalada y lista para usar.If a distribution is listed, it's installed and ready to use.

wsl --list --all
Enumera todas las distribuciones, incluidas las que no se pueden usar actualmente.Lists all distributions, including ones that aren't currently usable. Pueden encontrarse en proceso de instalación, desinstalación o tener un estado interrumpido.They may be in the process of installing, uninstalling, or are in a broken state.

wsl --list --running
Enumera todas las distribuciones que se están actualmente en ejecución.Lists all distributions that are currently running.

Establecer una distribución predeterminadaSet a default distribution

La distribución de WSL predeterminada es la que se ejecuta cuando se ejecuta wsl en una línea de comandos.The default WSL distribution is the one that runs when you run wsl on a command line.

wsl -s <DistributionName>, wsl --setdefault <DistributionName>wsl -s <DistributionName>, wsl --setdefault <DistributionName>

Establece la distribución predeterminada en <DistributionName>.Sets the default distribution to <DistributionName>.

Ejemplo:Example:
wsl -s Ubuntu establecería la distribución predeterminada en Ubuntu.wsl -s Ubuntu would set my default distribution to Ubuntu. Ahora, al ejecutar wsl npm init, se ejecutará en Ubuntu.Now when I run wsl npm init it will run in Ubuntu. Si se ejecuta wsl, se abrirá una sesión de Ubuntu.If I run wsl it will open an Ubuntu session.

Anular el registro de una distribución y reinstalarlaUnregister and reinstall a distribution

Aunque las distribuciones de Linux se pueden instalar a través de Microsoft Store, no se pueden desinstalar a través de Store.While Linux distributions can be installed through the Microsoft store, they can't be uninstalled through the store. WSL Config permite anular el registro de las distribuciones o desinstalarlas.WSL Config allows distributions to be unregistered/uninstalled.

La anulación del registro también permite volver a instalar las distribuciones.Unregistering also allows distributions to be reinstalled.

Precaución: Una vez que se ha anulado el registro, todos los datos, la configuración y el software asociados a esa distribución se perderán de manera permanente.Caution: Once unregistered, all data, settings, and software associated with that distribution will be permanently lost. Si se vuelve a instalar desde Store, se instalará una copia limpia de la distribución.Reinstalling from the store will install a clean copy of the distribution.

wsl --unregister <DistributionName>
Anula el registro de la distribución de WSL para que se pueda volver a instalar o limpiar.Unregisters the distribution from WSL so it can be reinstalled or cleaned up.

Por ejemplo: wsl --unregister Ubuntu quitaría Ubuntu de las distribuciones disponibles en WSL.For example: wsl --unregister Ubuntu would remove Ubuntu from the distributions available in WSL. Al ejecutar wsl --list, no aparecerá en la lista.When I run wsl --list it will not be listed.

Para reinstalar, busque la distribución en Microsoft Store y seleccione "Iniciar".To reinstall, find the distribution in the Microsoft store and select "Launch".

Ejecutar como usuario específicoRun as a specific user

wsl -u <Username>, wsl --user <Username>wsl -u <Username>, wsl --user <Username>

Ejecuta WSL como el usuario especificado.Run WSL as the specified user. Ten en cuenta que el usuario debe existir dentro de la distribución de WSL.Please note that user must exist inside of the WSL distribution.

Ejecutar una distribución específicaRun a specific distribution

wsl -d <DistributionName>, wsl --distribution <DistributionName>wsl -d <DistributionName>, wsl --distribution <DistributionName>

Ejecuta una distribución especificada de WSL, se puede usar para enviar comandos a una distribución específica sin tener que cambiar la predeterminada.Run a specified distribution of WSL, can be used to send commands to a specific distribution without having to change your default.

Versiones anteriores a Windows 10, versión 1903Versions Earlier than Windows 10 Version 1903

WSL Config (wslconfig.exe) es una herramienta de línea de comandos para administrar las distribuciones de Linux que se ejecutan en el subsistema de Windows para Linux (WSL).WSL Config (wslconfig.exe) is a command-line tool for managing Linux distributions running on the Windows Subsystem for Linux (WSL). Te permite enumerar las distribuciones disponibles, establecer una distribución predeterminada y desinstalar las distribuciones.It lets you list available distributions, set a default distribution, and uninstall distributions.

Si bien WSL Config es útil para las configuraciones que abarcan o coordinan las distribuciones, cada distribución de Linux administra de forma independiente sus propias configuraciones.While WSL Config is helpful for settings that span or coordinate distributions, each Linux distribution independently manages its own configurations. Para ver los comandos específicos de la distribución, ejecuta [distro.exe] /?.To see distribution-specific commands, run [distro.exe] /?. Por ejemplo, ubuntu /?.For example ubuntu /?.

Para ver todas las opciones disponibles para wslconfig, ejecuta: wslconfig /?To see all available options for wslconfig, run: wslconfig /?

wslconfig.exe
Performs administrative operations on Windows Subsystem for Linux

Usage:
    /l, /list [/all] - Lists registered distributions.
        /all - Optionally list all distributions, including distributions that
               are currently being installed or uninstalled.
    /s, /setdefault <DistributionName> - Sets the specified distribution as the default.
    /u, /unregister <DistributionName> - Unregisters a distribution.

Enumerar distribucionesList distributions

wslconfig /list
Enumera las distribuciones de Linux disponibles para WSL.Lists available Linux distributions available to WSL. Si se enumera una distribución, está instalada y lista para usar.If a distribution is listed, it's installed and ready to use.

wslconfig /list /all
Enumera todas las distribuciones, incluidas las que no se pueden usar actualmente.Lists all distributions, including ones that aren't currently usable. Pueden encontrarse en proceso de instalación, desinstalación o tener un estado interrumpido.They may be in the process of installing, uninstalling, or are in a broken state.

Establecer una distribución predeterminadaSet a default distribution

La distribución de WSL predeterminada es la que se ejecuta cuando se ejecuta wsl en una línea de comandos.The default WSL distribution is the one that runs when you run wsl on a command line.

wslconfig /setdefault <DistributionName>

Establece la distribución predeterminada en <DistributionName>.Sets the default distribution to <DistributionName>.

Ejemplo:Example:
wslconfig /setdefault Ubuntu establecería la distribución predeterminada en Ubuntu.wslconfig /setdefault Ubuntu would set my default distribution to Ubuntu. Ahora, al ejecutar wsl npm init, se ejecutará en Ubuntu.Now when I run wsl npm init it will run in Ubuntu. Si se ejecuta wsl, se abrirá una sesión de Ubuntu.If I run wsl it will open an Ubuntu session.

Anular el registro de una distribución y reinstalarlaUnregister and reinstall a distribution

Aunque las distribuciones de Linux se pueden instalar a través de Microsoft Store, no se pueden desinstalar a través de Store.While Linux distributions can be installed through the Microsoft store, they can't be uninstalled through the store. WSL Config permite anular el registro de las distribuciones o desinstalarlas.WSL Config allows distributions to be unregistered/uninstalled.

La anulación del registro también permite volver a instalar las distribuciones.Unregistering also allows distributions to be reinstalled.

Precaución: Una vez que se ha anulado el registro, todos los datos, la configuración y el software asociados a esa distribución se perderán de manera permanente.Caution: Once unregistered, all data, settings, and software associated with that distribution will be permanently lost. Si se vuelve a instalar desde Store, se instalará una copia limpia de la distribución.Reinstalling from the store will install a clean copy of the distribution.

wslconfig /unregister <DistributionName>
Anula el registro de la distribución de WSL para que se pueda volver a instalar o limpiar.Unregisters the distribution from WSL so it can be reinstalled or cleaned up.

Por ejemplo: wslconfig /unregister Ubuntu quitaría Ubuntu de las distribuciones disponibles en WSL.For example: wslconfig /unregister Ubuntu would remove Ubuntu from the distributions available in WSL. Al ejecutar wslconfig /list, no aparecerá en la lista.When I run wslconfig /list it will not be listed.

Para reinstalar, busque la distribución en Microsoft Store y seleccione "Iniciar".To reinstall, find the distribution in the Microsoft store and select "Launch".

Establecer la configuración de inicio de WSLSet WSL launch settings

Disponible en la compilación 17093 de Windows Insider y versiones posterioresAvailable in Windows Insider Build 17093 and later

Configura automáticamente cierta funcionalidad en WSL que se aplicará cada vez que inicies el subsistema mediante wsl.conf.Automatically configure certain functionality in WSL that will be applied every time you launch the subsystem using wsl.conf.

En este momento, esto incluye opciones de montaje automático y configuración de red.Right now, this includes automount options and network configuration.

wsl.conf se encuentra en cada distribución de Linux en /etc/wsl.conf.wsl.conf is located in each Linux distribution in /etc/wsl.conf. Si el archivo no está allí, puedes crearlo tú mismo.If the file is not there, you can create it yourself. WSL detectará la existencia del archivo y leerá su contenido.WSL will detect the existence of the file and will read its contents. Si falta el archivo o tiene un formato incorrecto (es decir, un formato de marcado incorrecto), WSL se iniciará de manera normal.If the file is missing or malformed (that is, improper markup formatting), WSL will continue to launch as normal.

A continuación se muestra un archivo wsl.conf de ejemplo que puedes agregar a tus distribuciones:Here is a sample wsl.conf file you could add into your distros:

# Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false

# Enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true

Opciones de configuraciónConfiguration Options

En concordancia con las convenciones de .ini, las claves se declaran en una sección.In keeping with .ini conventions, keys are declared under a section.

WSL admite dos secciones: automount y network.WSL supports two sections: automount and network.

automountautomount

Sección: [automount]Section: [automount]

keykey valuevalue valor predeterminadodefault notasnotes
enabledenabled booleanboolean truetrue true hace que las unidades fijas (es decir,true causes fixed drives (i.e C:/ o D:/) se monten automáticamente con DrvFs en /mnt.C:/ or D:/) to be automatically mounted with DrvFs under /mnt. false significa que las unidades no se montarán automáticamente, pero podrías montarlas de forma manual o a través de fstab.false means drives won’t be mounted automatically, but you could still mount them manually or via fstab.
mountFsTabmountFsTab booleanboolean truetrue true establece /etc/fstab para que se procese en el inicio de WSL.true sets /etc/fstab to be processed on WSL start. /etc/fstab es un archivo donde puedes declarar otros sistemas de archivos, como un recurso compartido de SMB./etc/fstab is a file where you can declare other filesystems, like an SMB share. Por lo tanto, puedes montar estos sistemas de archivos automáticamente en WSL en el inicio.Thus, you can mount these filesystems automatically in WSL on start up.
rootroot CadenaString /mnt/ Establece el directorio donde se montarán automáticamente las unidades fijas.Sets the directory where fixed drives will be automatically mounted. Por ejemplo, si tienes un directorio en WSL en /windir/ y lo especificas como raíz, esperarías ver que las unidades fijas se monten en /windir/cFor example, if you have a directory in WSL at /windir/ and you specify that as the root, you would expect to see your fixed drives mounted at /windir/c
opcionesoptions lista de valores separados por comascomma-separated list of values cadena vacíaempty string Este valor se anexa a la cadena predeterminada de opciones de montaje de DrvFs.This value is appended to the default DrvFs mount options string. Solo se pueden especificar opciones específicas de DrvFs.Only DrvFs-specific options can be specified. No se admiten las opciones que el binario de montaje analizaría normalmente en una marca.Options that the mount binary would normally parse into a flag are not supported. Si quieres especificar explícitamente esas opciones, tienes que incluir en /etc/fstab cada unidad para la que quieras hacerlo.If you want to explicitly specify those options, you must include every drive for which you want to do so in /etc/fstab.

De manera predeterminada, WSL establece uid y gid en el valor del usuario predeterminado (en una distribución de Ubuntu, el usuario predeterminado se crea con uid=1000,gid=1000).By default, WSL sets the uid and gid to the value of the default user (in Ubuntu distro, the default user is created with uid=1000,gid=1000). Si el usuario especifica una opción gid o uid explícitamente a través de esta clave, se sobrescribirá el valor asociado.If the user specifies a gid or uid option explicitly via this key, the associated value will be overwritten. De lo contrario, siempre se anexará el valor predeterminado.Otherwise, the default value will always be appended.

Nota: Estas opciones se aplican como opciones de montaje para todas las unidades montadas automáticamente.Note: These options are applied as the mount options for all automatically mounted drives. Para cambiar las opciones solo para una unidad específica, usa /etc/fstab en su lugar.To change the options for a specific drive only, use /etc/fstab instead.

Opciones de montajeMount options

Establecer diferentes opciones de montaje para las unidades de Windows (DrvFs) puede controlar cómo se calculan los permisos de archivo para los archivos de Windows.Setting different mount options for Windows drives (DrvFs) can control how file permissions are calculated for Windows files. Están disponibles las opciones siguientes:The following options are available:

TeclaKey DescripciónDescription PredeterminadoDefault
uiduid Id. de usuario que se usa para el propietario de todos los archivosThe User ID used for the owner of all files Id. de usuario predeterminado de su distribución WSL (en la primera instalación, el valor predeterminado es 1000)The default User ID of your WSL distro (On first installation this defaults to 1000)
gidgid Id. de grupo que se usa para el propietario de todos los archivosThe Group ID used for the owner of all files Id. de grupo predeterminado de su distribución WSL (en la primera instalación, el valor predeterminado es 1000)The default group ID of your WSL distro (On first installation this defaults to 1000)
umaskumask Máscara octal de permisos que se van a excluir para todos los archivos y directoriosAn octal mask of permissions to exclude for all files and directories 000000
fmaskfmask Máscara octal de permisos que se van a excluir para todos los archivosAn octal mask of permissions to exclude for all files 000000
dmaskdmask Máscara octal de permisos que se van a excluir para todos los directoriosAn octal mask of permissions to exclude for all directories 000000

Nota: Las máscaras de permisos se colocan a través de una operación OR lógica antes de aplicarse a archivos o directorios.Note: The permission masks are put through a logical OR operation before being applied to files or directories.

rednetwork

Etiqueta de la sección: [network]Section label: [network]

keykey valuevalue valor predeterminadodefault notasnotes
generateHostsgenerateHosts booleanboolean true true establece WSL para generar /etc/hosts.true sets WSL to generate /etc/hosts. El archivo hosts contiene una asignación estática de direcciones IP correspondientes a nombres de host.The hosts file contains a static map of hostnames corresponding IP address.
generateResolvConfgenerateResolvConf booleanboolean true true establece WSL para generar /etc/resolv.conf.true set WSL to generate /etc/resolv.conf. resolv.conf contiene una lista de DNS que es capaz de resolver un nombre de host determinado en su dirección IP.The resolv.conf contains a DNS list that are capable of resolving a given hostname to its IP address.

interopinterop

Etiqueta de la sección: [interop]Section label: [interop]

Estas opciones están disponibles en la compilación 17713 de Insider y versiones posteriores.These options are available in Insider Build 17713 and later.

keykey valuevalue valor predeterminadodefault notasnotes
enabledenabled booleanboolean true La configuración de esta clave determinará si WSL admitirá el inicio de procesos de Windows.Setting this key will determine whether WSL will support launching Windows processes.
appendWindowsPathappendWindowsPath booleanboolean true Establecer esta clave determinará si WSL agregará elementos de ruta de acceso de Windows a la variable de entorno $PATH.Setting this key will determine whether WSL will add Windows path elements to the $PATH environment variable.