Kirjoittaja Aihe: Mikä mättää tässä udev-säännössä? (eipäs ratkennutkaan täysin...)  (Luettu 1776 kertaa)

vtp

  • Käyttäjä
  • Viestejä: 285
    • Profiili
Yritän rakentaa udev-skriptin, joka sammuttaa preload-daemonin siirryttäessä akkukäyttöön ja käynnistää sen jälleen kun verkkovirtaa on saatavilla. Seuraava ei kuitenkaan toimi, miksi?

#80-preload.rules

ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Battery",
ATTR{status}=="Discharging", RUN+="/etc/init.d/preload stop"
ACTION=="change", SUBSYSTEM=="power_supply", ATTR{type}=="Battery",
ATTR{status}=="Charging", RUN+="/etc/init.d/preload start"


Tämä tiedosto on tallennettu /etc/udev/rules.d -hakemitoon.

Preloaderi käynnistyy kun kytken verkkovirtaa koneeseen, mutta ei sammu takaisin akkukäyttöön siirryttäessä

Vai olisiko jotain parempaa keinoa toteuttaa sama homma? En halua, että preloaderi jauhaa taustalla viemässä tehoja kun ollaan akun varassa. Verkkokäytössä se taas nopeuttaa ohjelmien käynnistystä, joten sen on hyvä olla toiminnassa.
« Viimeksi muokattu: 10.08.09 - klo:20.00 kirjoittanut vtp »

anttimr

  • Käyttäjä
  • Viestejä: 1625
    • Profiili
Vs: Mikä mättää tässä udev-säännössä?
« Vastaus #1 : 07.08.09 - klo:23.16 »
Hieman nyt vaikuttaa siltä kuuluisalta pyörän uudelleenkeksimiseltä...  :)
Itse lähestyisin vinkkelistä, että acpid osaa napata kiinni acpi-tapahtumia (eventejä), kuten verkkovirran kytkeminen ja akkukäyttöön siirtyminen ja suorittaa tapahtumiin liittyviä, joko distron mukaan paketoimia tahi kustomoituja skriptejä.

Esimerkiksi voisit luoda skriptin /etc/acpi/battery.d/95-preload.sh

Koodia: [Valitse]
#! /bin/sh
#pysäyttää preload-daemonin akkukäytössä
/etc/init.d/preload stop

sekä:

/etc/acpi/ac.d/95-preload.sh

Koodia: [Valitse]
#! /bin/sh
#käynnistää preload-daemonin verkkovirtakäytössä
/etc/init.d/preload start

Skripteille täytyy tietysti antaa suoritusoikeudet ja ne ovat tommoisia karheita esimerkkejä. Fiksummassa toteutuksessa varmaan testattaisiin ensin, onko preload käynnissä ennenkuin koitetaan stopata jne.
Virransäästötoiminnot ovat yhtenä Ubuntun detaljina jatkuvan muutoksen alla ja 9.10:stä eteenpäin tämä vinkki ei sitten taidakaan toimia tällaisenaan vaan virransäästötilaan (akkukäyttöön) siirtyminen hallitaan pm-utils -ohjelmiston kautta ja omat säästöskriptit sijoitetaan suunnilleen /etc/pm/power.d hakemistoon.
« Viimeksi muokattu: 07.08.09 - klo:23.32 kirjoittanut anttimr »
Ubuntu 12.10 Quantal Quetzal

vtp

  • Käyttäjä
  • Viestejä: 285
    • Profiili
Vs: Mikä mättää tässä udev-säännössä?
« Vastaus #2 : 08.08.09 - klo:21.02 »
Kiitos ja kumarrus  :) Näillä eväillä homma lähti toimimaan täydellisesti. Voin sitten tarvittaessa jalostaa tuota hommaa siten, että tutkitaan, onko preloaderi yleensä määritelty käyttöön. Tämä yksinkertainen malli palvelee kuitenkin nyt minua toistaiseksi.

Ei ollut ollenkaan vieras asia tämä acpi-tapahtumien käsittely, mutta ei vaan tällä kertaa leikannut, joten apu tuli tarpeeseen.


vtp

  • Käyttäjä
  • Viestejä: 285
    • Profiili
Vs: Mikä mättää tässä udev-säännössä?
« Vastaus #3 : 10.08.09 - klo:20.03 »
Esimerkiksi voisit luoda skriptin /etc/acpi/battery.d/95-preload.sh
Koodia: [Valitse]
#! /bin/sh
#pysäyttää preload-daemonin akkukäytössä
/etc/init.d/preload stop

sekä:
/etc/acpi/ac.d/95-preload.sh
Koodia: [Valitse]
#! /bin/sh
#käynnistää preload-daemonin verkkovirtakäytössä
/etc/init.d/preload start

Eipäs sitten toimikaan ihan täydellisesti. Jos verkkovirtakäytössä isken koneen hibernateen, irroitan muuntajan ja herätän sen sitten hormaalisti, niin siellähän se preloaderi jyrää täyttä häkää. Näitä scriptejä siis ei koskaan ajeta.

Tilannehan on prikulleen tämä käytännössä. Kotona hibernoin koneen, laitan salkkuun ja mahdollisesti jossain muualla käynnistän koneen akun varassa, jolloin preloaderi ei saisi olla päällä.

Olisko vielä pientä vinkkiä saada tämä kohta korjattua?