Abrindo um shell wsl de outro aplicativo do Windows

Abrindo um shell wsl de outro aplicativo do Windows

Estou tentando configurar o Tower (cliente git) para iniciar um shell wsl bash. Eu tentei um monte de coisas, mas parece que isso não foi intencional.

insira a descrição da imagem aqui

O que eu tentei:

command:     c:\windows\system32\wsl.exe
parameters:  bash -i

command:     c:\windows\system32\bash.exe
parameters:  -i

command:     c:\windows\system32\cmd.exe
parameters:  /c "bash -i"

command:     c:\windows\system32\bash.exe
parameters:  -i

command:     c:\WINDOWS\System32\windowspowershell\v1.0\powershell.exe
parameters:  wsl bash -i

command:     cmd 
parameters:  /c start start bash -i

command:     C:\Windows\SysWOW64\cmd.exe
parameters:  /c start start bash -i

Tudo isso apenas abre uma janela do console por um curto período de tempo e depois retorna para a Torre.

A maioria desses comandos funciona na janela do explorer...

cmd do Windows

Responder1

Para iniciar um executável de 64 bits a partir de um processo de 32 bits, como iniciar wsl.exe do Tower, você precisa usar osysnative redirecionador de sistema de arquivos.

Neste caso, execute:%windir%\sysnative\wsl.exe

Você pode testar isso iniciando primeiro uma versão de 32 bits do Cmd executando o seguinte na caixa de diálogo Executar ( Windows+ R):%windir%\SysWoW64\cmd.exe

Então, dentro da instância Cmd, você pode executar o seguinte:

%windir%\sysnative\wsl.exe

Agora você deve ver o WSL de 64 bits em execução anexado à mesma instância do console: insira a descrição da imagem aqui

Responder2

Parece que esta solução alternativa resolve o problema:

command:    C:\WINDOWS\sysnative\WindowsPowerShell\v1.0\powershell.exe
parameters: wsl bash

Ele inicia uma instância do PowerShell de 64 bits para carregar o subsistema Windows para Linux.

Veja também:

insira a descrição da imagem aqui


Alternativa:

Outra opção que encontrei é usarwsl-terminal, mas como isso depende de um terminal de terceiros e de um monte de outras dependências, prefiro não usá-lo.

informação relacionada