Preguntas más frecuentes sobre el subsistema de Windows para LinuxFrequently Asked Questions about Windows Subsystem for Linux

¿Qué es el Subsistema de Windows para Linux (WSL)?What is Windows Subsystem for Linux (WSL)?

El Subsistema de Windows para Linux (WSL) es una nueva característica de Windows 10 que te permite ejecutar herramientas de línea de comandos nativas de Linux directamente en Windows, junto con el escritorio tradicional de Windows y las aplicaciones modernas de la tienda.The Windows Subsystem for Linux (WSL) is a new Windows 10 feature that enables you to run native Linux command-line tools directly on Windows, alongside your traditional Windows desktop and modern store apps.

Consulta la página Acerca de para obtener más detalles.See the about page for more details.

¿Para quién es WSL?Who is WSL for?

Esta es principalmente una herramienta para desarrolladores; especialmente para desarrolladores web y para aquellos que trabajan en proyectos de código abierto o con ellos.This is primarily a tool for developers -- especially web developers and those who work on or with open source projects. Esto permite a aquellos que quieran o necesiten usar Bash, las herramientas comunes de Linux (sed, awk, etc.) y varias herramientas de Linux (Ruby, Python, etc.) usar su cadena de herramientas en Windows.This allows those who want/need to use Bash, common Linux tools (sed, awk, etc.) and many Linux-first tools (Ruby, Python, etc.) to use their toolchain on Windows.

¿Qué puedo hacer con WSL?What can I do with WSL?

WSL proporciona una aplicación llamada Bash.exe que, cuando se inicia, abre una consola de Windows que ejecuta el shell de Bash.WSL provides an application called Bash.exe that, when started, opens a Windows console running the Bash shell. Con Bash, puedes ejecutar aplicaciones y herramientas de Linux de línea de comandos.Using Bash, you can run command-line Linux tools and apps. Por ejemplo, escribe lsb_release -a y presiona Entrar para ver los detalles de la distribución de Linux que se está ejecutando actualmente:For example, type lsb_release -a and hit enter; you’ll see details of the Linux distro currently running:

Captura de pantalla de los detalles de distribución

También puedes tener obtener acceso al sistema de archivos de la máquina local desde el shell de Bash de Linux; encontrarás las unidades locales montadas en la carpeta /mnt.You can also access your local machine’s filesystem from within the Linux Bash shell – you’ll find your local drives mounted under the /mnt folder. Por ejemplo, la unidad C: se monta en /mnt/c:For example, your C: drive is mounted under /mnt/c:

Captura de pantalla de la unidad C montada

¿Qué es Bash?What is Bash?

Bash es un conocido shell basado en texto, que cuenta con un lenguaje de comandos.Bash is a popular text-based shell and command-language. Es el shell predeterminado que está incluido en Ubuntu, en otras distribuciones de Linux y en macOS.It is the default shell included within Ubuntu and other Linux distros, and in macOS. Los usuarios pueden escribir comandos en un shell para ejecutar scripts o ejecutar comandos y herramientas para realizar varias tareas.Users type commands into a shell to execute scripts and/or run commands and tools to accomplish many tasks.

¿Cómo funciona?How does this work?

Echa un vistazo a nuestro blog; en él detallaremos la tecnología subyacente.Check out our blog where we go into detail about the underlying technology.

¿Por qué debo usar WSL en lugar de Linux en una VM?Why would I use WSL rather than Linux in a VM?

WSL necesita menos recursos (CPU, memoria y almacenamiento) que una máquina virtual completa.WSL requires fewer resources (CPU, memory, and storage) than a full virtual machine. Asimismo, WSL también te permite ejecutar aplicaciones y herramientas de línea de comandos de Linux junto con la línea de comandos de Windows, aplicaciones de escritorio y de Store, así como la posibilidad de acceder a los archivos de Windows desde Linux.WSL also allows you to run Linux command-line tools and apps alongside your Windows command-line, desktop and store apps, and to access your Windows files from within Linux. Esto te permite usar las aplicaciones de Windows y las herramientas de línea de comandos de Linux en el mismo conjunto de archivos, si así lo deseas.This enables you to use Windows apps and Linux command-line tools on the same set of files if you wish.

