[netctl]migration depuis netcfg-menu !

Autres projets et contributions
Avatar de l’utilisateur
widapit
Maître du Kyudo
Messages : 1148
Inscription : mar. 30 mars 2010, 22:53
Localisation : Toulouse

[netctl]migration depuis netcfg-menu !

Message par widapit »

Salut tout le monde !!

La solution donnée dans le wiki anglais,
Use netctl list / netctl start <profile> instead of netcfg-menu. wifi-menu remains available.
...ne me convenait pas tellement ! :oops: :chinois:
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
:mrgreen:

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 ...
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Répondre