银河麒麟v10 sp1中实现全局socks5代理有四种方法:一、通过export设置all_proxy等环境变量;二、使用proxychains强制所有命令走代理;三、用gsettings配置gnome系统代理;四、结合networkmanager与http-to-socks5转发服务。

如果您在银河麒麟操作系统(V10 SP1)中需要让所有命令行工具及系统级网络请求统一经由Socks5代理转发,则需配置全局代理环境变量或使用代理链工具。以下是多种可行的设置方法:
一、通过export环境变量配置全局SOCKS5代理
该方法适用于当前终端会话及后续启动的命令行程序(如curl、wget、git、maven等),依赖程序对ALL_PROXY/http_proxy/https_proxy环境变量的支持。
1、打开终端,执行以下命令(请将10.0.0.1和1080替换为您的实际SOCKS5代理IP与端口):
export ALL_PROXY=socks5://10.0.0.1:1080
export http_proxy=socks5://10.0.0.1:1080
export https_proxy=socks5://10.0.0.1:1080
2、验证变量是否生效:
echo $ALL_PROXY
3、测试代理连通性:
curl -I https://httpbin.org/ip
4、若需永久生效,将上述export语句追加至用户Shell配置文件:
echo 'export ALL_PROXY=socks5://10.0.0.1:1080' >> ~/.bashrc
echo 'export http_proxy=socks5://10.0.0.1:1080' >> ~/.bashrc
echo 'export https_proxy=socks5://10.0.0.1:1080' >> ~/.bashrc
source ~/.bashrc
二、使用proxychains强制所有命令走SOCKS5代理
该方法不依赖程序自身代理支持,可强制任意命令(包括不读取环境变量的二进制程序)经由SOCKS5代理转发,适合开发环境中的全流量代理需求。
1、安装proxychains(银河麒麟V10源已内置):
sudo apt-get install proxychains -y
2、编辑系统级配置文件:
sudo vim /etc/proxychains.conf
3、定位到[ProxyList]区域下方,注释掉原有默认代理行,添加您的SOCKS5服务器信息:
socks5 10.0.0.1 1080
4、保存退出后,即可在任意命令前加proxychains前缀运行:
proxychains curl https://httpbin.org/ip
5、如需进入代理shell环境,执行:
proxychains bash
此后所有在该bash中执行的网络命令均自动走代理。
三、配置GNOME桌面环境系统级SOCKS代理(影响部分图形应用)
该方式通过DConf设置GNOME系统代理参数,对部分原生GTK应用(如Evolution、某些更新检查器)生效,但不覆盖终端或独立Qt程序;需配合dbus接口调用。
1、在终端中执行(替换为实际代理地址):
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.socks host '10.0.0.1'
gsettings set org.gnome.system.proxy.socks port 1080
2、如代理需认证,启用认证并设置凭据:
gsettings set org.gnome.system.proxy.socks use-authentication true
gsettings set org.gnome.system.proxy.socks authentication-user 'your_username'
gsettings set org.gnome.system.proxy.socks authentication-password 'your_password'
3、重启GNOME Shell(按Alt+F2,输入r,回车)使设置生效。
四、修改NetworkManager配置实现底层网络层SOCKS5代理(仅限特定连接)
该方法通过nmcli直接修改活动连接的proxy设置,影响该Wi-Fi或有线连接下所有未显式绕过的TCP流量,但需注意:NetworkManager原生仅支持HTTP/HTTPS代理,不直接支持SOCKS5;因此此方案需配合systemd-resolved或iptables重定向,实际部署复杂度高,仅建议高级用户在明确需求时采用。
1、查看当前活动连接名称:
nmcli connection show --active
2、获取连接UUID(示例名:Wired connection 1):
nmcli connection show "Wired connection 1" | grep uuid
3、设置HTTP代理占位(作为触发点):
nmcli connection modify "Wired connection 1" proxy.http 127.0.0.1 proxy.http-port 8118
4、随后需在本地启动一个HTTP-to-SOCKS5转发服务(如polipo或privoxy),并将SOCKS5上游指向10.0.0.1:1080。