¿Por qué debo usar, por ejemplo, Ruby en Linux en lugar de en Windows?Why would I use, for example, Ruby on Linux instead of on Windows?

Algunas herramientas multiplataforma se crearon suponiendo que el entorno en el que se ejecutan se comporta como Linux.Some cross-platform tools were built assuming that the environment in which they run behaves like Linux. Por ejemplo, algunas herramientas suponen que pueden obtener acceso a rutas de acceso de archivos muy largas o que existen archivos o carpetas específicos.For example, some tools assume that they are able to access very long file paths or that specific files/folders exist. Esto suele provocar problemas en Windows, que a menudo se comporta de forma diferente de Linux.This often causes problems on Windows which often behaves differently from Linux.

Muchos lenguajes como Ruby y Node a menudo se trasladan a Windows y se ejecutan de manera excelente.Many languages like Ruby and node are often ported to, and run great, on Windows. Sin embargo, no todos los propietarios de bibliotecas Ruby Gem o node/NPM portan sus bibliotecas para que admitan Windows, y muchas tienen dependencias específicas de Linux.However, not all of the Ruby Gem or node/NPM library owners port their libraries to support Windows, and many have Linux-specific dependencies. Esto a menudo puede dar como resultado que los sistemas que se crearon con herramientas y bibliotecas de este tipo sufran errores de compilación y, a veces, del entorno de ejecución o tengan comportamientos no deseados en Windows.This can often result in systems built using such tools and libraries suffering from build and sometimes runtime errors or unwanted behaviors on Windows.

Estos son solo algunos de los problemas que han provocado que muchas personas pidan a Microsoft que mejore las herramientas de línea de comandos de Windows, lo que nos llevó a asociarnos con Canonical para permitir que las herramientas de línea de comandos nativas de Bash y Linux se ejecuten en Windows.These are just some of issues that caused many people to ask Microsoft to improve Windows’ command-line tools and what drove us to partner with Canonical to enable native Bash and Linux command-line tools to run on Windows.

¿Qué significa esto para PowerShell?What does this mean for PowerShell?

Al trabajar con proyectos de OSS, existen numerosos escenarios en los que es enormemente útil usar Bash desde un símbolo del sistema de PowerShell.While working with OSS projects, there are numerous scenarios where it’s immensely useful to drop into Bash from a PowerShell prompt. La compatibilidad con Bash es complementaria y fortalece el valor de la línea de comandos en Windows, permitiendo que PowerShell y la comunidad de PowerShell aprovechen otras tecnologías populares.Bash support is complementary and strengthens the value of the command-line on Windows, allowing PowerShell and the PowerShell community to leverage other popular technologies.

Puedes leer más en el blog del equipo de PowerShell: Bash para Windows: por qué es impresionante y qué significa para PowerShell.Read more on the PowerShell team blog -- Bash for Windows: Why it’s awesome and what it means for PowerShell

¿Puedo ejecutar TODAS las aplicaciones de Linux en WSL?Can I run ALL Linux apps in WSL?

No.No! WSL es una herramienta destinada a permitir que los usuarios que necesitan esas aplicaciones puedan ejecutar Bash y las principales herramientas de línea de comandos de Linux en Windows.WSL is a tool aimed at enabling users who need them to run Bash and core Linux command-line tools on Windows.

WSL no tiene como objetivo admitir aplicaciones o escritorios de GUI (por ejemplo, Gnome, KDE, etc.).WSL does not aim to support GUI desktops or applications (e.g. Gnome, KDE, etc.)

