Answers:
如果要从命令行与NetworkManager进行交互,则可以使用“ nmcli”命令。
列出所有NM连接: nmcli con
开始连接(WiFi,VPN等): nmcli con up id ConnectionName
断开连接: nmcli con down id ConnectionName
(更多的nmcli命令在nmcli联机帮助页中)。
还要注意,普通用户通常没有控制网络的权限。sudo
对大多数连接使用上面的命令应该可以使用,但是VPN可能会因“错误:连接激活失败:没有有效的VPN机密”而失败。
如果您遇到这种情况,则VPN密码很可能存储在用户的gnome-keyring中,从而使root用户无法访问。此评论解释了原因。
要解决此问题,请编辑/ etc / NetworkManager / system-connections / ConnectionName,然后在下[vpn]
将密码标志行更改为:
password-flags=0
如果有以开头的行Xauth password-flags
,请更改它。
然后在[vpn]
块下面添加以下内容:
[vpn-secrets]
password=YourPassword
(如果在上一步中更改了该行Xauth password-flags
,请改为添加Xauth password=...
。)
现在通过以下方式重新启动网络管理器:
sudo service network-manager restart
然后启动VPN连接sudo nmcli con up id ConnectionName
应该可以正常工作。
ihashacks对Matt的评论的回答对我有用...几乎。不得不调整一行。
我的密码标志行实际显示为:“ Xauth密码标志”。除非我更改为以下内容,否则可接受的答案对我不起作用
[vpn]
...
Xauth password-flag=0
IPSec secret-flags=0
[vpn-secrets]
Xauth password=<my pw> ## This is the one I changed.
IPSec secret=<group pw>
在每次提及密码之前,不确定为什么我的vpn连接具有“ Xauth”。
(抱歉,这是一个新答案,尚无法发表评论。)
IPSec secret
-否则,NM无法识别。