我在使用 WSL 时遇到了一些问题。
如果我以普通用户身份运行 WSL,终端偶尔会自行开始输入。因此,在需要任何输入的地方(例如 vi/vim、nano 等)使用 WSL 是不可能的。
举几个例子:
我正在尝试更改密码,然后
^@^@^@^@
会自动输入一些内容:gabriel@PC:~$ passwd Changing password for gabriel. Current password: ^@^@^@^@passwd: Authentication token manipulation error passwd: password unchanged gabriel@PC:~$
当使用 vi/vim 时,它会退出插入模式或在屏幕上输入。
当使用 nano 时,它只会输入一些换行符(即
\n
)。
如果我以管理员身份启动 WSL,则不会出现这些问题。
有人知道为什么会发生这种情况吗?
答案1
在阅读了@Cpt.Whale 评论的问题和微软的这份文档后(关于字符编码)
我解决这个问题的方法是:
更改默认编码值(参见上面的链接)
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'