Acpid
Sissejuhatus
Acpid = Põhjaliku Konfiguratsiooni ja võimsuse sündmuste kasutajaliidese deemon.
Ta kuulab /proc/acpi/event kanalit ning kui mingine sündmus esineb siis selle programmi läbi saab käsitleda vastavat sündmust.
Nt
a) Vajutades mingit spetsiaalset kombinatsiooni klaviatuuril klahvidega, mis hõlmab käsku käivitamine/puhke/peatamise funktsioon
b) Pannes kinni laptop arvuti kaane
c) (Välja)Ühendama toite adaptri laptopil
d) (Välja)Ühendama mikrofoni/kõrvaklapid
On olemas võimalus kombineerida veel mõnede käskudega(pm-utils ja cpufrequtils) saamaks veel täpsemat infot liikluse jms kohta.
NB!Töötab ainult alates 2003 aastast välja realiseeritud linuxi kernelite distributsioonidel.
Paigaldamine
On mitmeid meetodeid tema tööle saamiseks kas olles juba operatsiooni süsteemis või alles sinna bootides.
# aptitude install acpid
Bootimisel:
Kui kasutad systemd siis käivita "systemctl enable acpid"; Kui kasutad initscript meetodit siis muuda /etc/rc.conf olles root õigustes lisades "acpid" Deemonite massiive (Deamon Array)
Mis on acpid?
Acpid käsk on just kujundatud välja teadustamaks kasutaja enda kettaruumil tegutsevate programmide jälgimist läbi ACPI süsteemsete vaadete. On soovitatav paigaldada ta töötama koheselt kui parasjagu arvuti laeb end tööle ja jookseb tagataustal protsessina vaikimisi. Sündmused avatakse spetsiaalselt (/proc/acpi/event) failis vaikimisining seda on võimalus lugeda vajaliku informatsiooni. Kui rida tekitatud sündmuse poolt siis acpid uurib oma nimekirjast vastavaid eeskirju ja kehtestab need, mis kooskõlastuvad sündmusega. Acpid ignoreerib kõik sissetulevad ACPI sündmused kui lukk fail on olemas nt (/var/lock/acpid) vaikimisi.
Reeglid on määratletud lihtsates konfiguratsiooni failides. ACPID vaatab konfiguratsiooni kausta (/etc/acpi/events) vaikimisi ning sõelub kõik tavalised failid, mis ei alga perioodil ('.') või ei lõpe märgiga "tilde" (~). Iga fail peab määratlema kahte asja: sündmus ja tegevus. Tühje ridu või read, kus esimene märk on räsi ('#') on ignoreeritud. Kõrvalised read on tähistatud kui hoiatusi, kuid ei ole hukatuslikud. Iga rida omab kolme märki: võti, sõnasõnaline võrdusmärk, ja väärtus. võti võib olla kuni 63 tähemärki, ja väiketähed (aga loevad ka tühikud!). Väärtus võib olla kuni 511 märki ja on reageerib tähtedele ja tähikutele.
Lähteväärtuseks on käsurida, mis tugineb via /bin/sh, valdavalt kui iga sündmuse sobitamine normaal tingimustel toimub. Käsurida võib sisaldada shelli erimärke ja nad jäävad alles. Ainult erisümboleid lähteväärtusega "%" läbivad selle. String "% e" on asendatakse sõnasõnalise teksti korral kui ta tugineb antud tegevusele. See string võib sisaldada tühikuid, järelikult käsurida peab hoolitsema tsiteerides "% e", kui ta tahab tugineda ainult ühele märgile/sümbolile. String "%%", asendatakse sõnasõnaliselt "%". Kõik teised "%" väljumised on reserveeritud, ja preegleid ei rakendata.
See funktsioon võimaldab mitut kindlaksmääratud eeskirjadele vastavat sama sündmust (kui järjestust ei garanteerita) samuti üks reegel, mis määratakse mitmetele sündmustele. Et sundida acpid reload reegel konfiguratsiooni, saa talle käsk "SIGHUP"
Lisaks faili reeglitele, aksepteerib acpid ühendusi UNIX domeeni ühilduvuspaigas /var/run/acpid.socket) vaikimisi. Iga aplikatsiooni võib samuti ühendada sinna. Kui oled juba ühe korra ühendanud siis acpid saadab teksti kõigi ACPI sündmustest kliendile. Kliendil oleks parem filtreerida saadud sõnum parema ülevaate saamiseks. Acpid ei sulge kliendi tuuma va juhul kui SIGHUP või acpid väljumisel. Acpid logib kõik oma tegevuse, samuti stdout ja stderr mistahes sündmustest, mis on järjendatud syslogi faili. Kõiki vaikimisi olevaid faile ja kaustu saab muuta läbi käsurea võtmete
Acpid lisavõimalused
Võtmed:
-c, --confdir directory
See võti muudab kausta kus acpid otsib/vaatab reegeleid. Vaikimisi on see /etc/acpi/events.
-C, --clientmax number
See valik muudab maksimaalse arv mitte-root tuum ühendusi, mida saab teha acpid tuum. Vaikimisi on selle väärtus 256.
-d, --debug
See võti suurendab acpid veaotsingu taste 1 võrra. Kui veaotsingu ease on 0, acpid jätkab toiminguid esiplaanil ning logides stderr-i, lisades selle ka syslogi.
-e, --eventfile filename
See valik muudab sündmuste faiil jus acpid loeb kõiki sündmusi. Vaikimisi on see koht /proc/acpi/event.
-f, --foreground
See võimalus hoiab acpid esiplaanil, ei tööta käivitamisel.
-l, --logevents
See käsk ütleb, et acpid teeks kõikide toimvuate sündmsute kohta logi
-L, --lockfile filename
See käsk muudab lukustatud faili peatamaks sündmuste protsessi. Vaikimisi on see kohas /var/lock/acpid.
-g, --socketgroup groupname
See valik muudab grupi omaniku UNIX domeeni tuumas kus acpid toimetab sündmustega.
-m, --socketmode mode
This option changes the permissions of the UNIX domain socket to which acpid publishes events. Default is 0666.
-s, --socketfile filename
See valik muudab nike UNIX domeeni tuumas kus acpid avab. Vaikimisi on selleks kohaks/var/run/acpid.socket.
-S, --nosocket filename
See käsk ütleb acpid program mile mitte avada UNIX domeeni tuuma. See tühistab -s käsu ja negatiseerib teisi tuuma käske.
-p, --pidfile filename
See käsk ütleb acid-le, et tuleb kasutada määratud faili kui "pidfile" formaadina. Kui see fail on olemas, siis eemaldatakse ja kirjutatakse see üle. Vaikimisi asub /var/run/acpid.pid.
-v, --version
Väljastab versiooni ning väljub.
-h, --help
Näitab abiraamatut ja väljub.
Näited
Lihtsam skrpit:
/etc/acpi/events/power - sulgeb süsteemi kui vajutada "power" ehk sisselülitamis nuppu
event=button/power.* action=/usr/local/sbin/power.sh "%e"
Kui skript power.sh käivitatakse siis terve juhtumi string seatakse $1 parameetriks.
Kasutatud kirjandus
http://linux.die.net/man/8/acpid https://wiki.archlinux.org/index.php/Acpid http://dev.gentoo.org/~darkside/stats/statcvs-sys-apps/dir_acpid.html
Autor
Kristjan Karu A31 2012