Ubuntu 中是否有 API(或命令行)来查看可用的无线网络、它们的强度等,并连接到一个?
6 回答
network-manager有一个 dbus 服务。您可以使用任何带有 dbus 绑定的语言与之对话。
ifconfig 和 iwconfig 用于控制网络连接。您的 wifi 适配器可能还具有用于创建初始网络设备的特定应用程序,madwifi 就是这种情况,它将创建一个 athX(x 是数字)设备,可以通过 ifconfig 和 iwconfig 进行控制。还应该提到的是,Ubuntu 附带的受限硬件驱动应用程序非常擅长安装和设置 wifi 驱动程序。
取决于变体的 Ubuntu 带有网络管理器,对于 KDE,它的 knetworkmanager 和 gnome 是 gnome-netstatus-applet。
默认情况下,这些应用程序根据变体启动。
Linux 支持一种称为无线扩展的东西,它定义了不同无线卡的通用接口。扩展定义了一组 IOCTL 调用和 netlink 事件,用于配置设备以及获取有关检测到的事件的信息(例如从接入点断开连接)。
使用无线扩展的应用程序示例包括用于 Linux 的无线工具(iwconfig、iwlist 等)和wpa_supplicant。
请注意,并非所有设备都支持无线扩展,因此您可能需要使用专有接口,例如 MadWiFi。
用于命令行;可以使用 iwlist 完成扫描(尝试 man iwlist 更多帮助)
iwlist wlan0 scan
wlan0 在我的例子中是无线接口的名称
对于 gui 部分,我更喜欢 wicd;易于使用,支持 wep,wpa,wpa2
Ubuntu 倾向于利用“Undocumented Frameworks(TM)、Undocumented Object Brokerage Buses(TM) 和 Undocumented Abstraction Layers(TM) 的强大力量(TM)”。但幸运的是,有社区支持,您可以在 IRC 上与所有其他像您一样阅读过文档的人交谈。
使用ifconfig
, iwconfig
,如果你想要一些iwlist
有wpa_supplicant
文档告诉你它是如何工作的东西。或者,您可以只运行一次,查看输出并弄清楚如何编写一个执行您想要的 shell 脚本。
我不苦。一点也不。你为什么这么说?:D
(说实话,NetworkManager 不会让 iw{config,list} 撒谎,但不要指望 nm 不会覆盖您使用它们要求的设置。)
命令行实用程序nmtui
提供了一个终端内图形界面来连接到无线网络、查看它们的强度并连接到它们。