由于 wl 内核模块,Conky 无法获取我的无线 essid,我的普通用户帐户也无法获取。如果我能获取
sudo iwconfig wlan0
,那就没问题,如果我以 root 身份运行 conky,那就没问题,但我不想那样做。
解决方案是这里进一步来说此链接是我遵循的,效果很好。有一段时间了……现在它不再起作用了,我不知道为什么。
它对我的用户帐户有效。如果我运行 iwconfig,我会看到所有无线信息。如果我输入
${exec iwconfig wlan0}
我的 conky 配置,conky 会吐出所有无线信息,包括 ssid。但使用 conky 的内置功能
${wireless_essid wlan0}
不会返回 ESSID 的任何信息,也不会返回 AP MAC 的“未关联”信息。
我已经尝试了所有我能尝试的方法,包括
sudo chmod u+s /sbin/iwconfig
(以前也有效,但现在对 conky 不起作用)
我还应该澄清,我编辑了 udev 规则以将 eth1 重命名为 wlan0,因为 eth1 是 wl 驱动程序附带的标准接口名称。
答案1
好吧,对于其他到达这里的人来说,解决方案是:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/conky
详情如下这里但基本上你需要授予 conky 使用网络接口的权限。