WSL设置代理

由于许多数据集下载命令需要Linux环境,而平时工作使用Windows设备,服务器设置代理又不方便,因此在Windows上通过WSL安装Linux子系统,并利用宿主机的系统代理使子系统能够访问公网。

安装WSL

Windows Subsystem for Linux(WSL)允许直接在Windows上运行GNU/Linux环境。
通过Microsoft Store下载,例如搜索Ubuntu,安装即可。
安装后,子系统的文件系统可直接访问:

WSL文件系统在宿主机访问

设置WSL代理

初次运行时,需要设置账号密码,然后保存文件.proxyrc

#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:10809"
export https_proxy="http://$host_ip:10809"
export http_proxy="http://$host_ip:10809"

其中端口10809仅为示意,需与宿主机的HTTP代理端口一致。

然后运行source .proxyrc

设置sudo环境

sudo命令默认不会继承环境变量。运行vim /etc/sudoers,在Defaults env_reset下方加入一行:

Defaults env_keep += "http_proxy https_proxy ftp_proxy all_proxy no_proxy"

将Windows脚本转化为Unix脚本

出现类似scripts/download_dtu_ground_truth.sh: line 2: $'\r': command not found的问题,因为Windows的换行为\r\n,而Unix为\n

sudo apt update
sudo apt install dos2unix
sudo dos2unix [filepath]

至此设置完成。

发表回复

您的电子邮箱地址不会被公开。