You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下如何禁用VPN连接时的严格密码提示焦点锁定

Ubuntu 22.04下如何禁用VPN连接时的严格密码提示焦点锁定

这个问题我之前帮不少朋友解决过,确实是NetworkManager默认的安全机制在搞事情——它依赖polkit做权限验证,默认会强制把焦点锁定在密码提示窗口上,防止后台进程窃取你的输入内容,但这也导致你没法切换到Bitwarden或Authy这类工具复制TOTP,确实挺闹心的。下面给你两种实用的解决办法:

方法一:修改polkit规则解除焦点锁定

这是最直接的方式,通过自定义polkit规则来放宽NetworkManager的权限验证要求,从而取消提示框的焦点锁定:

  • 首先创建一个自定义规则文件,打开终端输入:
    sudo nano /etc/polkit-1/rules.d/50-nm-vpn-no-focus.rules
    
  • 在编辑器里粘贴以下内容:
    polkit.addRule(function(action, subject) {
        if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" ||
            action.id == "org.freedesktop.NetworkManager.vpn.connection-start") {
            return polkit.Result.YES;
        }
    });
    
  • 保存并退出编辑器(按Ctrl+O确认保存,Ctrl+X退出),然后重启polkit服务让规则生效:
    sudo systemctl restart polkit
    
  • 注意:这个操作会略微降低权限验证的安全性,但对于个人桌面用户来说,风险几乎可以忽略不计。如果之后发现规则没生效,你可以试试更宽泛的规则写法:
    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 &&
            subject.isInGroup("sudo")) {
            return polkit.Result.YES;
        }
    });
    

方法二:用命令行连接VPN绕开GUI焦点问题

如果不想修改系统配置,你可以完全绕开GUI的提示框,用终端命令来连接VPN:

  • 先查看你已配置的VPN连接名称:
    nmcli connection show
    
  • 找到你的OpenVPN连接名称(比如叫Work-VPN),然后用命令启动连接:
    nmcli connection up "Work-VPN"
    
  • 这时候密码和TOTP的输入提示会出现在终端里,你的GUI桌面不会被锁定,完全可以正常切换到密码管理器复制内容,再切回终端粘贴输入。
  • 要是觉得每次输命令麻烦,你可以把这个命令做成桌面快捷方式,或者添加到自定义快捷键里,用起来就和点击GUI按钮一样方便了。

备注:内容来源于stack exchange,提问作者Muzgar15

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:53:04