Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: vtp - 07.08.09 - klo:19.47
-
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.
-
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
#! /bin/sh
#pysäyttää preload-daemonin akkukäytössä
/etc/init.d/preload stop
sekä:
/etc/acpi/ac.d/95-preload.sh
#! /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.
-
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.
-
Esimerkiksi voisit luoda skriptin /etc/acpi/battery.d/95-preload.sh
#! /bin/sh
#pysäyttää preload-daemonin akkukäytössä
/etc/init.d/preload stop
sekä:
/etc/acpi/ac.d/95-preload.sh
#! /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?