La aplicación "Bash en Ubuntu en Windows" siempre inicia, bueno, bash. Solía chsh
configurar otro shell como mi shell de inicio de sesión. ¿Cómo consigo que WSL inicie ese shell?
Respuesta1
Esto está arreglado enuna compilación actualmente exclusiva para Insider, con el nuevo wsl.exe
comando:
A partir de la compilación 16188, cuando se ejecuta bash.exe sin argumentos (o con el argumento ~), bash se iniciará como un shell de inicio de sesión. Lo mismo ocurre con el nuevo binario wsl.exe (con la excepción de que wsl inicia el shell predeterminado de su usuario como un shell de inicio de sesión).
Antes de esto, tendrías que editar el acceso directo para agregar parámetros de línea de comandos (como -c 'exec "$SHELL" -l'
):
Respuesta2
Un poco de contexto histórico para cualquiera que intente agregar una nueva respuesta hoy en día. Esta pregunta se hizo originalmente en la época oscura de principios de WSL. En aquel momento:
- Ubuntu/WSL era conocido como "Bash en Ubuntu en Windows"
- Fue lanzado mediante el
bash.exe
comando. - Élsiemprelanzó el shell Bash
El bash.exe
comando quedó obsoleto hace un tiempo y se reemplazó con el wsl.exe
comando que @muru mencionó enesta respuesta.
Ahora, puede cambiar su shell predeterminado/de inicio de sesión a Fish (o normalmente cualquier otro shell) usando los métodos estándar de Ubuntu mencionados, por ejemplo, enesta respuesta. En breve:
- Asegúrese de que el caparazón esté representado en su
/etc/shells
chsh -s <path_to_shell>
- O normalmente,
chsh -d $(which fish)
Respuesta3
Para iniciar, por ejemplo, pescar en Ubuntu en WSL, establezca su objetivo en
C:\Windows\system32\wsl.exe --distribution Ubuntu --exec fish