🧩 一、确认环境类型
Omarchy 通常基于:
- Openbox / XFCE / i3 / bspwm 等轻量桌面
- 没有「系统设置 → 网络 → 代理」这种统一入口
👉 所以需要:
- 通过环境变量全局设置
- 或者针对 GUI 程序单独设置(Firefox、Chromium、Electron、VSCode 等)
🧱 二、方法 1:全局 GUI 环境变量方式(推荐)
在轻量桌面下,我们通过 环境变量 告诉桌面应用所有 HTTP/SOCKS 请求都走 127.0.0.1:1080。
1️⃣ 编辑全局 profile
sudo nano /etc/profile.d/proxy.sh
写入:
# Shadowsocks 全局代理(适用于所有 GUI 应用)
export http_proxy="socks5h://127.0.0.1:1080"
export https_proxy="socks5h://127.0.0.1:1080"
export all_proxy="socks5h://127.0.0.1:1080"
保存后:
sudo chmod +x /etc/profile.d/proxy.sh
然后注销或重启桌面环境生效。
2️⃣ 若你用 lightdm 登录(常见于 XFCE/Openbox)
它默认不会加载 /etc/profile.d,可以改写 ~/.xprofile:
nano ~/.xprofile
添加:
export http_proxy="socks5h://127.0.0.1:1080"
export https_proxy="socks5h://127.0.0.1:1080"
export all_proxy="socks5h://127.0.0.1:1080"
保存后重启 X 会话。
⚙️ 三、方法 2:针对浏览器配置(更精准)
🌐 Firefox:
-
打开
about:preferences -
搜索「网络设置」(Network Settings)
-
点击「设置…」
-
选择「手动代理配置 (Manual proxy configuration)」
- SOCKS 主机:
127.0.0.1 - 端口:
1080 - 勾选「SOCKS v5」
- 取消勾选「为所有协议使用相同代理」
- 勾选「远程 DNS」(否则 DNS 可能泄露)
- SOCKS 主机:
测试访问:
https://ipinfo.io 看 IP 是否变为代理服务器。
🌐 Chromium / Google Chrome:
启动时带上参数:
chromium --proxy-server="socks5://127.0.0.1:1080"
若要永久生效,可编辑其 desktop 文件:
sudo nano /usr/share/applications/chromium.desktop
找到行:
Exec=/usr/bin/chromium %U
改为:
Exec=/usr/bin/chromium --proxy-server="socks5://127.0.0.1:1080" %U
保存即可。
🧠 四、方法 3:用 Proxychains4(适合全局 + GUI 混合)
有时 GUI 程序不读环境变量,这时可以用 proxychains。
安装:
sudo pacman -S proxychains-ng
配置:
sudo nano /etc/proxychains.conf
最后一行改成:
socks5 127.0.0.1 1080
运行应用时:
proxychains4 firefox
proxychains4 curl ipinfo.io
这样即使程序不支持代理,也会被强制通过 Socks5。
🧩 五、快速切换方案(建议)
创建两个脚本方便切换:
~/.local/bin/gui_proxy_on.sh
#!/bin/bash
echo "启用全局 GUI 代理..."
export http_proxy="socks5h://127.0.0.1:1080"
export https_proxy="socks5h://127.0.0.1:1080"
export all_proxy="socks5h://127.0.0.1:1080"
~/.local/bin/gui_proxy_off.sh
#!/bin/bash
echo "关闭全局 GUI 代理..."
unset http_proxy
unset https_proxy
unset all_proxy
记得赋权:
chmod +x ~/.local/bin/gui_proxy_*.sh
✅ 验证
在终端执行:
curl ipinfo.io
或打开浏览器访问 https://ipinfo.io,若 IP 与服务器一致则代理生效。