Script för att justera ljusstyrka.

Mjukstarta här!
Kategoriregler
Läs följande innan du postar: http://ubuntu-se.org/phpBB3/viewtopic.php?f=208&t=44692
Du får hjälp att komma igång med Ubuntu genom att välja en personlig fadder här: http://ubuntu-se.org/phpBB3/viewtopic.php?f=110&t=8767
Sundin
Inlägg: 1
Blev medlem: 24 mar 2011, 21:34
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu

Script för att justera ljusstyrka.

Inlägg av Sundin »

Hejsan!

Nu har jag ett litet problem. Jag är en nykomling i denna trevliga Linuxdjungel, och som mitt första linuxsystem installerade jag Sn0wL1nux eftersom det grafiska gränssnittet tilltalade mig (det liknar OSX snowleopard), men också för att nya utmaningar alltid är roliga.

Nu till problemet. Datorn jag använder är en ASUS UL30VT, om det nu har någon betydelse. Problemet är att jag inte kan ställa ljusstyrkan på skärmen. Gnome power management funkar inte. Det visar att ljusstyrkan ändras, men ingenting händer.

Efter lite googlande så provade jag med xbacklight, utan någon framgång, samma där, ingenting händer.

Nu har jag dock hittat en grejj som fungerar:

sudo setpci -s 00:02.0 F4.B="värdet" (hecadecimalt från 00-FF)

Har också fått in det i gnome power management scriptet, så att det är bindat till mina hotkeys på datorn.

I skrivande stund har jag bara 2 värden, en för brightness up (FF) och en för brightness down (50).

Kod: Markera allt

#!/bin/sh
setpci -s 00:02.0 F4.B=50

OCH

#!/bin/sh
setpci -s 00:02.0 F4.B=FF
Som ni kanske förstår är det inte riktigt optimalt att bara ha 2 lägen, och dels för att jag vill lära mig så undrar jag nu:

Hur skall jag gå till väga när jag vill t.ex. öka eller sänka värdet med typ 10? Jag menar ungefär såhär:
#!/bin/sh
läs variabelA
variabelA + 10
set variabelA
setpci -s 00:02.0 F4.B="variabelA"
Samma när man skall sänka ljusstyrkan. Kanske blev lite långt nu, men jag hoppass att ni förstår. Tacksam för svar!
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Script för att justera ljusstyrka.

Inlägg av Konservburk »

Börja med att läsa in det gamla värdet i en variabel:

Kod: Markera allt

VAR=0x$(setpci -s 00:02.0 F4.B)
Här är VAR namnet på variabeln och 0x talar om att variabeln är hexadecimal. Allt innanför $() är kommandot som läser av själva värdet.

Öka variablens värde med 10:

Kod: Markera allt

VAR=$((VAR + 10))
Uppdatera registret till det nya värdet:

Kod: Markera allt

setpci -s 00:02.0 F4.B=$(printf %02x $VAR)
Det här med printf kommer sig av att variabelns värde ska anges hexadecimalt.

Som överkurs går det att göra alltihop på en gång utan variabel:

Kod: Markera allt

setpci -s 00:02.0 F4.B=$(printf %02x $((0x$(setpci -s 00:02.0 F4.B) + 10)))
Skriv svar

Återgå till "För nybörjaren"