Una corta: Ya conté cómo habilitar todo un ambiente de Linux en WSL pero no cómo crear un acceso directo (o sí, en el tutorial de Terminator en Windows pero que hice con WSL 1). No es el enfoque del artículo pero pasar de WSL 1 a 2 trae ventajas pero también cambios, entre ellos cómo se accede a las aplicaciones de Linux desde Windows.

Primero una cosa: Necesitas un servidor de X instalado en Windows. Yo recomiendo el VcXsrv.

Te instalaste una aplicación gráfica en WSL? Si necesitas un acceso directo desde Windows tendrías que hacer dos cosas (como lo hicimos en el tutorial):

  1. Crear un script para WSL
  2. Crear un acceso directo con wscript.exe

Si usamos WSL 1, las instrucciones del artículo enlazado arriba bastan y sobran. Creas un archivo .vbs con este contenido.

args = "-c" & " -l " & """DISPLAY=:0 tuejecutableaqui"""
WScript.CreateObject("Shell.Application").ShellExecute "bash", args, "", "open", 0

Donde dice tuejecutableaqui pones la orden que quieres ejecutar con los parámetros que hagan falta. Luego guardas el archivo y creas un acceso directo que apunte a:

C:\Windows\System32\wscript.exe C:\Users\[tu usuario]\nombredearchivo.vbs

acceso directo terminal

Si nuestra distro usa WSL 2 las cosas cambian: El tema es la IP. La IP de un Ubuntu en WSL 1 es la misma que la de tu PC con Windows, por lo tanto, localhost apunta a tu distro de Linux. En WSL 2 tu IP local es distinta a la de Windows e incluso va cambiando con el tiempo.

Sin embargo, eso no sería muy cómodo consultar la ip de la distro cada vez que queramos usarla. Escribe lo siguiente en la consola:

echo $(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')

El resultado de esta línea debería ser tu ip pública en la red local. En el script anterior reemplazamos la ip local implícita por esta línea de esta forma:

args = "-c" & " -l " & """DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 tuejecutableaqui"""
WScript.CreateObject("Shell.Application").ShellExecute "bash", args, "", "open", 0

Bastante más largo pero funciona.