WSL相关的问题
2021 windows记录在执行 WSL 遇到的一些相关的问题。
vim 字体变化
在注册表中:HKEY_CURRENT_USER\Console\{YOUR_WSL}
添加:CodePage
(DWORD 类型,值 0x01b5)
内存占用过高
该问题只针对 WSL2 版本,在 WSL2 里面会遇到 Vmmem 进程占用内存过高,实质上是 linux kernel 把内存当 cache 了,用完未释放。
限制内存的使用,进入 C:\Users\{Your_Name}
或者在地址栏输入 %UserProfile%
,创建 .wslconfig
[wsl2]
memory=3GB
命令相关
以下命令均在 PowerShell 运行
PS > wsl --shutdown
终止 wsl 命令PS > wsl -l -v
查看 wsl 版本
主题
Windows 默认终端的 Color Theme 不方便修改,可以使用微软官方的 ColorTool 修改终端配色工具。
最新下载版本是 19 年 4 月份版本:Color Tool April 2019
ColorTool 文档说明:ColorTool
执行命令 ColorTool.exe -d *.itermcolors
主题下载可以使用 iTerm2-Color-Schemes
Konsole 切换方式请参考 iTerm2-Color-Schemes: Konsole color schemes
Windows Terminal 切换方式请参考 iTerm2-Color-Schemes: Windows Terminal color schemes
git 中文乱码
由于 Windows 默认编码不是 utf-8,所以 git 在 Windows 下经常会乱码,需要设置 git 的编码。
git config --global core.quotepath false # 显示 status 编码
git config --global gui.encoding utf-8 # 图形界面编码
git config --global i18n.commitencoding utf-8 # commit 编码
git config --global i18n.logoutputencoding utf-8 # 输出 log 编码
export LESSCHARSET=utf-8 # log 默认采用 less 命令,设置 less 命令的编码
以上命令等同于在 .gitconfig 中设置:
[core]
quotepath = false
[gui]
encoding = utf-8
[i18n]
commitencoding = utf-8
logoutputencoding = utf-8
在 wsl 下设置了 core 和 LESSCHARSET 的值解决了大部分 git 场景乱码的问题
无法解析 github 域名
WSL 无法解析域名:Could not resolve hostname github.com: Temporary failure in name resolution
-
编辑
/etc/wsl.conf
[network] generateResolvConf = false
-
重启
wsl --shutdown
-
编辑
/etc/resolv.conf
nameserver 8.8.8.8