恶凝毛 发表于 2026-2-15 05:10:00

wsl中遵循win的代理设置

1.在用户文件夹 %USERPROFILE% 新建一个 .wslconfig 文件,写入一下内容:

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设置成功后效果如下:

真希望国内开发不需要代理的那天能早日到来

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

尚腱埂 发表于 2026-2-25 05:36:19

感谢发布原创作品,程序园因你更精彩

皮仪芳 发表于 2026-3-3 04:07:13

感谢发布原创作品,程序园因你更精彩

唐茗 发表于 2026-3-8 11:33:39

前排留名,哈哈哈

猷咎 发表于 2026-3-11 09:13:33

前排留名,哈哈哈
页: [1]
查看完整版本: wsl中遵循win的代理设置