WSL

 

¿Es la combinación de Windows y Linux la panacea o se trata de otro dolor de cabeza?

Introducción

Pese a lo que diga o haya dicho Microsoft, hablar de un sistema operativo robusto no es hablar de Windows. Sí, como producto comercial puede ser empleado y basarse en éste la operación de todo un negocio pero de ahí a que se pueda considerar «robusto», es otra cosa. Así que tratando de recuperar parte del terreno perdido ha sido que finalmente Microsoft «dio su brazo a torcer» y ha incorporado desde Windows 10 lo que ha denominado «Windows Subsystem for Linux» (WSL). Éstas son algunas notas en el uso de esta extraña combinación que busca hacerse de lo mejor de dos mundos.

WSL 1

Estas notas iniciaron con la habilitación con lo que hoy se conoce como WSL 1.

Pantalla

Scroll

Para poder conservar y posteriormente consultar lo que se muestra en pantalla es necesario  ajustar el scroll.  Properties → Layout → Screen Buffer Size → Height esto le permite a la emulación el asignar recursos de memoria para conservar la salida a stout y stderr.

 

Sin embargo lo anterior no es suficiente, ya que como se mencionó, eso es para el subsistema linux. La aplicación de Windows debe también estar configurada para que haga uso de los recursos asignados para el subsistema linux. En este caso  activando la opción QuickEditMode.

En lo que se refiere al tamaño del cursor, este se controla desde las opciones de la aplicación en Windows.

Desempeño

La utilería sar puede ser instalada con

sudo apt install sysstat

y requiere que la recolección de estadísticas del sistema estén habilitadas.

Troubleshooting (work in progress)

Estas notas parten de un mensaje de error o problema experimentado. En general, si el texto está en inglés se trata de un mensaje de error.

  • Please check if data collecting is enabled.

$ sar
Cannot open /var/log/sysstat/sa09: No such file or directory
Please check if data collecting is enabled
...
The sysstat service and associated timers need to be started. Check [1].

  • System has not been booted with systemd as init system (PID 1). Can’t operate.
  • Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.

El mensaje de error completo se lee:

Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/wsl2-install
Press any key to continue…

Al presionar una tecla, la ventana se cierra.

 

PS C:\Windows\system32> DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

Deployment Image Servicing and Management tool
Version: 10.0.19041.572

Image Version: 10.0.19041.685

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.
Restart Windows to complete this operation.
Do you want to restart the computer now? (Y/N)

 

Algunas particularidades

La interacción con Windows puede traer algunas complicaciones. Manejar archivos del subsistema linux usando el explorador de Windows es posible pero los archivos pueden no mostrarse inmediatamente en el File Explorer (por ejemplo, al copiar o mover un archivo del entorno Windows al de linux). Debe cerrarse la sesión de Ubuntu y volver a abrirla. En ocasiones los archivos en el entorno de Ubuntu quedarán en modo 000 y deberán ajustarse los permisos para poder hacer uso de ellos. Borrar archivos desde el File Explorer hará que el explorador no actualice el contenido del file system.

Similarmente, en el entorno Ubuntu podrán manipularse archivos pero no se verán estas acciones en el File Explorer. Debe cerrarse la sesión en Ubuntu y volver a abrirla para que se actualice el contenido.

Borrar directorios con contenido hará que el File Explorer indique que se requiere de permisos de administración aunque esto sea infructuoso. Recordemos que en Unix un directorio no puede borrarse mientras tenga archivos en éste (a menos que se force la acción rm -rf o rm -f). Eliminando el contenido del directorio hará que éste pueda ser borrado sin problemas con el File Explorer de Windows.

WSL 2

Para la instalación del WSL version 2 se siguieron  los siguientes pasos2:

  1. Se abrió una sesión Open PowerShell as Administrator y se ejecutó:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. Se revisó que se cumpliera con el criterio para hacer el update2.
  3. Se habilitó el componente «Virtual Machine Platform«.
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  4. Y se procedió a colocar el WSL 2 como versión por defecto.
    wsl --set-default-version 2

    lo que generó un error, ya que WSL no es automáticamente habilitado, debe hacerse manualmente3

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    Hecho esto, otro error…

    PS C:\Windows\system32> wsl --set-default-version 2
    Error: 0x1bc
    For information on key differences with WSL 2 please visit https://aka.ms/wsl2

    que requirió actualizar el kernel4,5.

    PS C:\Windows\system32> wsl --set-default-version 2
    For information on key differences with WSL 2 please visit https://aka.ms/wsl2
    PS C:\Windows\system32>

Uso

Por el momento, esto es un compendio de diversas experiencias.

  • En lo que respecta a la interacción entre Windows y el WSL aún hay ciertos problemas o dificultades. Por ejemplo, renombrar un archivo en el WSL puede no poderse (simplemente indicando un «permission denied» sin mayor detalle) y viceversa (en el Windows Explorer aparecerá un aviso de que el archivo está siendo usado por algún otro programa). En estos casos, si la causa del bloqueo no puede determinarse no hay otra que «resetear» al equipo.

Desintalación

Para desinstalar Settings > Apps >

Buscar la distribución escribiendo parcial o totalmente el nombre, por ejemplo «ubu» para Ubuntu.

Referencias

  1. Tom Halle, «sar: enable data collecting«, StackExchange, ServerFault forum, web. Asked 2018.05.18; answered 2018.05.18; consulted: 2019.07.10. URL: https://serverfault.com/questions/913087/sar-enable-data-collecting.
  2. «Windows Subsystem for Linux Installation Guide for Windows 10Microsoft, web. Published: 2020.05.12; visited: 2020.08.13. URL: https://docs.microsoft.com/en-us/windows/wsl/install-win10.
  3. «‘wsl’ command not recognized after enabling WSL2«, GitHub, web. Opened: 2019.06.13; consulted: 2020.08.13. URL: https://github.com/MicrosoftDocs/WSL/issues/405.
  4. «Error 0x1bc when setting wsl default version», GitHub, web. Opened: 2020.07.25; visited: 2020.08.13. URL: https://github.com/microsoft/WSL/issues/5651.
  5. «Updating the WSL 2 Linux kernel», Microsoft, web. Published: , visited: 2020.08.13. URL: https://docs.microsoft.com/nl-nl/windows/wsl/wsl2-kernel.

Twitter Wordpress eMail
© Todos los derechos reservados.
Dr. Eduardo René Rodríguez Ávila
Creación: 2019.05.16
Última actualización: 2021.01.29
El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto.