Zainstalowałem podsystem Linux dla Windows 10. Działa dobrze, ale chcę zmienić domyślne środowisko powłoki dla podsystemu.
Zrobiłem sudo apt-get install fish
i wtedy chsh -s /usr/bin/fish
. Ale kiedy uruchamiam bash.exe
w systemie Windows, zawsze zaczyna się bash (myślę, że jest przewidywalny).
Czy ktoś zna argumenty, aby zmienić to zachowanie?
bash.exe
, oczywiście wyraźnie zaczynasz bash. Nie znam podsystemu Linux w Windows 10, ale spodziewałbym się, że będzie jakiś sposób na uruchomienie powłoki „Linux” bez jawnego uruchamiania jednej konkretnej powłoki.isatty && exec fish
może być warte wypróbowania, gdy nie masz już rzeczywistych rozwiązań.Odpowiedzi:
Nie można zmienić domyślnej powłoki jako takiej, ponieważ podsystem Linux jest uruchamiany za pomocą pliku bash.exe znajdującego się w katalogu systemowym.
Możesz jednak utworzyć nowy skrót, taki jak ten, który już istnieje dla bash i uruchomić polecenie
W ten sposób natychmiast zaczniesz łowić ryby.
źródło
%systemroot%\system32\bash.exe ~ -c /bin/zsh
, aby ZSH otwarte w moim katalogu domowym.%userprofile%
aby uruchomić powłokę w katalogu domowym.Od aktualizacji Fall Creators Update możesz użyć
chsh
do ustawienia domyślnej powłoki. To nadal nie działa, jeśli używasz WSL za pomocąbash.exe
polecenia, ale działa to, jeśli używasz WSL zubuntu.exe
poleceniem.Ponadto, ponieważ Fall Creators Update powinniśmy zainstalować system WSL OS ze Sklepu Windows .
Ustaw
zsh
jako domyślną powłokę:następnie uruchom (lub uruchom ponownie)
ubuntu.exe
z wiersza polecenia.źródło
Otwórz bash, uruchom
nano ~/.bashrc
i wklej to w:Po prostu zmień powłokę na
fish
lub cokolwiek chcesz.-x
Wyboru jest ważne, jeśli kiedykolwiek ponownie zainstalować Bash - nie będą w stanie go otworzyć po nową instalację, ponieważexec
komenda nie powiedzie się, a następnie Bash prostu zamyka.Jeśli tak się stanie, usuń / zmień nazwę
.bashrc
pliku tutaj:-t
Ja wierzę sprawdza, czy stdout jest otwarta. Nie jestem pewien, dlaczego to ważne, skopiowałem to z tego artykułu .źródło