我想在windows 10's子linux下将我的shell更改为zsh。无论我在谷歌上说什么,我都应该用
chsh /bin/zsh但是在注销和登录之后,shell仍然是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 10‘S的狂欢中工作?
发布于 2017-03-19 03:12:41
当他们称它为“Windows上的Ubuntu上的Bash”时,他们是认真的--快捷方式只是直接运行Bash可执行文件。
如果您以其他方式访问系统(通过SSH,或者通过运行login或显示管理器),那么它将像往常一样读取/etc/passwd。
更简单地说,你可以编辑你的.bashrc来伪装它。添加:
if [ -t 1 ]
then
exec zsh
fi直到最后。
您还可以创建新的Windows快捷方式(或修改现有的快捷方式),从而产生其他的东西-- bash.exe -c /usr/bin/zsh也应该工作得足够好。
有一只虫子报告了这件事。我不认为这是一个高优先级(也不是一个真正的bug),但任何这些解决办法都会使您非常接近。
https://unix.stackexchange.com/questions/352390
复制相似问题