我正在编写一个小应用程序,我想提交给板,我想做的一件事是在一个组合框中显示检测到的无线SSID的名称。这是一个PyGI应用程序。
有没有人知道我如何从系统中获得那些SSID,最好是通过Python?从dbus来的?从NetworkManager?
发布于 2012-05-16 14:25:42
您可以通过NetworkManager的pygi绑定轻松地做到这一点:
from gi.repository import NetworkManager, NMClient
nmc = NMClient.Client.new()
devs = nmc.get_devices()
for dev in devs:
if dev.get_device_type() == NetworkManager.DeviceType.WIFI:
for ap in dev.get_access_points():
print ap.get_ssid()
或直接从DBus,请参阅http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/python/show-bssids.py
如果您倾向于在shell中快速编写此脚本,那么询问NetworkManager的一种简单方法是使用:
nmcli dev wifi list
或者使用iwlist扫描,或者更好: iw dev wlan0扫描(或.),在安装iw之后
包。
发布于 2012-05-16 14:17:45
一个选项是在命令行上运行iwlist scan
,但它必须作为root运行。
https://askubuntu.com/questions/137894
复制相似问题