Instalei o subsistema Linux para Windows 10. Ele funciona bem, mas quero alterar o ambiente de shell padrão para o subsistema.
Eu fiz sudo apt-get install fish
e então chsh -s /usr/bin/fish
. Mas quando inicio bash.exe
no Windows, ele sempre inicia o bash (acho que é previsível).
Alguém conhece argumentos para mudar esse comportamento?
bash.exe
obviamente está iniciando explicitamente o bash. Não estou familiarizado com o subsistema Linux no Windows 10, mas esperaria que houvesse alguma maneira de iniciar um shell "Linux" sem iniciar explicitamente um shell específico.isatty && exec fish
pode valer a pena quando você estiver totalmente sem soluções reais.Respostas:
Você não pode alterar o shell padrão em si, pois o subsistema Linux é iniciado por meio do bash.exe, que reside no diretório do sistema.
No entanto, você pode criar um novo atalho como o que já existe para o bash e executar o comando
Dessa forma, você estará executando o peixe imediatamente.
fonte
%systemroot%\system32\bash.exe ~ -c /bin/zsh
fazer o ZSH aberto no meu diretório pessoal.%userprofile%
para iniciar o shell no seu diretório pessoal.Desde a Atualização dos criadores de outono, você pode usar
chsh
para definir o shell padrão. Isso ainda não funciona se você estiver executando o WSL usando obash.exe
comando, mas isso funcionará se você estiver executando o WSL com oubuntu.exe
comandoAlém disso, desde a atualização dos criadores de outono, devemos instalar o sistema operacional WSL da Windows Store .
Defina
zsh
como shell padrão:em seguida, execute (ou reinicie)
ubuntu.exe
no prompt de comando.fonte
Abra o bash, execute
nano ~/.bashrc
e cole isso em:Apenas mude o shell para
fish
o que quiser. A-x
verificação é importante se você reinstalar o Bash - você não poderá abri-lo após uma nova instalação porque oexec
comando falhará e o Bash será fechado.Se isso acontecer, exclua / renomeie seu
.bashrc
arquivo aqui:O
-t
que eu acredito que verifica se stdout está aberta. Não sei por que isso é importante, copiei deste artigo .fonte