SDB:Wicd
這篇文章正在考量要刪除! 原因: 因为wicd基于py2且已不再维护。 請不要清空、合併或移動此文章。參考這篇文章的 討論 頁面以及我們的 刪文政策 得到進一步訊息。 |
求牵手!求包养!求窖藏!求抱走!Mamihlapinatapai! 原因:没写完! 请参考这篇文章的 讨论 页面,以获得进一步资讯。 |
关于
Wicd是一个Linux下面的致力于提供简单操作来连接到网络的开源有线和无线的网络管理工具。 很多人拿它来替代Network Manager来管理无线连接。
功能
- 和Gnome没有依赖关系(尽管他需要GTK), 所以他能够很容易的在XFCE, Fluxbox, Openbox, Enlightenment等桌面上使用。
- 能够连接到有线和无线网络。
- 每个网络连接都有独立的配置文件。
- 支持各种加密方案,包括WEP/WPA/WPA2 (你也可以添加你自己的加密方案)。
- 保持兼容的无线工具
- 有一个显示网络信息的托盘图标。
正确的安装方法非常重要,因为他经过了一定的修改来兼容openSUSE。他也会安装gksu等依赖和管理网络连接的工具。
- 添加源(这个例子适用于openSUSE12.2。如果你使用其他版本的openSUSE,仅仅需要改变发行版本的数字成相应的版本就行了):
sudo zypper ar "http://download.opensuse.org/repositories/system:/wicd/openSUSE_12.2/" Wicd
- 启用自动刷新:
sudo zypper mr -r Wicd
- 安装wicd:
sudo zypper in wicd
能在RPM Search找到可用的wicd
设置为启动可用
安装完后当你启动时可能会提示错误信息"could not connect to wicd's d-bus interface"。Wicd已经正在运行但是那个错误很烦。
打开 Yast -> 在“系统”标签里面, 选择 "系统服务(运行级别) -> 找到wicd然后选择"启用"。你将会收到一个提示说dbus也需要启动,点确定。现在Wicd可以运行了。
用法
N.B.Wicd能够独立的管理你的连接。所以建议删除NetworkManager。或者关闭他。
首先要做的是修改YAST的网络设置来消除可能的冲突。
- YaST 控制中心 -> 网络设备 -> 网络设置 -> 全局设置
把 "网络设置方法" 改为 "通过ifup传统方式"
- YaST 控制中心 -> 网络设备 -> 网络设置 -> 主机名/DNS
取消"通过DHCP更改主机名"
选上"制订主机名到回路IP"
- YaST 控制中心 -> 网络设备 -> 网络设置 -> 概况 -> 选择网卡然后编辑 -> 常规
取消 "Enable Device Control for Non-root User Via KInternet" 下一步, 选 `常规' 标签页 `激活设备:' 选项, 选择`手动'
这样之后网络可能已经关闭了,只要按照下面两个步骤就可以了。
- 删除其他所有的网络管理工具(例如NetworkManager, kinternet, qinternet) 然后打开 "network" 服务:
sudo /sbin/chkconfig network on sudo /sbin/rcnetwork start
通常这没有什么问题。
- 或者 你可以修改文件来开启"network" 服务:
sudo vim /etc/init.d/SERVICE_TO_BE_ADJUSTED
删除 "network": 在 # Required-Start:这一行删除 "network"关键字
高级选项
使用 Wicd 的一个很大好处是你可以在保存的配置文件中为特定的网络接口使用“连接前”,“连接后”和“断开连接” Bash 脚本。这样我们就能够设定 VPN/pptp 网络或者做一些其他我们想做的。这个选项非常危险且需要一定的技术水平。下面的例子展示了如何为有线接口设置自动化 DSL/VPN/pptp 连接:
- 首先创建一个新 profile ,输入名字(例如“测试VPN”),点击“Add”按钮。
- 转到 YaST -> 网络设备 -> DSL 和设置您的 DSL 连接。 你将得到一个 PROVIDER 变量(像“provider0”或“provider1”等。),在下面的“手动” pptp 启动脚本中会用到。
- 在 $HOME/bin 中创建一个脚本用以手动连接 DSL/VPN/pptp (见例子/模板):
> cat ~/bin/test_vpn_connection #!/bin/sh export WIRED_IFACE="eth0" export WIRELESS_IFACE="wlan0" export DSL_IFACE="dsl0" export STATIC_IP="10.10.10.10" export DEF_GW_FOR_STATIC_IP="10.10.10.1" export DEF_GW_FOR_DSL="172.16.1.1" ip link set "$WIRED_IFACE" down; ip link set "$DSL_IFACE" down; ip addr add "$STATIC_IP" dev "$WIRED_IFACE"; ip link set "$WIRED_IFACE" up; # just a check killall -9 smpppd-ifcfg pptp pppd # 重启 DSL 连接守护进程 /etc/init.d/smpppd restart ip route del default; # 正确调整你的路由表! ip route add MASK via GW; ip route add NET1 via GW1; ****************** ip route add default via "$DEF_GW_FOR_STATIC_IP"; /usr/sbin/smpppd-ifcfg --ifcfg=ifcfg-dsl0 --provider=PROVIDER --user=$USER ip link set "$DSL_IFACE" up; ip route replace default via "$DEF_GW_FOR_DSL"; # optional # ip link set "$WIRELESS_IFACE" down # EOF
- 点击“断开连接”按钮上方的三角来访问高级选项
- 点击“脚本”按钮并将 “~/bin/test_vpn_connection” 输入到 “Post-connection” 处
- 作为可选项,你也可以制作 disconnection 或 pre-connection 脚本
所有信息仅对特定 "profile" 有效,如果你删除该 "profile",信息将会一同被删除。
快速修复
很不幸,Linux下的无线驱动并不像我们所希望的那样完美。 下面列举一些小建议来帮你享受“Wicd”。总的来说,如果你连接的是非加密的无线或有线网络,一般不会有什么问题。(还有问题?!)
- 重新载入无线内核模块
- 把 “WPA Supplicant Driver” 改成随机一个,然后重新选择合适的那个。
- 去读那些该死的手册! :)
- 点击“首选项”按钮然后在设置里试试你的手气吧。(开始之前先默念“春哥保佑我”)
- 如果有啥不对的请查看 “/var/log/wicd/wicd.log” 。
- 查看/调整 “/etc/dbus-1/system.d/wicd.conf” 文件,如果默认(安全)预设不符合你的要求的话。