Acpid

From ICO wiki
Revision as of 14:23, 2 December 2012 by Krkaru (talk | contribs)
Jump to navigationJump to search

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 massive (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.