Wicd (简体中文)

From ArchWiki
Jump to: navigation, search

Wicd是一个既能管理有线网络又能管理无线网络的网络接入管理器,是 NetworkManager 的一个功能相似的替代。Wicd是用PythonGTK+写成的。另外,一个用Qt写成的在KDE中工作的版本,可以从 Arch User Repository得到。Wicd 也可以从终端中用 curses 界面运行,不需要 X server 会话或者任务面板 (参见 #运行 Wicd)。

安装

基础软件包

安装位于官方软件仓库wicd。这个基础软件包包含了运行 wicd 守护进程所需程序和 wicd-cliwicd-curses 界面。

GTK 客户端

使用 GTK 前端,请安装位于官方软件仓库wicd-gtk。这个软件包提供了 GTK 图形前端和自动启动程序文件。

KDE 客户端

KDE 前端,请安装AUR中的wicd-kdeAUR[broken link: archived in aur-mirror]

通知程序

要获得网络状态变化的通知,请安装 notification-daemon.

如果你没有使用 GNOME,可以安装 xfce4-notifyd已避免安装许多不需要的 GNOME 依赖程序。

其他软件包安装方法

如果想安装最新开发版本,可到AUR中找 wicd-bzrAUR

如果你要完全定制安装或者制作自己的包,可使用 ABS 编译。

开始使用

初始设置

Wicd 提供了一个需要启动的守护进程。

警告: 使用多种网络管理工具容易产生各种问题,因此,请只用一种网络管理工具来管理网络连接。所以,在使用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
注意: 可以访问wicd的用户组是能更改的,可能不是 users. 检查/etc/dbus-1/system.d/wicd.conf中指定的用户组,并将你的用户加入该组。

最后,启动wicd :

# systemctl start wicd

如果你添加了自己的用户到新组中,登出再登入。

运行 Wicd

命令行输入:

$ wicd-client

如果你不需要wicd出现在通知区,使用下面命令:

$ wicd-client -n
注意: 这只有在你安装了 wicd-gtk 之后才可以使用。如果你没有安装 wicd-gtk 那么可以使用 wicd-cli 或者 wicd-curses

你也可以把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
注意: Wicd 不会向你请求密码。要使用加密连接 (WPA/WEP),展开你想访问的网络,点击高级然后输入必要的信息。

常见问题解决方法

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

相关链接