La solution donnée dans le wiki anglais,
...ne me convenait pas tellement !Use netctl list / netctl start <profile> instead of netcfg-menu. wifi-menu remains available.
donc pour ceux qui, comme moi, ont la nostalgie de
netcfg-menu
; je partage ce petit script... si ça peut aider/plaire à certains ...
Code : Tout sélectionner
#!/bin/bash
#
## "netcfg-menu" for netctl !!
menu ()
{
# intialize variables
sblack="\e[4;30m"
fgris="\e[1;30m"
fblanc="\e[0;37m"
frouge="\e[0;31m"
fvert="\e[0;32m"
bblue="\e[1;44m"
end="\e[0m"
i="0"
profils=
choix=
# display choices
echo -e $bblue" "$sblack"CHOOSE YOUR NETWORK'S PROFILE : "$fblanc$bblue
echo -e " "
for profils in $(ls /etc/netctl/)
do
if [[ $profils != "examples" && $profils != "interfaces" && $profils != "hooks" ]]; then
let i++
profil[$i]=$profils
echo " [ $i ] ________________________________________ $profils "
fi
done
echo -e " [ W ] ________________________________________ WiFi-Menu "
echo -e " "
echo -e " [ Q ] ________________________________________ Exit "
echo -e " "
read choix
## Verify if another profile running yet
if [[ $(netctl list | grep \* | sed 's/*\ //g' | wc -l) == 0 ]]; then
verifie="start ${profil[$choix]}"
tartwitch="Start"
else
verifie="switch-to ${profil[$choix]}"
tartwitch="Switch To"
fi
# launch or switch to the selected profile
case $choix in
[0-9{*}] ) netctl $verifie # Ici, on peut aussi rajouter "sudo" si on veut lancer le script avec son user
if [[ $? = 0 ]]; then
echo -e " "
echo -e " "$fgris"::"$fblanc" $tartwitch ${profil[$coix]} ... "$fgris"[ "$fvert"DONE "$fgris"] "
sleep 1.2
else
echo -e " "
echo -e " "$fgris"::"$fblanc" $tartwitch ${profil[$choix]} ... "$fgris"[ "$frouge"FAIL "$fgris"] "
sleep 1.2
fi ;;
[w/W] ) wifi-menu ;; # et à conditions d'avoir correctement complété son /etc/sudoers !
[q/Q] ) exit 0 ;;
* ) menu ;;
esac
}
menu
echo -e $end
# End
Edit (30/04): petite modif au niveau du script : 1°, pour démarrer ou swtcher suivant si un profil est déjà lancé et 2° vérifier la réussite de la commande ...