work-notes

wsl 使用 picGo

前言

一开始用 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 模式

wsl 客户机开启代理

~/.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 的应用。

终端快速启动 wsl 项目,打开 vscode-remote-wsl

~/.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

remote setting

{
    "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}"
}