X Linux
Menú de documentación

Resumen/Scripts de WSL

Que configura

Este repositorio gestiona la parte de usuario de X Linux en WSL. El cableado de sistema de WSL pertenece al rootfs de xlnux/wsl y no se toca: /etc/wsl.conf (systemd, red), el manejo de kernel/modulos y la habilitacion de interop de Windows quedan fuera del alcance de estos scripts. La unica excepcion es la clave [user] default: al crear un usuario real, este repositorio fija esa clave a el, porque las distribuciones importadas no tienen launcher de Windows y /etc/wsl.conf es la unica via soportada para cambiar su usuario por defecto. Solo se toca ese valor, nunca el resto del fichero.

Fase de sistema (stage-root.sh, root)

AreaFichero / accion
Localeactiva el locale en /etc/locale.gen, ejecuta locale-gen, escribe LANG en /etc/locale.conf
Tecladoescribe KEYMAP en /etc/vconsole.conf
Zona horariaenlaza /usr/share/zoneinfo/<zona> a /etc/localtime y, con systemd activo, llama a timedatectl set-timezone. Con windows-time no escribe nada (WSL refleja el reloj de Windows)
Herramientaspacman -S sudo git curl wget (mas el shell de login si no esta); se omite sin red o con --no-install
Usuariocrea o asegura el usuario, lo anade a wheel y fija su shell de login
Sudo/etc/sudoers.d/x-wsl-wheel con %wheel ALL=(ALL:ALL) NOPASSWD: ALL (nopasswd, el default) o %wheel ALL=(ALL:ALL) ALL (password); con password la contrasena del usuario se pide interactivamente
Usuario por defectofija [user] default=<usuario> en /etc/wsl.conf (default; desactivable con X_SET_DEFAULT_USER=0). Si falta /etc/wsl.conf o se desactiva, la fase muestra guia
Nota/etc/profile.d/x-wsl.sh registra el resumen de sistema

La politica de sudo por defecto en WSL es nopasswd: la distro es un equipo personal de un solo usuario y esto mantiene el flujo automatico. Elige password cuando el usuario necesite una frontera de credenciales (entonces se pide y fija una contrasena).

El usuario por defecto de la distribucion se cambia mediante la clave [user] default de /etc/wsl.conf, el metodo documentado para distribuciones importadas. WSL lo lee al arrancar la instancia, asi que la fase indica salir y relanzar antes de la fase de usuario. Cuando falta /etc/wsl.conf o el pin se desactivo, un aviso explica como fijar la clave a mano o lanzar con wsl -d <distro> -u <usuario>.

Fase de usuario (stage-user.sh, usuario normal)

AreaResultado
EditorEDITOR/VISUAL: X_EDITOR si esta definido, si no el primero de vim, nano, vi encontrado en el sistema
Directorios XDGXDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_DATA_HOME, XDG_STATE_HOME bajo $HOME
PATH$HOME/.local/bin y $HOME/bin antepuestos sin quitar entradas existentes
PromptPROMPT (zsh) o PS1 (bash) amigables
Aliasesl, ll, la, grep con color, .., ...
Carpetascrea ~/.local/bin, ~/.config/x, ~/Projects

Todo el bloque de entorno se escribe entre dos marcadores (# >>> xlnux/wsl-scripts: user environment y su marcador de fin) dentro de ~/.profile y ~/.bashrc (con shell de login zsh el bloque va a ~/.zprofile y ~/.zshrc). Volver a ejecutar la fase reemplaza solo ese bloque, asi que tus ediciones en el resto de los rc se conservan.

Interop con Windows

Las entradas de interop de WSL ya presentes en PATH (por ejemplo /mnt/c/...) nunca se eliminan: la higiene de PATH solo antepone los binarios del usuario. Las variables WSL_INTEROP y relacionadas no se tocan.

Ficheros que cambian

  • /etc/locale.gen, /etc/locale.conf, /etc/vconsole.conf, /etc/localtime
  • /etc/sudoers.d/x-wsl-wheel
  • /etc/profile.d/x-wsl.sh
  • /etc/wsl.conf - solo el valor [user] default (el resto intacto)
  • ~/.profile, ~/.bashrc (o ~/.zprofile, ~/.zshrc con zsh)
  • ~/.local/bin, ~/.config/x, ~/Projects

Editar esta página en GitHub