Question Comment sélectionner un wifi ap en fonction du login de l'utilisateur


J'ai des enfants à la maison, je dois trouver un moyen de démarrer la connexion wifi en fonction de la connexion:

  • kids => utiliser le point d'accès ssid: ENFANT
  • adulte => utiliser le point d'accès ssid: ADULTE

Lubuntu 12.04 LTS

Cordialement et merci d'avance pour votre aide.


1
2017-12-01 15:37


origine




Réponses:


Je trouve enfin par moi-même:

1- Connectez-vous en tant que root:

sudo su -

2- créer pour chaque utilisateur le répertoire de démarrage automatique dans leur homedir

mkdir -p /home/USERNAME/.config/autostart

3- copiez le code suivant dans un fichier network.desktop dans le répertoire autostart pour chaque utilisateur de votre système

[Desktop Entry]
Name=demarrage
Comment=Manage your network connections
Exec=/usr/local/bin/dhclient-util.sh
Type=Application
NoDisplay=true

4- copiez le code suivant dans /etc/local/bin/dhclient-util.sh

#!/bin/sh

##################################################################
# dhclient-util.sh
# script shell pour changer le fichier /etc/dhcpd/dhclient.conf
# pour y ajouter selon l util le dns de opendns
#
# entree: neant
#
# sortie: 0
#
# auteur: yves guerin (C) 2012 yvesguerin@yahoo.ca
#
# version:
#       0.0.1 : yguerin - 2012-12-12 : initiale
#################################################################

# prog
CP=`which cp`
GREP=`which grep`
NMCLI=`which nmcli`
SLEEP=`which sleep`
SUDO=`which sudo`

# var
DELAI="2"
TYPEUTIL="enfant"

# verif dans quelle liste se trouve  l`utilisateur 

RET=`${GREP} -w ${USER} /etc/dhcp/enfant.list`

# verif si vide
if [ ${#RET} -eq 0 ] ; then
        # vide, verif dans l`autre liste
        RET=`${GREP} -w ${USER} /etc/dhcp/parent.list`

        # verif si non vide
        if [ ${#RET} -gt 0 ] ; then
                # trouve
                TYPEUTIL="parent"
        fi
fi


# arrete  toute les connexions reseau
${NMCLI} nm enable false

case ${TYPEUTIL} in
        "parent" )
                # copie dhclient.conf pour adulte
                ${SUDO} ${CP} -f /etc/dhcp/dhclient.conf.defaut /etc/dhcp/dhcli$
        ;;
        * )
                # sinon pour les autres dhclient.conf enfant opendns
                ${SUDO} ${CP} -f /etc/dhcp/dhclient.conf.enfant /etc/dhcp/dhcli$
        ;;
esac

# attente
# attente
${SLEEP} ${DELAI}

# redemarre le reseau
${NMCLI} nm enable true

exit 0

5- le rendre exécutable


chmod gu+x /etc/local/bin/dhclient-util.sh


1
2017-12-14 20:58



Excellent, +1 pour la question et la réponse. - Tom Brossman