1.在用户文件夹 %USERPROFILE% 新建一个 .wslconfig 文件,写入一下内容:- [experimental]
- autoMemoryReclaim=gradual # gradual | dropcache | disabled
- networkingMode=mirrored
- dnsTunneling=true
- firewall=true
- autoProxy=true
复制代码 设置完执行 wsl --shutdown 重启一下wsl就可以了
2.如果wsl安装xfce之类的桌面,桌面打开的Terminal等也想要使用代理,则可以修改 ~/.bashrc 文件,在末尾加入如下内容:- # WSL 代理自动继承(如果 autoProxy=true + mirrored 有效,但图形 session 可能不继承,这里手动补)
- if [ -z "$http_proxy" ] && [ -z "$WSL_DISTRO_NAME" ]; then
- # 尝试从 Windows 拉取(mirrored 模式下 wsl.exe env 可见)
- export PATH="$PATH:/mnt/c/Windows/System32"
- # proxy_lines=$(wsl.exe -- env | grep -i proxy | tr -d '\r')
- proxy_lines=$(wsl.exe -- env | grep -i proxy 2>/dev/null)
- echo "$proxy_lines"
- if [ -n "$proxy_lines" ]; then
- echo "找到代理设置,正在加载..."
- eval "$(printf '%s\n' "$proxy_lines" | sed 's/^/export /' | sed 's/=\(.*\)$/="\1"/' | sed 's/\r$//')"
- echo "代理加载完成:http_proxy = ${http_proxy:-未设置}"
- else
- echo "Windows 环境变量中未找到任何 proxy 设置"
- fi
- fi
复制代码 设置成功后效果如下:
真希望国内开发不需要代理的那天能早日到来
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |