The two option are wicd-cli
(noted in the comment by meuh) and networkmanager
. Which to use is matter of personal preference. I use networkmanager
just because it has a better manual (but that, again, is matter of preference).
Just like wpa_supplicant
stores files in /etc/wpa_supplicant/
one per interface, networkmanager
stores files in /etc/NetworkManager/system-connections/
one per SSID. The parameter names for networkmanager
are not very different from wpa_supplicant
, for example a file in /etc/NetworkManager/system-connections/
may look as follows:
[connection]
id=BluePenguin
uuid=799ce6af-b66c-4669-9319-8d9a029cb6ee
type=wifi
[wifi]
ssid=BluePenguin
[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=******
(This looks similar to network={}
in wpa_supplicant
)
My experience with networkmanager
is on Arch, not Debian, therefore I cannot tell with 100% accuracy on the Debian dependency chain. But, networkmanager
does not require Xorg (or GTK, or KDE).
Moreover, the command line tool to networkmanager
: nmcli
, is very similar in design to iproute2
. In essence, as you would do:
ip addr help
to get help for the addr
command, you do:
nmcli device wifi help
to get help on all wifi
commands for devices
. Since I use ip
a lot, I find nmcli
very intuitive, but then again, that is matter of personal preference.
networkmanager
has a built-in DHCP client, but can be configured to use an external one.
As for reducing the number of commands, nmcli
will perform the work of disconnecting from one SSID (closing DHCP too) and connect to a new SSID (and start DHCP) with on command (assuming the password is already saved):
nmcli device wifi connect <new SSID>
Or for the lazy typer:
nmcli d w c <new SSID>
References:
wicd-cli
if that corresponds.