Asimismo, aunque puedas ejecutar varias aplicaciones de servidor populares (por ejemplo, Redis), no recomendamos WSL para hospedar servicios de producción, ya que Microsoft ofrece una variedad de soluciones para ejecutar cargas de trabajo de Linux en Azure, Hyper-V y Docker.Also, even though you will be able to run many popular server applications (e.g. Redis), we do not recommend WSL for hosting production services – Microsoft offers a variety of solutions for running production Linux workloads in Azure, Hyper-V, and Docker.

¿En qué SKU de Windows está incluido WSL?What Windows SKUs is WSL included in?

El Subsistema de Windows para Linux está disponible en la versión de escritorio de Windows para las versiones de Actualización de aniversario de Windows 10 y Creators Update, o posteriores.Windows Subsystem for Linux is available on the desktop version of Windows for Windows 10 Anniversary and Creators update or later.

A partir de la versión de Fall Creators Update, WSL estará disponible en las SKU de escritorio y servidor de Windows.Beginning in the Fall Creators update WSL will be available on both the desktop and server SKUs of Windows.

¿Qué procesadores admite WSL?What processors does WSL support?

WSL admite las CPU x64 y ARM.WSL supports x64 and ARM CPUs.

¿Cómo accedo a la unidad C:?How do I access my C: drive?

Los puntos de montaje de los discos duros en la máquina local se crean automáticamente y proporcionan un fácil acceso al sistema de archivos de Windows.Mount points for hard drives on the local machine are automatically created and provide easy access to the Windows filesystem.

/mnt/<letra de unidad>//mnt/<drive letter>/

Un ejemplo de uso sería cd /mnt/c para acceder a c:Example usage would be cd /mnt/c to access c:\

¿Cómo uso un archivo de Windows con una aplicación de Linux?How do I use a Windows file with a Linux app?

Uno de los beneficios de WSL es que puedes acceder a tus archivos mediante aplicaciones o herramientas de Windows y Linux.One of the benefits of WSL is being able to access your files via both Windows and Linux apps or tools.

WSL monta las unidades fijas de la máquina que están en la carpeta /mnt/<drive> en tus distribuciones de Linux.WSL mounts your machine's fixed drives under the /mnt/<drive> folder in your Linux distros. Por ejemplo, la unidad C: se monta en /mnt/c/For example, your C: drive is mounted under /mnt/c/

Si usas tus unidades montadas, puedes editar el código (por ejemplo, C:\dev\myproj\ usando Visual Studio / o VS Code) y compilar o probar ese código en Linux accediendo a los mismos archivos a través de /mnt/c/dev/myproj.Using your mounted drives, you can edit code in, for example, C:\dev\myproj\ using Visual Studio / or VS Code, and build/test that code in Linux by accessing the same files via /mnt/c/dev/myproj.

NOTA IMPORTANTE: Una de las limitaciones principales del uso de WSL es que no se admite el acceso o cambio directo de archivos en el sistema de archivos de tus distribuciones de Linux mediante aplicaciones o herramientas de Windows.IMPORTANT NOTE: One of the key limitations of using WSL is that directly accessing/changing files in your Linux distros' filesystem using Windows apps or tools is not supported. Vea: No cambies los archivos de Linux con las aplicaciones y herramientas de WindowsSee: Do not change Linux files using Windows apps and tools

¿Los archivos de la unidad de Linux son diferentes de la unidad de Windows montada?Are files in the Linux drive different from the mounted Windows drive?

  1. Los archivos que se encuentran en la raíz de Linux (por ejemplo , /) se controlan mediante WSL, que imita el comportamiento específico de Linux, incluyendo, entre otros, los siguientes:Files under the Linux root (i.e. /) are controlled by WSL which mimics Linux specific behavior, including but not limited to:

    • Archivos que contienen caracteres de nombre de archivo de Windows que no son válidosFiles which contain invalid Windows filename characters
    • Vínculos simbólicos creados para usuarios que no son administradoresSymlinks created for non-admin users
    • La opción de cambiar atributos de archivo a través de chmod y chownChanging file attributes through chmod and chown
    • Distinción de mayúsculas y minúsculas en archivos o carpetasFile/folder case sensitivity
  2. Los archivos de las unidades montadas se controlan mediante Windows y tienen los siguientes comportamientos:Files in mounted drives are controlled by Windows and have the following behaviors:

    • Compatibilidad para la distinción de mayúsculas y minúsculasSupport case sensitivity
    • Todos los permisos se establecen para reflejar mejor los permisos de WindowsAll permissions are set to best reflect the Windows permissions

