当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 令 ifplugd 支持网桥和弹出消息(2012-03-04 更新)
帖子发表于 : 2012-03-04 8:57 
头像

注册: 2008-07-30 23:21
帖子: 13427
地址: [email protected]
系统: Debian stable AMD64
送出感谢: 38
接收感谢: 127
令 ifplugd 支持网桥和弹出消息

[text]
# 更新日志:
2012-03-04
无实质性变更。仅修改对于网桥的弹出消息提示方式。比如原本只提示“eth0”并不能说明 eth0 已加入网桥,现改为提示“br0:eth0”以求清晰。
2012-03-03 首发
实现支持网桥和在活动桌面弹出消息功能。
[/text]

ifplugd 对于喜欢用 /etc/network/interfaces 配置网络的朋友来说确实是个好东西。但它并不支持网桥,也不能在通断之时如同 network-manager 一般弹出消息。

不支持网桥原因在于,它只能检测并直接操作(ifup / ifdown)eth0 等物理接口的通断,而网桥的起停偏偏并不能直接操作物理接口。本脚本便是对原有的 /etc/ifplugd/action.d/ifupdown 略加修改了一下,加了一种映射机制,令其操作物理接口所属的网桥。有兴趣的朋友可对照原先的 ifplugd 脚本。映射关系记录在 /var/run/ifplugd.map 之中,一行一射,左为物理接口,右为所属网桥,中间等号相连不含空白符,比如 eth0=br0。

使用时,只要在 /etc/network/interfaces 中加入操作映射表之行即可,请看以下示例。若使用网桥 br0,则将 eth0 的映射目标修该为 br0。若不用网桥而直接使用 eth0,则删除其映射项,改成 eth0=eth0 当然也可以,但显然有些多此一举。
[text]
# interfaces 示例
iface eth0 inet dhcp
pre-up ifdown br0
post-up sed -i '/^eth0=/d' /var/run/ifplugd.map || true

iface br0 inet dhcp
pre-up ifdown eth0
pre-up ifup tap1
pre-up ifconfig tap1 0.0.0.0
bridge_ports eth0 tap1
post-up sed -i '/^eth0=/d' /var/run/ifplugd.map || true
post-up echo 'eth0=br0' >>/var/run/ifplugd.map
[/text]

不支持弹出消息原因在于, ifplugd 并不像 network-manager 一样有桌面端(托盘图标那个),而是只有守护进程。守护进程素来不知该如何发送消息到当前活动桌面,所以一直以来它只能在后台默默工作,直到我写了个 notify-send2(我不知道别人是否也写了个类似的,我并未在网上撞见)。关于 notify-send2,请看《让守护进程给活动桌面发送弹出消息》。若链接已死请看我签名,若未直接显示相关信息,请点击【更多在此】!

另外,如果用 dhcp 获取 IP,插入网线时消息弹出会比较慢,因为 ifup 总要等到获取 IP 成功或超时(通常是 32 秒)。作为守护进程,弹出消息语言由系统默认语言(Debian / Ubuntu 常定义在 /etc/default/locale)决定,而非某桌面用户设置。

依赖的系统所属包(Debian / Ubuntu): ifplugd dash sed
依赖的非系统原有工具: notify-send2

附件:
ifplugd-action.tar.gz [697 Bytes]
被下载 56 次

SHA1: 15fd8624eeb1f970325fdc9c154d3fb12f4138b7


_________________
(2015-11-16 更新)适合 WM 的截图脚本
(2015-08-24 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门牛逼的编程语言。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 令 ifplugd 支持网桥和弹出消息(2012-03-04 更新)
帖子发表于 : 2012-04-13 0:09 

注册: 2009-09-28 15:59
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
:em11 虽然我看不懂,我在努力看懂,顶一个


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 令 ifplugd 支持网桥和弹出消息(2012-03-04 更新)
帖子发表于 : 2012-04-13 20:13 
头像

注册: 2008-07-30 23:21
帖子: 13427
地址: [email protected]
系统: Debian stable AMD64
送出感谢: 38
接收感谢: 127
用 ifplugd 的才明白。


_________________
(2015-11-16 更新)适合 WM 的截图脚本
(2015-08-24 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门牛逼的编程语言。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 令 ifplugd 支持网桥和弹出消息(2012-03-04 更新)
帖子发表于 : 2012-04-24 8:00 
头像

注册: 2010-10-14 12:54
帖子: 232
送出感谢: 24
接收感谢: 1
看代码头疼。。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译