一开始用 wsl 的时候,直接参考网上教程,宿主机 clash 使用 TUN 模式,这样 wsl 不用配置代理,直接可以访问 google
但此种模式下,wsl 的 vscode 插件 picGo 在上传剪切板图片的时候,wsl 机器无法和宿主机通信,报错:
PicGo: Error: Failed to establish a socket connection to proxies: ["PROXY 127.0.0.1:7890"].
即使关闭防火墙也无济于事
说明 wsl 的 vscode 扩展必须指定代理,不能使用 TUN 模式
~/.bashrc 追加:
# proxy
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export http_proxy="http://${hostip}:7890"
export httpd_proxy="http://${hostip}:7890"
开启以后,关闭 vscode 的 wsl 窗口、关闭终端。仍然无法 google。
考虑到防火墙问题,我这边关闭公共防火墙就 ok 了,客户机可以正常访问 google,并且客户机的 vscode 插件的网络问题也解决了。
因为没有防火墙日志权限,暂时没有找到被 block 的应用。
~/.bashrc 追加:
# cd
alias cdf='cd ~/a/b/c/work-notes && code . '
使用命令 cdf
即可
允许Clash for windows
以及clash-win64
的防火墙入站权限
路径:/Clash for Windows/Clash for Windows.exe
and /Clash for Windows/resources/static/files/win/x64/clash-win64.exe
大功告成
PicGo: read file /mnt/d/Program Files/Microsoft VS Code/ error.
解决:
相关 code:
sh ~/.vscode-server/extensions/spades.vs-picgo-2.1.6/dist/clipboard/wsl.sh ~/.picgo/20221029092938.png
powershell.exe -noprofile -noninteractive -nologo -sta -executionpolicy unrestricted -file //wsl.localhost/Ubuntu-20.04/home/clk/.vscode-server/extensions/spades.vs-picgo-2.1.6/dist/clipboard/windows10.ps1 //wsl.localhost/Ubuntu-20.04/home/clk/.picgo//20221029092938.png
{
"markdownlint.config": {
"default": true,
"MD010": {
"code_blocks": false
},
"MD004": {
"style": "dash"
},
"MD046": false,
"MD041": false,
"MD033": false
},
"editor.codeActionsOnSave": {
"source.fixAll.markdownlint": true
},
"emeraldwalk.runonsave": {
"commands": [
{
"match": "\\.md$",
"cmd": "lint-md --fix ${file} && echo 'zh-en fixed ${file}' "
}
]
},
"workbench.colorTheme": "Quiet Light",
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
},
"picgo.picBed.smms.token": "vJjxytZnwgSo2ZRetYwDDbJYWhyDIno5",
"picgo.customUploadName": "${mdFileName}-${date}${extName}"
}