题
Ubuntu中是否有API(或命令行)可以查看可用的无线网络,它们的强度等,并连接到一个?
解决方案
网络管理员有一个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进行扫描(尝试使用iwlist更多帮助)
iwlist wlan0 scan
wlan0是我案例中无线接口的名称
对于gui部分,我更喜欢wicd;易于使用,支持wep,wpa,wpa2使用 ifconfig
, iwconfig
, iwlist
和 wpa_supplicant
,如果你想要的东西有文档告诉你这个怎么运作。或者,您可以只运行一次,查看输出并找出如何编写一个可以满足您需求的shell脚本。
我不苦。一点也不。你为什么这么说? :d
(说实话,NetworkManager不会使iw {config,list}撒谎,但不要指望nm不会覆盖你用它们要求的设置。)
命令行实用程序 nmtui
提供了一个终端图形界面,用于连接到无线网络,查看它们的强度,并连接到它们。