查看源代码
出自Linux Wiki
对
连网后自动运行程序
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
网络连接建立后运行的脚本可以实现诸多实用功能,如[[使用希网动态域名|动态域名绑定]]、连接VPN、上网认证等。 实现这一目标的大体思路有两种:在基于[[wpen:NetworkManager|NetworkManager]]的系统中,可配置其dispatcher脚本;而一般地,也可依赖不同[[Linux发行版]]提供的工具实现。 ==Network-Manager== 目前在桌面环境中Network-Manager的使用很普遍。Network-Manager在网络连接建立或断开时会自动运行''/etc/NetworkManager/dispatcher.d/''中的文件。只要写一个脚本放在该文件夹下,即可实现连接建立时自动运行程序。下面是OpenNtpd的例子<ref>[https://wiki.archlinux.org/index.php/NetworkManager#Network_Services_with_NetworkManager_Dispatcher ArchWiki: NetworkManager]</ref> <source lang="bash"> #!/bin/sh INTERFACE=$1 # 状态发生变化的网络接口 STATUS=$2 # 网络接口的新状态:up, down, vpn-up, vpn-down case "$STATUS" in 'up') # $INTERFACE is up exec /etc/rc.d/openntpd start ;; 'down') # $INTERFACE is down # Check for active interface and down if no one active if [ ! `nm-tool|grep State|cut -f2 -d' '` = "connected" ]; then exec /etc/rc.d/openntpd stop fi ;; esac </source> ==发行版相关的解决方案== ===Debian/Ubuntu=== 对[[Debian]]系列发行版的配置较为简便。所有的if-up脚本放在''/etc/network/if-up.d'',只需要将写好的脚本放在''/etc/network/if-up.d/'',并添加可执行权限即可: <source lang="bash"> chmod 755 /etc/network/if-up.d/YOUR_SCRIPT </source> {{TODO|''/etc/network/if-down.d/''中的脚本并不能在系统断开网络前执行,如何添加系统关闭网络接口前的脚本呢?}} ===openSUSE=== [[openSUSE]]中与网络有关的脚本应被存放在''/etc/sysconfig/network/scripts/''。而连网后执行的脚本则放在''/etc/sysconfig/network/if-up.d/'',它们是到''/etc/sysconfig/network/scripts/''的[[符号链接]]。举个例子,如果你已经有一个脚本文件YOUR_SCRIPT,需要做如下操作: <source lang="bash"> cp YOUR_SCRIPT /etc/sysconfig/network/scripts/ chmod 755 /etc/sysconfig/network/scripts/YOUR_SCRIPT ln -s /etc/sysconfig/network/scripts/YOUR_SCRIPT /etc/sysconfig/network/if-up.d/ </source> ===Fedora=== Fedora对这一功能支持的不是很好,只能在网络连接建立后运行一个脚本,即''/sbin/ifup-local''。这个文件默认不存在,需要手动创建。下面的例子用[[vi]]编辑/创建这个文件,并添加执行权限。 # vi /sbin/ifup-local # chmod 755 /sbin/ifup-local ==参考资料== <references /> [[Category: 网络应用]]
在这个页面上使用的模板有:
Template:TODO
(
查看源码
)
返回到
连网后自动运行程序
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面