Gracias al Subsistema de Windows para Linux, los usuarios del sistema operativo de Microsoft han podido ver cómo algo que difícilmente podrían imaginar en el pasado se convertía en realidad. WSL se aprovecha de la virtualización de Microsoft para permitir a los usuarios instalar y usar Linux directamente encima de Windows. Y no solo eso, sino que ambos sistemas están conectados entre sí de manera que, desde uno, podamos acceder a los recursos del otro sistema operativo para, por ejemplo, abrir sus archivos.
Para poder usar estas funcionalidades de Windows vamos a tener que cumplir algunos requisitos previos. Lo primero será asegurarnos de que nuestro ordenador cumple con los requisitos para poder ejecutar el Subsistema de Windows para Linux. De lo contrario, no podremos instalar WSL y, por tanto, no podremos continuar.
Además, es necesario tener activadas en la BIOS las opciones de virtualización de la CPU, y habilitar (si no lo tenemos ya) las funciones del hipervisor de Windows (Hyper-V). Además, debemos habilitar el uso de WSL en el PC, e instalar una primera distro, la que vayamos a utilizar. Todo esto antes podría ser algo complicado, pero ahora podemos hacerlo con un solo comando que podemos ejecutar en CMD:
wsl --install
Una vez que WSL está habilitado, podemos continuar.
Inconvenientes de usar dos sistemas operativos a la vez
El principal problema de trabajar con dos sistemas operativos a la vez, por ejemplo, con Dual-Boot, es que los archivos se guardan en uno o en otro. Y, si queremos acceder a ellos desde el otro sistema operativo ya tenemos que buscarlo y copiarlo para poder utilizarlo. Y, al volver al otro sistema operativo, repetir el proceso.
Una forma sencilla de solucionarlo es tener un disco duro de almacenamiento, compartido con los dos sistemas operativos, de manera que todo se guarde en él y podamos acceder a sus datos en cualquier momento. Sin embargo, si lo que usamos es Windows y Linux gracias a WSL, a partir de ahora vamos a poder acceder a los datos de ambos sistemas muy fácilmente.
Si lo que necesitamos es acceder a los datos de Linux desde Windows, hay una serie de comandos para WSL que nos permiten montar una unidad EXT4 en el explorador para acceder a todos los datos como si se tratase de un disco duro más. Y, si lo que necesitamos es justo lo inverso, es decir, acceder a archivos de Windows desde Linux, vamos a poder hacerlo. Y solo necesitaremos un comando para ello.
Abrir archivos de Windows desde WSL
Lo que hace WSL es permitirnos instalar un shell de Linux. Aunque Microsoft está trabajando en un modo gráfico, y algunas distros, como Kali, ya tienen su propia herramienta para poder usarlo en modo gráfico, lo original, y lo que menos problemas da, es usar WSL como si fuera un terminal, un TTY.
Si ya tenemos instalada y configurada la distro en nuestro PC, simplemente debemos abrir la consola de la misma, desde una ventana de CMD, e iniciar sesión hasta poder tener el control sobre la misma. Una vez llegados a este punto, lo siguiente que debemos hacer es conocer la ruta completa, en Windows, hasta el archivo que queremos abrir.
Ahora, lo único que debemos hacer en nuestro WSL es ejecutar el siguiente comando. Eso sí, debemos cambiar «ruta-al-archivo» por la ruta completa hasta el archivo que hemos apuntado en el punto anterior:
cmd.exe /C start "ruta-al-archivo"
Al pulsar «Enter», el archivo al que hayamos apuntado se abrirá automáticamente. Eso sí, se abrirá usando el programa que tengamos configurado como predeterminado en Windows. Ahora podremos editarlo, trabajar con él, y cuando acabemos guardar los cambios.
Abrir programas con el Subsistema de Windows para Linux
Otro truco del que nos podemos aprovechar en WSL es de la posibilidad de abrir programas de Windows desde el bash de Linux. Esto es muy útil, sobre todo, si estamos trabajando con la consola a pantalla completa, o con varias instancias de bash, y no queremos coger el ratón para abrir el programa de la forma de siempre.
Para llevar a cabo esta tarea, lo que debemos hacer es conocer la ruta del ejecutable que queremos abrir. Si es un programa común, como el bloc de notas, no tendremos que conocer la ruta completa, y bastará con escribir el nombre del programa (notepad.exe) para abrirlo. En caso contrario, sí necesitaremos la ruta completa del programa que queremos ejecutar para poder abrirlo.
El comando que debemos ejecutar en este caso es prácticamente igual al anterior, cambiando especialmente el destino.
cmd.exe /C start "ruta-al-programa"
o
cmd.exe /C start "programa.exe"
La principal limitación de este método es que no podemos ejecutar aplicaciones UWP, de la Microsoft Store, desde el Subsistema de Windows para Linux. Solo, o bien abrir archivos, o bien ejecutar programas .exe. Pero lo que sí podemos hacer es crear un acceso directo al programa UWP que tengamos instalado en el ordenador y, usando el mismo comando anterior, abrir dicho acceso directo.
cmd.exe /C start "ruta-al-acceso-directo"
Así, conseguiremos ejecutar la aplicación UWP directamente desde el Subsistema de Windows para Linux. Lo mismo puede ocurrir si tenemos una app UWP configurada como predeterminada para abrir un determinado tipo de archivo. Si usamos el primer comando para abrir el archivo desde WSL, entonces este se abrirá con la app UWP por defecto.
Usando OpenInWSL
Para los usuarios que no estén familiarizados con CMD, un desarrollador ha publicado una nueva app en la Microsoft Store llamada «OpenInWSL«.
Esta app lo que nos va a permitir va a ser abrir cualquier archivo o cualquier programa directamente desde una de las distros Linux que tengamos instaladas en WSL sin necesidad de aprender ningún comando. El programa, además, queda integrado dentro del menú contextual de Windows, por lo que podremos lanzar los programas simplemente haciendo clic con el botón derecho del ratón.
El programa es totalmente gratuito para los usuarios, y nos va a ayudar a sacarle mucho más provecho al subsistema de Windows para Linux. Un must-have en caso de que vayamos a usar esta funcionalidad, que podemos bajar gratis desde aquí: