我想连接到无线切入点从命令行。理想情况下,我只需要 AP 的名称。但硬件地址也可以。
我知道我可以使用nmcli
来连接到托管网络连接,但就我而言,接入点可能尚未为网络管理器配置(请参阅nm-tool
和的输出之间的区别nmcli con
)。
输出示例nmcli
:
Auto pwln 3a3d62b1-bbdf-4f76-b4d2-c211fd5cfb03 802-11-wireless [...]
Wired Network aa586921-accf-4932-98c4-c873c310f08e 802-3-ethernet [...]
Cisco-UDP Uni 7f94847b-04dc-40b7-9955-5246fb77cc65 vpn [...]
T-mobile (D1) 867f345a-cbbf-4bd4-b883-a5e5ae0932f0 gsm [...]
输出示例nm-tool
:
State: connected
- Device: eth1 [Auto pwln] ----------------------------------------------------
[...]
Wireless Access Points (* = current AP)
*pwln: Infra, [...], Freq 2472 MHz, Rate 54 Mb/s, Strength 80 WPA WPA2
WLAN: Infra, [...], Freq 2422 MHz, Rate 54 Mb/s, Strength 20 WPA WPA2
[...]
如何连接到 NM 可能知道或不知道的接入点?
额外:找出连接是否需要密码短语,并将其提交到命令行上也很好(也就是说,如果网络管理器不会在 GUI 上弹出任何密钥环对话框或错误就好了)
答案1
您可以直接使用 执行此操作nmcli
,即使尚未在网络管理器中配置连接:
nmcli dev wifi con "myssid" password "myssidpassword"
如果您不想在最近的版本(可能比下面提到的更新)的历史记录中存储无线密码,您可以添加--ask
nmcli 提示您缺少所需的信息。
nmcli --ask device wifi connnect "myssid"
该功能是在网络管理器 0.9.6 中添加的,因此仅适用于 Ubuntu 12.10 或更高版本。
您还可以使用以下方式获取可用接入点的列表:
nmcli dev wifi list
答案2
您可以使用cnetworkmanager
为了这。
编辑:
经过一番调查后,很明显不可能同时运行两个“用户配置提供程序”(在某个 dbus 地址上监听的应用程序),而 cnetworkmanager 需要充当这样的“配置提供程序”(至少在建立连接之前)。
现在,您可以做的是将连接信息添加到密钥下的 gconf /system/networking/connections
(您可以通过命令行或脚本执行此操作),然后使用 dbus 或命令行工具(如 cnetworkmanager 或 nmcli)连接到它。也许您还必须先将密钥添加到用户的密钥环(以避免密码弹出)。
但是,这当然不会在使用 nm-applet 以外的其他 NM 客户端(例如 KDE)的桌面上工作。您还必须弄清楚如何为它们提供配置...
编辑2:
似乎可以通过org.freedesktop.NetworkManagerUserSettings
系统 DBus 来实现,但在我看来这些都没有详细记录...
这是一个相关的例子(也许您想建立用户连接而不是系统连接)
答案3
您可以使用 iwconfig (wifitools) 进行 wep 加密,或使用 wpa_supplicant 进行 wpa 和 wep 加密,如果您需要更简单的方法,也可以使用 wicd-curses,祝您好运 =)