¿Por qué hay tantos errores cuando ejecuto la actualización apt-get?Why are there so many errors when I run apt-get upgrade?

Algunos paquetes usan características que aún no se han implementado.Some packages use features that we haven't implemented yet. udev, por ejemplo, todavía no se admite y produce varios errores de tipo apt-get upgrade.udev, for example, isn't supported yet and causes several apt-get upgrade errors.

Para corregir los problemas relacionados con udev, sigue estos pasos:To fix issues related to udev, follow the following steps:

  1. Escribe lo siguiente en /usr/sbin/policy-rc.d y guarda los cambios.Write the following to /usr/sbin/policy-rc.d and save your changes.

    #!/bin/sh
    exit 101
    
  2. Agrega los permisos de ejecución en /usr/sbin/policy-rc.d.Add execute permissions to /usr/sbin/policy-rc.d

    chmod +x /usr/sbin/policy-rc.d
    
  3. Ejecuta los siguientes comandos:Run the following commands

    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl
    

¿Cómo desinstalo una distribución de WSL?How do I uninstall a WSL Distribution?

En las compilaciones anteriores a 1709 (16299), abre un símbolo del sistema y ejecuta lo siguiente:On builds prior to 1709 (16299) open a command prompt and run:

lxrun /uninstall /full

Las distribuciones de WSL instaladas desde Store se pueden desinstalar como cualquier otra aplicación de Windows; para ello, haz clic con el botón derecho en el icono de la aplicación y haz clic en Desinstalar; también puedes desinstalarlas a través de PowerShell mediante el cmdlet Remove-AppxPackage.WSL distributions installed from the store can be uninstalled like any other Windows app, by right-clicking on the app tile and clicking Uninstall, or via PowerShell using the Remove-AppxPackage cmdlet.

¿Por qué el ping genera errores de tipo "Permiso denegado"?Why does ping generate permission denied errors?

En las compilaciones de WSL anteriores a la versión 14926, el ping requería que WSL se ejecutara mediante de una consola con privilegios elevados.In WSL builds < 14926, ping required WSL to run via an elevated Console. Este problema se corrigió en la compilación 14926 y en versiones posteriores.This issue was fixed in Build 14926 and later.

¿Cómo ejecuto un servidor OpenSSH?How do I run an OpenSSH server?

Se requieren privilegios de administrador en Windows para ejecutar OpenSSH en WSL.Administrator privileges in Windows are required to run OpenSSH in WSL. Para ejecutar un servidor OpenSSH, ejecuta Bash en Ubuntu en Windows como administrador o ejecuta Bash.exe desde un símbolo del sistema de CMD/PowerShell con privilegios de administrador.To run an OpenSSH server, run Bash on Ubuntu on Windows as an administrator, or run bash.exe from a CMD/PowerShell prompt with administrator privileges.

¿Por qué obtengo el mensaje "Error: 0x80040306 " cuándo intento realizar la instalación?Why do I get "Error: 0x80040306" when I try to install?

WSL no se puede ejecutar en una consola heredada.WSL does not support running in a legacy console. Para desactivar la consola heredada:To turn off legacy console:

  1. Abre WSL, PowerShell o CMD.Open WSL, PowerShell, or Cmd
  2. Haz clic con el botón derecho en barra de título -> Propiedades-> y desactiva "Usar consola heredada".Right click title bar -> Properties -> Uncheck "Use legacy console"
  3. Haga clic en AceptarClick OK

