Estou escrevendo um script bash que configura o acesso à rede para meus dispositivos Linux.
O script deve ser usado por pessoas não habilitadas em Linux e que não tenham direitos administrativos no dispositivo. Escrevi a parte de configuração das interfaces ethernet e está tudo bem. Agora preciso escreverWi-fiparte de configuração.
O fim do jogo é escrever a configuração dentro de um arquivo netplan configuration yaml file
. Aqui está o fluxo de trabalho esperado do script:
- gerenciar sistema de menu interativo recuperando parâmetros Wifi de alto nível (SSID, senha, modo de autenticação, dhcp ou configuração manual...)
- Verifique a conectividade com o ponto de acesso selecionado
- Salvar dados no arquivo yaml de configuração do netplan
- Aplicar mudanças
Os pontos 1, 3 and 4
estão ok... também recuperar a lista de pontos de acesso disponíveis está ok.
O que não consigo alcançar é o ponto 2
(Verifique a conectividade com o ponto de acesso selecionado). Eu gostaria de ter uma experiência de uso como a próxima
WIFI configuration parameters:
SSID: My Network
PSK: password
Actions:
- e: Edit
- t: Test connectivity
- s: Save
- q: Quit
Select Action: t
....wait while testing connectivity
Test result: OK
Press a key to continue...
Eu tentei, iwconfig
mas não funciona com WPA, então não se aplica à maioria dos casos.
Eu tentei wpa_supplicant
e consigo fazer o teste, mas não da maneira que estou pensando... É um teste em primeiro plano que só pode ser interrompido ctrl-C
e é difícil de ler para manequins (meu taget de usuário final).
Eu gostaria de
- inicie a conexão Wifi em segundo plano
- teste em segundo plano se a conexão com o ponto de acesso está ok ou não
- feche a conexão Wifi em segundo plano (o objetivo final é configurar o netplan)
- Retornar uma resposta OK/Falha ao script de chamada
Claro que é possível iniciar wpa_supplicant
a conexão, bg
mas: como verificar a conectividade e interrompê-la sempre bg
?
Alguma sugestão?
Obrigado Sandro