chsh는 win10 하위 Linux에서 작동하지 않습니다.

chsh는 win10 하위 Linux에서 작동하지 않습니다.

Windows 10의 하위 Linux에서 쉘을 zsh로 변경하고 싶습니다. Google에서 내가 말하는 모든 곳에서 사용해야 합니다.

chsh /bin/zsh

그러나 로그아웃하고 로그인한 후에도 쉘은 여전히 ​​bash입니다.

그러나 vi /etc/passwd그것은 보여줍니다

root:x:0:0:root:/root:/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
libuuid:x:100:101::/var/lib/libuuid:
syslog:x:101:104::/home/syslog:/bin/false
messagebus:x:102:106::/var/run/dbus:/bin/false
landscape:x:103:109::/var/lib/landscape:/bin/false
sshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin
pollinate:x:105:1::/var/cache/pollinate:/bin/false
qq:x:1000:1000:"",,,:/home/qq:/bin/zsh
colord:x:106:112:colord colour management daemon,,,:/var/lib/colord:/bin/false

chsh가 win10의 bash에서 작동하지 않는 이유는 무엇입니까?

답변1

"Windows의 Ubuntu에서 Bash"라고 부르는 것은 바로 가기가 Bash 실행 파일을 직접 실행한다는 의미입니다.

login다른 방법(SSH, 실행 또는 디스플레이 관리자를 통해)으로 시스템에 액세스하면 /etc/passwd평소대로 읽혀집니다.

더 간단하게는 콘텐츠를 편집하여 .bashrc가짜로 만들 수 있습니다. 다음에 추가:

if [ -t 1 ]
then
   exec zsh
fi

끝까지.

또한 새로운 Windows 바로가기를 만들거나 기존 바로가기를 수정하여 다른 콘텐츠를 생성할 수도 있습니다. bash.exe -c /usr/bin/zsh이 역시 잘 작동합니다.

가지다이에 대한 버그가 보고되었습니다.. 나는 그것이 높은 우선순위라고 생각하지 않는다.진짜버그) 그러나 이러한 해결 방법 중 하나를 사용하면 매우 가까워질 수 있습니다.

관련 정보