我连接到一个特定的无线网络,需要我使用 vpnc 访问互联网。如果我制作了一个脚本来执行此操作,有没有办法设置它以便每次连接到该网络时,都会运行该脚本?需要明确的是,我不希望此脚本在大多数无线连接下运行,而只在一个特定的连接下运行。
网络管理器运行 /etc/NetworkManager/dispatcher.d/ 目录中的所有脚本(那些由 root 拥有的、可执行的、其他用户无法读取的,而不是 setuid)。
环境变量由网络管理器设置并传递给此脚本。您会对 CONNECTION_UUID 环境变量(包含唯一字符串)感兴趣。
因此,要解决您的问题(在连接到特定无线网络时执行脚本):
1) 找出您感兴趣的无线连接的 uuid(通过查看 /etc/NetworkManager/system-connections/ 目录中的相应连接文件)。
2) 如果环境变量 CONNECTION_UUID 与上述 (1) 中的无线网络的 uuid 匹配,则编写一个 bash(或 perl、或 python 或其他)脚本,该脚本可以执行您想要的操作。
3) 将此脚本放入 /etc/NetworkManager/dispatcher.d/ 并适当设置所有者和权限。
进一步阅读: man networkmanager (以及对上述目录中的脚本进行一些探索)。
| 归档时间: |
|
| 查看次数: |
2478 次 |
| 最近记录: |