Я работаю над программой на C ++, которая может выполнять команды терминала для меня, и одной из ее функций является манипулирование Wi-Fi (подключаться, отключаться, забывать). Прямо сейчас я пытаюсь выполнить команду подключения Wi-Fi в терминале, используя ff.:
nmcli device wifi connect <wifiName> password <password>
Выше прекрасно работает в терминале, когда пароль правильный, но показывает всплывающее окно с запросом правильного пароля если введенный пароль неверен:
Можно ли предотвратить всплывающее окно, чтобы моя программа не приостанавливалась до тех пор, пока я не закрою его вручную? Или есть лучшая команда для обработки Wi-Fi-соединения с учетом имени и пароля Wi-Fi?
из man nmcli
вы можете использовать приведенную ниже команду.
, но вам может потребоваться немного больше деталей, кроме ssid
и password
nmcli connection add type wifi ifname wlp2s0 ssid H con-name PRATAP2 +802-11-wireless-security.key-mgmt WPA-PSK +802-11-wireless-security.psk 50251919
, здесь использованы другие детали, кроме ssid
и password
:
ifname
+802-11-wireless-security.key-mgmt
Команда nmcli
выше не будет отображаться, как в вашем Вопросе. Она выведет сообщение, как в этом файле GIF ниже, что не остановит ваш рабочий процесс, если пароль неправильный ...
Мои необходимые данные:
ifname is wlp2s0
SSID is `H`
password is 50251919
wireless security key is WPA-PSK
Итак, команда для добавления этого соединения с паролем такая же, как указано выше ..
Обратите внимание на приведенный ниже рисунок в конце ... когда я ввел неправильный пароль .. Это не мешало выполнению процесса. Вместо этого он просто отображал уведомление в верхней части. Если мы хотим ввести пароль еще раз, мы можем нажать это другой мудрый игнорировать ..
Примечание. Этот метод работает, если нет никаких соединений.