Estou assumindo que você está usando o Ubuntu Desktop, como você não especificou de outra forma.
Você pode criar uma configuração de rede sem fio que será gerenciada pelo Network Manager criando arquivos em /etc/NetworkManager/system-connections
. Veja os arquivos existentes para ver como é o formato.
Uma vez que a conexão é criada, você pode usar o comando nmcli
para gerenciar o NetworkManager a partir da linha de comando, fazendo coisas como habilitar, desabilitar e consultar conexões.
A propósito, a ferramenta de teste do sistema (checkbox) tem um script que faz exatamente isso: cria uma conexão e a ativa, com parâmetros que você fornece na linha de comando.
Por exemplo, isso cria uma conexão com a rede "duck" aberta:
sudo /usr/share/checkbox/scripts/create_connection duck
Isso criará uma conexão a uma rede usando a segurança WPA2, com a senha "wings":
sudo /usr/share/checkbox/scripts/create_connection -S wpa -K wings duck
O script é escrito em Python, então deve ser fácil para você olhar e se adaptar às suas necessidades.
A ajuda do script diz isso:
Usage: create_connection [options] SSID
Options:
-h, --help show this help message and exit
-S SECURITY, --security=SECURITY
The type of security to be used by the connection.
One of wpa and wep. No security will be used if
nothing is specified.
-K KEY, --key=KEY The encryption key required by the router.
-U UUID, --uuid=UUID The uuid to assign to the connection for use by
NetworkManager. One will be generated if not
specified here.
-R RETRIES, --retries=RETRIES
The number of times to attempt bringing up the
connection until it is confirmed as active.
-I INTERVAL, --interval=INTERVAL
The time to wait between attempts to detect the
registration of the connection.