Wicd (简体中文)
Wicd是一个既能管理有线网络又能管理无线网络的网络接入管理器,是 NetworkManager 的一个功能相似的替代。Wicd是用Python和GTK+写成的。另外,一个用Qt写成的在KDE中工作的版本,可以从 Arch User Repository得到。Wicd 也可以从终端中用 curses 界面运行,不需要 X server 会话或者任务面板 (参见 #运行 Wicd)。
安装
开发版本请 安装 wicd-gitAUR。这个软件包包含了运行 wicd 守护进程所需程序和 wicd-cli
和 wicd-curses
界面。
官方 GTK 前端 wicd-gtk-gitAUR.
通知
要获得网络状态变化的通知,请安装 notification-daemon 和 python2-notifyAUR。
如果你没有使用 GNOME,可以安装 xfce4-notifyd 已避免安装不需要的 GNOME 依赖程序。
开始使用
初始设置
Wicd 提供了一个需要启动的守护进程。
首先,使用以下命令手动关闭network、dhcpbd和networkmanager这些守护程序。
# systemctl stop netcfg # systemctl stop dhcpcd@.service # systemctl stop NetworkManager.service
然后,禁用各种网络管理守护进程,包括network, dhcdbd, 和 networkmanager:
# systemctl disable netcfg # systemctl disable dhcpcd@.service # systemctl disable NetworkManager.service
添加服务
# systemctl enable wicd.service
把你帐号加入到users
组中,把$USERNAME
替换成你自己帐号名称。
gpasswd -a $USERNAME users
/etc/dbus-1/system.d/wicd.conf
中指定的用户组,并将你的用户加入该组。最后,启动wicd :
# systemctl start wicd
如果你添加了自己的用户到新组中,登出再登入。
运行 Wicd
命令行输入:
$ wicd-client
如果你不需要wicd出现在通知区,使用下面命令:
$ wicd-client -n
你也可以把wicd-client添加到你所使用的DE/WM 自启动列表中,这样每次登录就能自动启动图形管理界面。
wicd-client
进程的问题。在 Arch forums 和 Arch bug reports 有关于此的讨论(参见 #相关链接)。貌似是 wicd 包会在 /etc/xdg/autostart/wicd-tray.desktop
放置一个文件,这会在登入桌面环境/窗口管理器时自动启动 wicd-client。如果是这个问题,如果你在桌面环境/窗口管理器的启动文件中添加了一个 wicd-client
的话你会有两个 wicd-client
同时运行。如果发生这种情况,确认 wicd-tray.desktop
文件存在于 /etc/xdg/autostart
; 如果是,只需要在守护进程列表中有 wicd
就可以了。你也可以在终端中运行 wicd 作为一个 curses 程序:
$ wicd-curses
常见问题解决方法
GUI 图形界面
如果在你点击了wicd的状态栏图标后,wicd的GUI没有出现,那么请你确保你是单击了图标而不是双击,因为单击一下图标是显示GUI,再单击一个图标就是关闭GUI,双击正好被程序误认为是开了又关了。
Hidden Wireless Networks and Autoconnection HACK
I had problems with my hidden network and the autoconnection function of wicd. It seems that the essid of my hidden network is not "<hidden>", but an empty string. Connect manually to the network and run:
$ iwlist scan
Output of my hidden network:
... wlan0 Scan completed : Cell 01 - Address: xx:xx:xx:xx:xx:xx ESSID:"" Mode:Master Channel:11 ...
If you have the same problems and your iwlist output shows ESSID:"", change /usr/lib/wicd/networking.py:
cd /usr/lib/wicd sed -i.orig -e 's/if CurrentNetwork\["essid"\] == "<hidden>":/if CurrentNetwork\["essid"\] \ == "<hidden>" or CurrentNetwork\["essid"\] == "":/' networking.py
This changes /usr/lib/wicd/networking.py and saves a backup of the original file to /usr/lib/wicd/networking.py.orig.
Based on wicd version 1.4.1-4