Kirjoittaja Aihe: Acer Aspire 5044 suspend/hibernate tunkkausohje  (Luettu 1651 kertaa)

jussike

  • Käyttäjä
  • Viestejä: 979
    • Profiili
Ubuntun soveltuvuutta tähän Aceriin on rajoittanut ainoastaan lepotiloista heräämisen toimimattomuus. Nyt sekin selvisi.

Ongelma on se, että Ubuntun hal-skriptit yrittävät jostakin syystä käyttää lepotoimintoja quirk-modessa. Tämä Acer ei niitä kuitenkaan tarvitse, vaan jumii niiden takia, vaikka quirk-modet on kehitetty juuri siksi, että niiden avulla voisi tyhmemmänkin raudan saada nukkumaan ja sieltä pois.

Tunkkailin ja pähkäilin hetken aikaa ja päädyin seuraavaan ratkaisuun. Olen ollut huomaavinani, että aina kun hal päivittyy, nuo skriptit kirjoitetaan ylitse päivitystyökalun toimesta. Joten suoraan skriptitiedoston muokkaaminen ei ehkä pidemmän päälle toimi.

Päätin sijoittaa /etc/gdm/PostSession/Default -tiedostoon koodin, joka tarvittaessa tekee muutoksen suoraan skriptiin. Tuo Default ajetaan siis aina uloskirjautumisen yhteydessa gdm:n toimesta.

Eli tällaiset rivit lisäsin /etc/gdm/PostSession/Default -tiedostoon ennen exit 0 -riviä. Tämän voisi tehdä varmasti paljon vähemmilläkin riveillä jos jaksaisi miettiä.

Koodia: [Valitse]
if [ ! -h /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux ]; then
   
  mv /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux \
     /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-update
   
    mv /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-noquirks \
       /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-noquirks-old
 
      sed 's/\/usr\/sbin\/pm-suspend $QUIRKS/\/usr\/sbin\/pm-suspend/' \
            < /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-update \
            > /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-noquirks
 
    chmod +x /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-noquirks

  ln -s /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux-noquirks \
        /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux
fi

if [ ! -h /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux ]; then

  mv /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux \
     /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-update

    mv /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-noquirks \
       /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-noquirks-old
   
      sed 's/\/usr\/sbin\/pm-suspend-hybrid $QUIRKS/\/usr\/sbin\/pm-suspend-hybrid/' \
            < /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-update \
            > /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-noquirks
   
    chmod +x /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-noquirks
   
  ln -s /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux-noquirks \
        /usr/lib/hal/scripts/linux/hal-system-power-suspend-hybrid-linux

fi

if [ ! -h /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux ]; then

  mv /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux \
     /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-update

    mv /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-noquirks \
       /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-noquirks-old
 
      sed 's/\/usr\/sbin\/pm-hibernate $QUIRKS/\/usr\/sbin\/pm-hibernate/' \
            < /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-update \
            > /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-noquirks
   
    chmod +x /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-noquirks
 
  ln -s /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-noquirks \
        /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux

fi

Lopputulokseksi tulee seuraavaa:
/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux on linkki tiedostoon
/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux-noquirks, joka poikkeaa alkuperäisestä skriptistä seuraavan rivin osalta:

Rivi:
/usr/sbin/pm-hibernate $QUIRKS

On korvattu rivillä:

/usr/sbin/pm-hibernate

Sama on toistettu kaikille kolmelle tiedostolle.

Jokaisessa uloskirjauksessa tarkistetaan, että onko /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux tiedosto vai symbolinen linkki. Jos se on päivitetty järjestelmän toimesta niin linkki on muuttunut tiedostoksi ja uuteen tiedostoon tehdään sama muutos.

Jos joku päätyy kokeilemaan tätä niin kertokoon miten toimii.

Tulipa taas tunkattua. ;)