• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

w-lan per hotkey an- und ausschalten

lucsus

Newbie
hallo,
weis nicht ob das jetzt das richtige forum ist, aber ich versuchs halt mal.
Ich hab auf meinem Notebook (Samsung p35 XVM III, Suse 9.2) die Hotkeys erfolgreich mit acpi4asus zum laufen gebracht und würde nun eigentlich gerne das wlan manuell per knopfdruck an und ausschalten.
soweit ich das verstehe (bin relativer Neuling) kann ich ja per knopfdruck einen script ausführen lassen in dem sowas steht wie:
Code:
/sbin/ifup eth1
das funktioniert auch super wenn ich root bin aber als normaler benutzer gibt ifup immer die meldung: "ERROR no configuration found" (oder so ähnlich) zurück. Hat einer ne ahnung wie ich da jetzt was einstellen muss, dass ich als normaler benutzer ifup benutzen kann?

(wie gesagt weis nicht ob der threat hier richtig ist, ggf halt verschieden)

danke für ne antwort, hab echt schon gegoogelt bis zum abwinken aber nichts gefunden
 

Oli-nux

Hacker
Du musst die Rechte für diese Datei ändern (würd ich mal sagen)!
Ab da lesen:
http://www.fibel.org/linux/lfo-0.6.0/node225.html
Sollte dein User (also du) keinen Zugriff auf den Ordner sbin haben, dann folgendes zusätzlich lesen:
http://www.fibel.org/linux/lfo-0.6.0/node226.html

Schreib mal, welche Rechte diese Datei und welche Rechte der Ordner bei dir im Moment hat.;)

PS: Du hast ja hoffentlich ein Script mit diesem Befehl erstellt?!
 
OP
L

lucsus

Newbie
ja irgendwie hats schon mit den rechten zu tuen, aber da hab ich so ziemlich alles ausprobiert
ifup hatte ursprünglich die rechte: -rwx--x--x root root soweit ich das grad im kopf hab
ifup auszuführen ist somit kein Problem nur es wird nicht richtig ausgeführt
hab auch schon versucht das script so zu ändern, dass der besitzer root ist und die gruppe users und hab dann dieses uid-bit gesetzt, hat aber auch nichts gebracht

hats vielleicht damit zu tuen, dass ifup keine ausführbare datei sonder auch nur ein shell-script ist?
 

Oli-nux

Hacker
Also hast du dich mit der Rechtevergabe schon näher beschäftigt? chgrp, chown, chmod
Mich würde nun dein Script mal komplett interessieren, denn nur diese eine Zeile kanns ja nicht sein.;)
Da fehlt ja ein #!/bin/sh, du hast ja nur /sbin/ifup eth1 bisher angegeben.
 
OP
L

lucsus

Newbie
Ja das mit den rechten hab ich mir schon nähers angesehen (hab die änderungen aber meistens übers kde gemacht)

naja ehrlich gesagt hatte ich die meiste zeit nur diese eine zeile drinstehen :oops:
ursprünglich hatte ich noch ein #!/bin/bash da kam aber eine fehlermeldung diesbezüglich und da hab ichs wieder rausgemacht und mich nicht weiter drum gekümmert
welchen zweck genau dient denn diese erste zeile?
 

Oli-nux

Hacker
lucsus schrieb:
welchen zweck genau dient denn diese erste zeile?
Befass dich bitte erstmal mit dem Shell-Scripting. Am besten mal googeln, dann weisst darüber mehr.
Bin selber kein Shell-Scripter und weiss darüber auch nicht so viel!
Ich weiss halt, dass ein Script damit anfängt.

Ob nun mit bash oder sh kommt dann drauf an. :?

Danach sollte dein Problem evtl. schon gelöst sein.;)
 
OP
L

lucsus

Newbie
Also am script lags nicht. Hab das Problem aber gelöst!
Das Problem war einfach, dass asus_acpid vom normalen user ausgeführt wird und deshalb keine root rechte hat und so natürlich auch ifup nicht richtig ausführen kann. die rechte zu ändern oder mit diesem uid-bit zu arbeiten hat irgenwie nichts gebracht (hab ewig rumprobiert :( ).
Deshalb wird meine wlan karte vom powersaved gesteuert.
wenn der ein event bemerkt das er nicht kennt (sprich der wlan hotkey oder einer der andernen hotkeys) führt er ein script aus das filtert, obs wirklich der wlan-hotkey war und wenn ja, die karte entsprechend steuert.

danke trotzdem für die hilfe!!

P.S. Wenns einen interessiert kann ich mein script hier ja mal reinschreiben, ist aber nicht sonderlich toll, da ich wirklich kein script-crack bin :wink:
 

Neotron

Hacker
Poste doch Dein Skript, würde mich sehr interessieren. Und vielleicht kann man's ja noch optimieren.

Gruß
Neotron
 
OP
L

lucsus

Newbie
Also das script sieht so aus:
Code:
#!/bin/bash
#gets called if powersaved detects an "other" event
#this is only to manage the wlan, the other hotkeys are managed by asus_acpid
#$3 is the event given by powersaved (on my samsung P35 notebook)
WHAT=$3
if echo $WHAT | grep -q hotkey.*5e[[:space:]].*; then #turns wlan on
ifup wlan-bus-pci-0000:02:02.0
exit 0
elif echo $WHAT | grep -q hotkey.*5f[[:space:]].*; then #turns wlan off again
ifdown wlan-bus-pci-0000:02:02.0
exit 0
else
: #does just nothing if it was not the wlan-key
fi


und liegt im verzeichnis:
Code:
usr/lib/powersave/scripts
in der sysconfig kann man bei powersave unter "event" "other"
den namen des scripts angeben und dann wird es aufgerufen falls was passiert das der "powersaved" nicht kennt.

die vorlage hat mir ein script gegeben, das sämmtliche hotkeys eines ASUS notebooks über powersaved steuert und das ich hier gefunden habe:
Code:
usr/share/doc/packages/powersave/contrib
 
Oben