如何在Linux Compton中配置网络代理
小樊
42
2025-11-22 11:04:25
Compton 与网络代理的关系
- Compton 是 X11 的窗口合成器,负责窗口阴影、透明度、模糊等合成效果,属于本地图形渲染进程,不会发起外网 HTTP/HTTPS 请求,因此不存在“在 Compton 里配置网络代理”的选项。若你看到网络不通或下载慢,通常是其他需要联网的组件(如包管理器、浏览器、终端工具)导致,而非 Compton 本身。
正确的配置思路
- 为需要联网的程序设置 HTTP/HTTPS/SOCKS 代理,常用方式是设置环境变量;必要时为个别程序单独配置。
- 常见变量:http_proxy / https_proxy / ftp_proxy / all_proxy / no_proxy(同时设置大小写如 HTTP_PROXY 以提升兼容性)。
- 典型代理地址示例:http://123.1.2.3:6789、socks5://456.4.5.6:6789;如用 SOCKS5 并希望由代理解析域名,可用 socks5h://。
快速设置与验证
- 临时在当前终端生效(将地址替换为你的代理):
- export http_proxy=http://123.1.2.3:6789
- export https_proxy=http://123.1.2.3:6789
- export all_proxy=socks5://456.4.5.6:6789
- export no_proxy=“localhost,127.0.0.1,::1,192.168.0.0/16”
- 同时设置大写变量:HTTP_PROXY、HTTPS_PROXY、ALL_PROXY、NO_PROXY
- 永久生效(系统级,所有用户):
- 编辑 /etc/environment(或 /etc/profile),写入同样内容;执行 source /etc/environment 使其立即生效。
- 验证:
- env | grep -i proxy(查看变量是否设置)
- curl -I https://www.example.com(测试 HTTP/HTTPS 连通性)
- 如需命令行直连测试:curl -x http://123.1.2.3:6789 https://www.example.com
- 取消代理:
- unset http_proxy https_proxy all_proxy no_proxy
- 以及 unset HTTP_PROXY HTTPS_PROXY ALL_PROXY NO_PROXY。
常见例外与单独配置
- 包管理器示例(APT):创建 /etc/apt/apt.conf.d/80proxy
- Acquire::http::Proxy “http://123.123.123.123:6789”;
- Acquire::https::Proxy “http://123.123.123.123:6789”;
- 工具单独配置:
- curl:在 ~/.curlrc 写入 proxy = http://123.1.2.3:6789
- wget:在 ~/.wgetrc 写入 http_proxy/https_proxy
- 使用 systemd 管理的服务:在 /etc/systemd/system/服务名.service.d/proxy.conf 中添加
- [Service]
- Environment=“http_proxy=http://…” “https_proxy=http://…” “no_proxy=…”
- 注意:ping 走 ICMP,不走 HTTP 代理,测试连通性请用 curl/wget。
与 Compton 相关的实用建议
- 若你通过终端启动 Compton,可在启动前先导出代理变量,确保后续在该终端中启动的程序(如浏览器、下载器)能继承代理;Compton 自身不需要代理。
- 配置文件位置通常为 ~/.config/compton.conf 或 /etc/xdg/compton.conf;修改后按你的会话管理方式重启 Compton(如退出并重新登录,或按桌面/会话脚本重启)。