¿Por qué obtengo el mensaje "Error: 0x80040154 "cuando ejecuto Bash.exe después de actualizar Windows?Why do I get "Error: 0x80040154" when I run bash.exe after upgrading Windows?

La característica "Subsistema de Windows para Linux" puede estar deshabilitada durante una actualización de Windows.The "Windows Subsystem for Linux" feature may be disabled during a Windows update. Si esto ocurre, debes volver a habilitar la característica de Windows.If this happens the Windows feature must be re-enabled. Las instrucciones para habilitar la característica "Subsistema de Windows para Linux" se pueden encontrar en la guía de instalación.Instructions for enabling the "Windows Subsystem for Linux" feature can be found in the Installation Guide.

¿Cómo cambio el idioma de visualización de WSL?How do I change the display language of WSL?

La instalación de WSL intentará cambiar automáticamente la configuración regional de Ubuntu para que coincida con la configuración regional de la instalación de Windows.WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. Si no quieres que esto pase, puedes ejecutar este comando para cambiar la configuración regional de Ubuntu una vez finalizada la instalación.If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. Ten en cuenta que tendrás que reiniciar bash.exe para que este cambio surta efecto.You will have to relaunch bash.exe for this change to take effect.

En el ejemplo siguiente se cambia la configuración regional a en-US:The below example changes to locale to en-US:

sudo update-locale LANG=en_US.UTF8

¿Por qué no tengo acceso a Internet desde WSL?Why do I not have internet access from WSL?

Algunos usuarios han detectado problemas con aplicaciones de firewall específicas que bloquean el acceso a Internet en WSL.Some users have reported issues with specific firewall applications blocking internet access in WSL. Los firewalls que dan error son:The firewalls reported are:

  1. KasperskyKaspersky
  2. AVGAVG
  3. AvastAvast

En algunos casos, si desactivas el firewall podrás acceder.In some cases turning off the firewall allows for access. En otros casos, simplemente tener instalado el firewall parece bloquear el acceso a Internet.In some cases simply having the firewall installed looks to block access.

¿Cómo obtengo acceso a un puerto desde WSL en Windows?How do I access a port from WSL in Windows?

WSL comparte la dirección IP de Windows, ya que se ejecuta en Windows.WSL shares the IP address of Windows, as it is running on Windows. Así pues, puedes obtener acceso a cualquier puerto en localhost; por ejemplo, si tienes contenido web en el puerto 1234, puedes obtener acceso https://localhost:1234 al explorador de Windows.As such you can access any ports on localhost e.g. if you had web content on port 1234 you could https://localhost:1234 into your Windows browser.

¿Cómo puedo realizar una copia de seguridad de mi distribución de WSL?How can I back up my WSL distros?

La mejor manera de hacer una copia de seguridad de la distribución está disponible en la versión 1809 y en versiones posteriores de Windows.The best way to backup your distros is available in Windows Version 1809 and later. Puedes exportar toda la distribución a un tarball mediante el comando wsl --export.You can export your entire distribution to a tarball using the wsl --export command. A continuación, puedes importar de nuevo esta distribución en WSL mediante el comando wsl --import, lo que te permitirá realizar copias de seguridad y guardar los estados de las distribuciones de WSL.You can then import this distro back into WSL using the wsl --import command, allowing you to backup and save states of your WSL distributions.

Recuerda que los servicios de copia de seguridad tradicionales que copian los archivos de las carpetas AppData (por ejemplo, copias de seguridad de Windows) no dañarán los archivos de Linux.Please note that traditional backup services that backup files in your Appdata folders (like Windows Backup) will not corrupt your Linux files.

¿Dónde puedo enviar mis comentarios?Where can I provide feedback?

Puedes compartir tus comentarios y formular preguntas a través de varios canales: Los comentarios y las preguntas se deben enviar a:You can share feedback and ask questions through multiple channels: Feedback and questions should be directed to: