essid abfragen
essid abfragen
Hallo zusammen,
suche mir schon seit Tagen die Finger wund. Ich suche eine Möglichkeit die Wlan ESSID abzufragen um dann, falls zuhause, meine Netzfreigaben zu mounten.
System: Squeeze
Netbook samsung N210
Ein eventueller Ansatz wäre: if iwconfig | grep ESSID = Homeessid irgendwas then mount blabla
Gruß
Peter
suche mir schon seit Tagen die Finger wund. Ich suche eine Möglichkeit die Wlan ESSID abzufragen um dann, falls zuhause, meine Netzfreigaben zu mounten.
System: Squeeze
Netbook samsung N210
Ein eventueller Ansatz wäre: if iwconfig | grep ESSID = Homeessid irgendwas then mount blabla
Gruß
Peter
Re: essid abfragen
Hallo,
hier jetzt die qick and dirty Version:
Ein Script als Root am besten in /etc/init.d/ erstellen und ausführbar machen. ( Chmod+x)
z.B. wlanwahl
Inhalt:
So, jetzt noch eine Default Datei in /etc/gdm(3)/PostLogin/ erstellen
Inhalt:
Ich habe mal 60 Sek. genommen da mein Netbook etwas braucht bis das Wlan verbunden ist. Ev. kann der Wert wesentlich geringer sein.
Zu guter letzt noch in /etc/gdm(3)/PostSession/ eine Default Datei anlegen und alle Freigaben umounten.
Das wars.
Gruß
Peter
hier jetzt die qick and dirty Version:
Ein Script als Root am besten in /etc/init.d/ erstellen und ausführbar machen. ( Chmod+x)
z.B. wlanwahl
Inhalt:
Code: Alles auswählen
#!/bin/bash
if /sbin/iwconfig wlan0 | grep -o HeimESSID >nul;
then
mount Netzfreigaben Daheim
fi
if /sbin/iwconfig wlan0 | grep -o BüroESSID >nul;
then
mount Netzfreigaben Büro
fi
if /sbin/iwconfig wlan0 | grep -o UniESSID >nul;
then
mount Netzfreigaben Uni
fi
Inhalt:
Code: Alles auswählen
#!/bin/sh
#
# Note: this is a sample and will not be run as is. Change the name of this
# file to <gdmconfdir>/PostLogin/Default for this script to be run. This
# script will be run before any setup is run on behalf of the user and is
# useful if you for example need to do some setup to create a home directory
# for the user or something like that. $HOME, $LOGIN and such will all be
# set appropriately and this script is run as root.
sleep 60 && /etc/init.d/wlanwahl.sh &
Zu guter letzt noch in /etc/gdm(3)/PostSession/ eine Default Datei anlegen und alle Freigaben umounten.
Das wars.
Gruß
Peter
Re: essid abfragen
Hi,
wenn Du einen Netzwerkmanager nutzt, sollltest Du mal schauen, ob der Scripts anbietet. Bei
wicd kannst Du zum Beispiel
fuer bestimmte Verbindungen scripten hinterlegen.
Wenn Du die Verbindung ueber die /etc/network/interfaces automatisiert hast, kannst Du wahrscheinlich ein passendes script in die
/etc/network/if-up.d legst.
Ciao
Stefan
wenn Du einen Netzwerkmanager nutzt, sollltest Du mal schauen, ob der Scripts anbietet. Bei
![Debian](/pics/debianpackage.png)
fuer bestimmte Verbindungen scripten hinterlegen.
Wenn Du die Verbindung ueber die /etc/network/interfaces automatisiert hast, kannst Du wahrscheinlich ein passendes script in die
/etc/network/if-up.d legst.
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: essid abfragen
Hallo,
solltest du den
network-manager einsetzen, sollte das auch mittels Dispatcher-Skript zu lösen sein.
MfG i
PS: Die ESSID wird dort so ermittelt:
solltest du den
![Debian](/pics/debianpackage.png)
MfG i
PS: Die ESSID wird dort so ermittelt:
Code: Alles auswählen
ESSID=$(iwconfig $1 | grep ESSID | cut -d":" -f2 | sed -e 's/"//g')
Re: essid abfragen
Hallo,
danke für die Infos. Wicd läßt sich wg. Abhängigkeitsproblemen nicht inst.
Dispatcher ist mir jetzt nicht ganz klar.
Soll das Script in /etc/NetworkManager/dispatcher.d oder in /etc/network/ip-up.d/ abgelegt werden.
Die Variablen sollen wohl vom NetworkManager übergeben werden.
Werde mal beide probieren.
Gruß
danke für die Infos. Wicd läßt sich wg. Abhängigkeitsproblemen nicht inst.
Dispatcher ist mir jetzt nicht ganz klar.
Soll das Script in /etc/NetworkManager/dispatcher.d oder in /etc/network/ip-up.d/ abgelegt werden.
Die Variablen sollen wohl vom NetworkManager übergeben werden.
Werde mal beide probieren.
Gruß
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: essid abfragen
Die müssen nach /etc/NetworkManager/dispatcher.d und u.a. auch ausführbar sein.
Wobei als Parameter folgendes übergeben wird:
$1 das Interface
$2 die Aktion (up, down ...)
Siehe auch man NetworkManager.
MfG i
Wobei als Parameter folgendes übergeben wird:
$1 das Interface
$2 die Aktion (up, down ...)
Siehe auch man NetworkManager.
MfG i
Re: essid abfragen
Hallo,
irgendwie steh ich aufm Schlauch.
Also in /etc/NetworkManager/dispatcher.d/02blabla angelegt und ausführbar gemacht.
Sieht so aus:
Leider funzt das nicht.
Wo liegt der Fehler ?
Gruß
irgendwie steh ich aufm Schlauch.
Also in /etc/NetworkManager/dispatcher.d/02blabla angelegt und ausführbar gemacht.
Sieht so aus:
Code: Alles auswählen
#!/bin/bash
## INITIALISIERUNG
#Diese Werte werden vom NetworkManager an das Skript übergeben
INTERFACE=$1
ACTION=$2
## ESSID des Heimnetzwerkes
ESSID_HOME="blabla"
## ESSID des verbundenen Netzwerks bestimmen
ESSID=$(iwconfig $INTERFACE | grep ESSID | cut -d":" -f2 | sed -e 's/"//g')
## Funktionen durchführen, je nach Aktion eine andere
case "$2" in
up)
if [ "$ESSID" = "$ESSID_HOME" ]; then
/etc/init.d/wlanwahl.sh
fi
;;
down)
;;
pre-up)
;;
post-down)
;;
*)
echo $"Usage: $0 {up|down|pre-up|post-down}"
exit 1
esac
Wo liegt der Fehler ?
Gruß
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: essid abfragen
Das liegt am Wert von $ESSID, der hat am Ende noch ein Leerzeichen. Deswegen passt die Bedingung nicht.
Du könntest die Quotes in der if-Abfrage weglassen. Oder nimm besser diesen Befehl, dann sind auch Leerzeichen okay:
Ein Leerzeichen an $ESSID_HOME anhängen ginge natürlich auch...
Und die Aktionen pre-up und post-down gibt es nicht mehr.
Code: Alles auswählen
echo -$(iwconfig wlan1 | grep ESSID | cut -d":" -f2 | sed -e 's/"//g')-
-foo -
Code: Alles auswählen
echo -$(iwgetid --raw wlan1)-
-foo bar-
Und die Aktionen pre-up und post-down gibt es nicht mehr.
Zuletzt geändert von lemak am 21.08.2011 19:13:55, insgesamt 3-mal geändert.
Re: essid abfragen
Hallo,
danke für Infos. Leider wird das Script in dispatcher.d gar nicht ausgeführt.
Was muß den in 01ifupdown drin stehen um dann 02blabla auszuführen ?
Gruß
danke für Infos. Leider wird das Script in dispatcher.d gar nicht ausgeführt.
Was muß den in 01ifupdown drin stehen um dann 02blabla auszuführen ?
Gruß
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: essid abfragen
Sollte das ein Fingerzeig sein, aber danke dafür ![Wink ;-)](./images/smilies/icon_wink.gif)
Wenn liegt das sicher an den Dateirechten, warum das Skript nicht ausgeführt wird.
![Smile :-)](./images/smilies/icon_smile.gif)
![Wink ;-)](./images/smilies/icon_wink.gif)
Wenn liegt das sicher an den Dateirechten, warum das Skript nicht ausgeführt wird.
Nun wo ich mal einen Blick in die 01ifupdown geworfen habe, würde ich dir Antworten: Nach /etc/network/ip-up.d/^^ Nun gut... irgendwie hatte ich noch einen uralt Bug-Report im Kopf. Aber es wird ja ein Fake ifupdown environment vom NM gezaubertelmstop hat geschrieben: Soll das Script in /etc/NetworkManager/dispatcher.d oder in /etc/network/ip-up.d/ abgelegt werden.
![Smile :-)](./images/smilies/icon_smile.gif)
Re: essid abfragen
Hallo,
leicht verwirrend das ganze, aber jetzt läufts.
In /etc/network/if-up.d als Root ein Script erstellen:
Vielen Dank für die Hilfe
Gruß
leicht verwirrend das ganze, aber jetzt läufts.
In /etc/network/if-up.d als Root ein Script erstellen:
Code: Alles auswählen
#!/bin/bash
## INITIALISIERUNG
#Diese Werte werden vom NetworkManager an das Skript übergeben
INTERFACE=$1
## ESSID des Heimnetzwerks
ESSID_HOME="WLANDAHEIM"
## ESSID des verbundenen Netzwerks bestimmen
ESSID=$(iwgetid --raw $1)
if [ "$ESSID" = "$ESSID_HOME" ]; then
/etc/init.d/mountscript.sh
fi
Gruß