Dell D400

Obsługa przycisków przez ACPI

Dodatkowe przyciski takie jak przycisk Power czy Suspend nie są w większości dystryubcji obsługiwane prawidłowo. Spowodowane to jest różnymi sygnaturami sygnałów generowanych przez ACPI, w związku z czym nie są one rozpoznawane. Konfiguracja ACPI umożliwi nam prawidłową obsługe tych przycisków, jak również przypisanie im akcji według własnego uznania - w tym wypadku zmienione zostanie także zachowanie komputera podczas zamykania pokrywy.

Po poprawnej instalacji daemona acpid powninniśmy posiadać katalog '/etc/acpi/events' w którym umieszcza się pliki konfiguracyjne z powiązaniami.

# cat /etc/acpi/events/powerButton event=.BTN action=/etc/acpi/powerButton.sh %e # # cat /etc/acpi/events/lid event=button/lid.* action=/etc/acpi/lid.sh

/etc/acpi/lid.sh

#!/bin/bash VBETOOL=/usr/sbin/vbetool if grep -q close /proc/acpi/button/lid/LID/state; then if grep -q on-line /proc/acpi/ac_adapter/AC/state; then logger "LID closed, AC pluged in, turning off backlight"; $VBETOOL dpms off else logger "Battery mode, suspend to RAM"; echo -n mem > /sys/power/state fi else logger "LID opened, turning on backlight"; $VBETOOL dpms on fi

Zachowanie komputera zależy od tego czy jest on zasilany z baterii czy też z zasilacza AC. W przypadku pracy na baterii zamknięcie pokrywy spowoduje przejście w tryb uśpienia tzw. 'suspend to RAM' - stan procesora jest zapisywany do pamięci. W tym trybie zasilana jest tylko pamięć, a procesor, LCD, dysk oraz reszta peryferii przechodzi w tryb uśpienia. W przypadku zasilania z zasilacza zamknięcie pokrywy powoduje jedynie wyłączenie LCD.

/etc/acpi/powerButton.sh

#!/bin/bash CLASS=$1; NAME=$2; case "$CLASS" in button/power) if [ "$NAME" == "PBTN" ]; then logger "Power button pressed. Shutdown..." /sbin/shutdown -h 10 "system is going down within 10secs..." else logger "Something unknown pressed. Doing nothing :)" fi ;; button/sleep) if [ "$NAME" == "SBTN" ]; then logger "Sleep button pressed. Go sleep..." echo -n mem > /sys/power/state else logger "Something unknown pressed. Doing nothing :)" fi ;; *) logger "Something unknown pressed. Doing nothing :)" ;; esac

Naciśnięcie przycisku 'Suspend' (Fn+ESC) spowoduje przejście komputera w stan 'suspend to RAM', natomiast przycisku 'Power' zamknięcie systemu po upływie 10 sekund.

Skrypty te powinny mieć uprawnienia do wykonywania (+x). Po zapisaniu nowej konfiguracji daemon acpid należy zrestartować.

< GPU
V
wifi >