我有一个用例,我希望能够将预配置的计算机发送到商店。这个想法是,除非绝对必要,否则最终用户不必插入键盘和鼠标。
我可以预先配置 wicd,直到只需单击 wicd GUI 中的“连接”即可进入网络。
我的理解是,设置use_settings_globally = 1
应该允许客户端通过 essid 连接到任何网络,而不是默认的 bssid(mac 地址)。但是,当我尝试演示/测试这一点时,我仍然需要点击“连接”才能建立连接。
我在设置中找到了该设置should_verify_ap
,但找不到有关该设置的任何文档。有人知道这方面的信息吗?我试过切换它,但没有用。
这是我的 wireless-settings.conf。
[essid:HEREISANSSID]
afterscript = None
dhcphostname = my-computer
bssid = 28:CF:E9:**:**:**
ip = None
dns_domain = None
gateway = None
use_global_dns = False
encryption = True
postdisconnectscript = None
beforescript = None
hidden = False
channel = 11
mode = Master
netmask = None
key = PASSWORD
usedhcphostname = 0
predisconnectscript = None
bitrate = auto
enctype = wpa-psk
allow_lower_bitrates = 0
dns3 = None
dns2 = None
dns1 = None
use_settings_globally = True
use_static_dns = False
apsk = PASSWORD
encryption_method = WPA2
essid = HEREISANSSID
automatic = 1
search_domain = None
当我使用它连接到网络时,它会添加带有 BSSID 标题的类似条目。
这是我的 manager-settings.conf
[Settings]
backend = external
wireless_interface = wlp1s0
wired_interface = None
wpa_driver = wext
always_show_wired_interface = False
use_global_dns = False
global_dns_1 = None
global_dns_2 = None
global_dns_3 = None
global_dns_dom = None
global_search_dom = None
auto_reconnect = True
debug_mode = 0
wired_connect_mode = 1
signal_display_type = 0
should_verify_ap = 1
dhcp_client = 0
link_detect_tool = 0
flush_tool = 0
sudo_app = 0
prefer_wired = False
show_never_connect = True
我需要能够连接到 ESSID,但从未了解过 BSSID。这可能吗?
答案1
因此我做了一些探索wicd-daemon.py
,找到了与自动连接相关的代码块。
我搜索了一些代码,找到了https://bugs.launchpad.net/wicd/+bug/1440952
我替换了代码,然后我就可以连接配置了相同 ESSID 的网络。
for x, network in enumerate(self.LastScan):
- if self.config.has_section(network['bssid']):
+ essid_key = "essid:%s" % network['essid']
+ if self.config.has_section(network['bssid']) or self.config.has_section(essid_key):
if self.debug_mode:
print network["essid"] + ' has profile'
if bool(network.get('automatic')):