我有两台 Ubuntu 笔记本电脑(均为 10.10)。
一台是新安装的 Maverick,另一台自 9.04 以来已升级多次。
对于后者,设置自定义脚本挂钩/etc/NetworkManager/dispatcher.d/
可立即生效。
然而,在较旧的笔记本电脑上,我无法调用 nm-dispatcher,或者至少无法执行它的挂钩。
我试过跑
NetworkManager --no-daemon -log-level=DEBUG
但没有提到 nm-dispatcher。
我怎么能够
看看源代码(我查看了git 仓库但什么也没找到。
查找为什么 nm-dispatcher 从未被调用。
答案1
您实际上不需要查看源代码来修复此问题;调度程序会运行脚本,/etc/NetworkManager/dispatcher.d
直到它完成或其中一个脚本返回错误。这在几个版本中都是这种情况,因为初始调度程序 ( 01ifupdown
) 不理解vpn-up
and vpn-down
(或hostname
, even )状态。
您将能够从日志中看到正在发生的事情/var/log/syslog
;它们将包含如下一行:
Nov 5 21:38:57 chris-laptop nm-dispatcher.action: Script '/etc/NetworkManager/dispatcher.d/01ifupdown' exited with error status 1.
这个特定的问题现在已经修复;但是如果您仍然遇到问题,您应该考虑提交错误,或者进行一些显而易见的操作,例如验证权限(例如,脚本是否可执行)。