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

[ GELOEST ] script zum hardware ein/ausschalten

toter

Newbie
mahlzeit...

habe mir einen neuen klapprechner zugelegt (lenovo x200) und ein susi11.2_x64 draufgemacht, alles funzt soweit.
Leider startet der rechner mit wlan,blutooth und wwan eingeschaltet, die tastenkombination fn+f5 schaltet komplett alles aus bzw. wieder ein....wenn ich aber via wlan surfen möchte ist permanent bluetooth und wwan eingeschaltet.
mit einem script
Code:
#!/bin/sh 
echo disable > /proc/acpi/ibm/wan
echo disable > /proc/acpi/ibm/bluetooth

schalte ich beides aus, diese habe ich mir auch auf eine tastenkombination gelegt.

nun moechte ich aber ein script das die datei /proc/acpi/ibm/wan bzw. /proc/acpi/ibm/bluetooth abfragt nach enable oder disable (beide dateien "zeigen" ob die hardware ein oder aussgeschaltet ist an)
z.b.:
Code:
 tester:~ # cat /proc/acpi/ibm/wan 
status:		disabled
commands:	enable, disable

bei enable soll z.b.
Code:
echo disable > /proc/acpi/ibm/wan
und bei disable soll ein
Code:
echo enable > /proc/acpi/ibm/wan
die umts einheit ein- bzw. ausschalten....

leider habe ich keine ahnung von den "if" variablen, bin leider nicht sehr bewandert in der bashprogrammierung.....

vieleicht kann mir hier einer unter die arme greifen, falls ich unverstaendlich geschrieben habe einfach nachhaken....

beste gruesse, toter
 

HBtux

Member
so....?

Du musst nur noch mal prüfen, ob es enabled/disabled oder enable/disable heißt....

Code:
PROC_FILE=/proc/acpi/ibm/wan

AKT_STATUS=`grep "^status:" $PROC_FILE | tr -s [:blank:] | awk '{printf $2}'`

case $AKT_STATUS in

        enabled)        echo "Ausschalten"
                echo disable > $PROC_FILE
                ;;

        disabled) echo "Einschalten"
                echo disable > $PROC_FILE
                ;;

        *)      echo "Fehler beim lesen von $PROC_FILE"
                ;;

esac
 
OP
T

toter

Newbie
Heee, na danke, schnell und gut, hut ab.

genau sowas wollte ich, habe nun dein script angepasst und auf einzelne tasten gelegt umts und blauzahn getrennt von einander.
dadurch, dass dann die ausgabe fehlt habe ich das script wie folgt geaendert :
Code:
#!/bin/sh
PROC_FILE=/proc/acpi/ibm/bluetooth

AKT_STATUS=`grep "^status:" $PROC_FILE | tr -s [:blank:] | awk '{printf $2}'`

case $AKT_STATUS in

        enabled)        { kdialog --passivepopup 'Bluetooth OFF' 4; }  
                echo disable > $PROC_FILE
                ;;

        disabled)        { kdialog --passivepopup 'Bluetooth ON' 4; }            
                echo enable > $PROC_FILE
                ;;

        *)      echo "Fehler beim lesen von $PROC_FILE"
                ;;

esac

damit wollte ich die ausgabe etwas "verschoenern", leider kommt als user die fehlermeldung :
Code:
kdialog: cannot connect to X server
das script fuehre ich als sudo aus und es funktioniert, bis auf die bildschirmausgabe, was kann ich noch aendern das es richtig funktioniert?

danke schon mal und best gruesse, toter


EDIT

script muss wie folgt aussehen, dann klappt auch die ausgabe auf dem display problemlos und somit zu meiner zufriedenheit.... danke und hier das fertige script :
Code:
 #!/bin/sh
PROC_FILE=/proc/acpi/ibm/wan

AKT_STATUS=`grep "^status:" $PROC_FILE | tr -s [:blank:] | awk '{printf $2}'`

case $AKT_STATUS in

        enabled)        { kdialog --display :0 --passivepopup 'UMTS OFF' 4; }
                echo disable > $PROC_FILE
                ;;

        disabled)       { kdialog --display :0 --passivepopup 'UMTS ON' 4; }
                echo enable > $PROC_FILE
                ;;

        *)      echo "Fehler beim lesen von $PROC_FILE"
                ;;

esac

bis die tage, keine frage, toter
 
Oben