ubuntuusers.de

smartdimmer script

Status: Gelöst | Ubuntu-Version: Ubuntu 9.04 (Jaunty Jackalope)
Antworten |

ParanoidAndroid

Anmeldungsdatum:
11. April 2008

Beiträge: 66

Hallo,

hab schon immer ein Problem mit meinen Helligkeitseinstellungen meines Laptops. Habe heute festgestellt, dass sich die Helligkeit mit dem Befehl

smartdimmer -s x

auf einen bestimmten Wert setzen kann.

Nun hätte ich gerne ein Skript erstellt, dass mit Hilfe von

smartdimmer -g

den momentanen Wert ausliest und diesen dann entsprechend um den Faktor 10 reduziert.

Ich hab nur leider keine Ahnung wie ich den ausgelesenen Wert als Variable benutzen kann.

Kann mir da jemand helfen?

lava

Anmeldungsdatum:
21. Februar 2009

Beiträge: 42

Hallö,

wie sieht denn die Ausgabe aus? Wenn sie zB. so aussieht: 20 dann kannst du's ja mal so versuchen...

1
smartdimmer -s $((smartdimmer -g | -10))

Ich weiß aber nicht ob das so funktioniert... probier mal!

edit: Kommando zurück, probier das hier:

1
$(($(smartdimmer -g) - 10)) | smartdimmer -s

und:

1
smartdimmer -s $(($(smartdimmer -g) - 10))

sieht komisch aus, aber anscheinend gehts xD ich kann nur nicht testen, ob es auch mit smartdimmer funktioniert.. musst du mal probieren^^

ParanoidAndroid

(Themenstarter)

Anmeldungsdatum:
11. April 2008

Beiträge: 66

geht leider nicht. Folgender Fehler:

(error token is "level: 50 - 10")

Ich hatte eher an so was gedacht:

#!/bin/bash
CURRENT=$(grep "current:" /proc/acpi/video/VID/LCD/brightness |awk '{print $2}')
case "$CURRENT" in
100)
echo -n 100 > /proc/acpi/video/VID/LCD/brightness;
;;
84)
echo -n 100 > /proc/acpi/video/VID/LCD/brightness;
;;
72)
echo -n 84 > /proc/acpi/video/VID/LCD/brightness;
;;
60)
echo -n 72 > /proc/acpi/video/VID/LCD/brightness;
;;
48)
echo -n 60 > /proc/acpi/video/VID/LCD/brightness;
;;
36)
echo -n 48 > /proc/acpi/video/VID/LCD/brightness;
;;
24)
echo -n 36 > /proc/acpi/video/VID/LCD/brightness;
;;
12)
echo -n 24 > /proc/acpi/video/VID/LCD/brightness;
;;
*)
echo -n 48 > /proc/acpi/video/VID/LCD/brightness ;
;;
esac

Kann man das nicht irgendwie umschreiben, sodass das Skript anstatt der /proc/acpi/video/VID/LCD/brightness den Wert aus smartdimmer -g nimmt?

lava

Anmeldungsdatum:
21. Februar 2009

Beiträge: 42

Klar geht das^^

Nur wie sieht die Ausgabe aus? Das wäre gut zu Wissen... wenn nur Zahlen ausgegeben werden (zb. "20" oder "75" oder so) dann könnte man es so machen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
CURRENT=$(smartdimmer -g)
case "$CURRENT" in
100)
smartdimmer -s 90
;;
90)
smartdimmer -s 80
;;
80)
smartdimmer -s 70
;;
70)
smartdimmer -s 60
;;
60)
smartdimmer -s 50
;;
50)
smartdimmer -s 40
;;
40)
smartdimmer -s 30
;;
30)
smartdimmer -s 20
;;
20)
smartdimmer -s 10
;;
10)
smartdimmer -s 0
;;
*)
smartdimmer -s 50
;;
esac

Müsste gehen ☺ Ist zwar etwas blöde und es könnte Probleme machen (zB. bei ner Helligkeit von 98, 93 oder 61 usw. setzt er sie auf 50) aber wenn er es in Zehnerschritten macht, müsste es gehen...

probier ma^^

ParanoidAndroid

(Themenstarter)

Anmeldungsdatum:
11. April 2008

Beiträge: 66

Habs gerade selber hinbekommen:

#!/bin/bash
X=$(smartdimmer -g |awk '{print $3}')
case "$X" in
100)
smartdimmer -s 90
;;
90)
smartdimmer -s 80
;;
80)
smartdimmer -s 70
;;
70)
smartdimmer -s 60
;;
60)
smartdimmer -s 50
;;
50)
smartdimmer -s 40
;;
40)
smartdimmer -s 30
;;
30)
smartdimmer -s 20
;;
20)
smartdimmer -s 15
;;
15)
smartdimmer -s 15
;;
esac

macht den Bildschirm um den Faktor 10 dunkler

und

#!/bin/bash
X=$(smartdimmer -g |awk '{print $3}')
case "$X" in
100)
smartdimmer -s 100
;;
90)
smartdimmer -s 100
;;
80)
smartdimmer -s 90
;;
70)
smartdimmer -s 80
;;
60)
smartdimmer -s 70
;;
50)
smartdimmer -s 60
;;
40)
smartdimmer -s 50
;;
30)
smartdimmer -s 40
;;
20)
smartdimmer -s 30
;;
15)
smartdimmer -s 20
;;
esac

macht den Bildschirm um den Faktor 10 heller

Smartdimmer macht es in 1er Schritten, deshalb das Script, sonst muss man ewig eingeben

BadBoy

Avatar von BadBoy

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 479

so 'ne case-Abfrage ist auf Dauer aber doch viel zu unhandlich. Die Bash selbst kann doch rechnen:

echo $((100-10))

oder aber man benutzt externe Werkzeuge:

echo "100-10" | bc

ParanoidAndroid

(Themenstarter)

Anmeldungsdatum:
11. April 2008

Beiträge: 66

Und das ist das ganze script?

Kommt bei mir immer

Illegal option value (-s): Value has to be a non-negative number.

BadBoy

Avatar von BadBoy

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 479

ParanoidAndroid schrieb:

Und das ist das ganze script?

Kommt bei mir immer

Illegal option value (-s): Value has to be a non-negative number.

naja, guck dir doch mal an, was

$((...))

bzw. bc für 'ne Ausgabe hat. Du solltest natürlich sinnvoller Weise noch abfragen, ob der neue Wert auch >= 0 ist 😉 aber den Teil überlasse ich dir selbst.

ParanoidAndroid

(Themenstarter)

Anmeldungsdatum:
11. April 2008

Beiträge: 66

Also nach ein bisschen Probiererei hab ich das Skript jetzt so gekürzt

1
2
3
4
#!/bin/bash
X=$(smartdimmer -g |awk '{print $3}') 
Y=$(echo  "$X-10" | bc)
smartdimmer -s $Y

Ohne die awk Abfrage geht das irgendwie nicht, aber egal, Hauptsache es läuft...

Vielen Dank

Ich liebe dieses Forum 😊

BadBoy

Avatar von BadBoy

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 479

ParanoidAndroid schrieb:

Ohne die awk Abfrage geht das irgendwie nicht, aber egal, Hauptsache es läuft...

ja, ich hab auch nie behauptet, du solltest die weglassen.

Tomy85

Anmeldungsdatum:
25. Mai 2010

Beiträge: Zähle...

hab auch das problem mit der helligkeits einstellung smartdimmer funktioniert was genau habt ihr da jetzt programmiert? Bin totaler neuling wie kann ich das nachmachen?

Gruß Thomas

Antworten |