温馨提示×

如何在Linux Compton中配置网络代理

小樊
41
2025-11-22 11:04:25
栏目: 智能运维

Compton 与网络代理的关系

  • ComptonX11 的窗口合成器,负责窗口阴影、透明度、模糊等合成效果,属于本地图形渲染进程,不会发起外网 HTTP/HTTPS 请求,因此不存在“在 Compton 里配置网络代理”的选项。若你看到网络不通或下载慢,通常是其他需要联网的组件(如包管理器、浏览器、终端工具)导致,而非 Compton 本身。

正确的配置思路

  • 为需要联网的程序设置 HTTP/HTTPS/SOCKS 代理,常用方式是设置环境变量;必要时为个别程序单独配置。
  • 常见变量:http_proxy / https_proxy / ftp_proxy / all_proxy / no_proxy(同时设置大小写如 HTTP_PROXY 以提升兼容性)。
  • 典型代理地址示例:http://123.1.2.3:6789socks5://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=…”
  • 注意:pingICMP,不走 HTTP 代理,测试连通性请用 curl/wget。

与 Compton 相关的实用建议

  • 若你通过终端启动 Compton,可在启动前先导出代理变量,确保后续在该终端中启动的程序(如浏览器、下载器)能继承代理;Compton 自身不需要代理。
  • 配置文件位置通常为 ~/.config/compton.conf/etc/xdg/compton.conf;修改后按你的会话管理方式重启 Compton(如退出并重新登录,或按桌面/会话脚本重启)。

0