别着急,坐和放宽
使用社交账号登录
众所周知,除了 KDE/GNOME/XFCE 三大件以外,其它的桌面环境例如niri、hyperland都不提供系统代理功能,网上也找不到相关内容 (难道大家真的全都只用tun模式?) 。 总之,为了解决系统代理用不了导致的不方便抓包、只能用tun导致的性能问题和疑难杂症,便有了此文。
各大软件实际上对于系统代理的支持有两套:
http_proxy https_proxy 环境变量
然而,对于方案2,如果代理后端关闭,就又会导致直接无法访问网络。因此,我们这里选择使用方案1,而你应当选择三大件之一的基本组件完成安装。 由于我是GNOME切换到niri+dms的,所以这里我的电脑上同时拥有完整的GNOME环境。 因此,下面的内容以GNOME为示例;如果你想要用KDE或其它的请自行修改参考。
执行:
systemctl --user add-wants niri.service dms
打开 ~/.config/niri/config.kdl ,找到类似以下内容处
environment {
XDG_CURRENT_DESKTOP "niri"
}
接着将 niri 修改为 niri:GNOME (大部分软件通过检测桌面环境是否包含GNOME字样来判断环境是否为GNOME,这里保留niri字样方便其它软件也能同时便于识别出niri的存在)
environment {
// XDG_CURRENT_DESKTOP "niri"
XDG_CURRENT_DESKTOP "niri:GNOME"
}
这一步修改之后,通过niri启动(快捷键启动、开机自启)的软件就能够正常识别了。
执行:
systemctl --user edit dms.service
加入以下内容:
[Service]
Environment=XDG_CURRENT_DESKTOP=niri:GNOME
接着执行:
systemctl --user daemon-reload
systemctl --user restart dms.service
执行完重启,你会发现软件能够正确识别到系统代理,也能够读到gnome-keyring。
同时,GNOME相关的设置可以直接启动GNOME的设置来完成(仅用于管理GNOME相关的配置,比如系统代理;但是例如键盘快捷键之类的设置不会生效,这里更改的话只会影响到GNOME启动下的桌面环境)。