Энергосбережение на ноутбуке (видеокарта ATI)

Здравствуйте коллеги!

Озаботился я экономией заряда батареи на ноутбуке.
Модель DELL Inspirion 1501 - AMD Turion 64 X2 TL-56/1800мгц/1024мб/120гб/DVD±RW/WiFi/Ati Mobility Radeon x1150/15,4"

Со всем железом (CPU, HDD, LCD) все более менее понятно.
Всякие laptop-mode-tools, cpufreq работают нормально.

Воюя с acpid обнаружил, что с драйверами ati-drivers-8.433 поставляется скрипт для переключения режима энергопотребления видеокарты при питании от батареи и при закрытии крышки(LID) /etc/acpi/ati-powermode.sh

Цитата:
#!/bin/bash

#
# Control script for ACPI lid state and AC adapter state
#

getXuser() {
user=`who| grep -m1 ":$displaynum " | awk '{print $1}'`
if [ x"$user" = x"" ]; then
user=`who| grep -m1 ":$displaynum" | awk '{print $1}'`
fi
if [ x"$user" != x"" ]; then
userhome=`getent passwd $user | cut -d: -f6`
export XAUTHORITY=$userhome/.Xauthority
else
export XAUTHORITY=""
fi
}

aticonfig='/opt/bin/aticonfig'

# default high power state
default_state=`$aticonfig --lsp | grep 'default state' | cut -c 3`

grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then
lid_closed=1
echo "Lid Closed"
else
lid_closed=0
echo "Lid Open"
fi

grep -q off-line /proc/acpi/ac_adapter/*/state

if [ $? = 0 ]; then
echo "On DC"
on_dc=1
else
echo "On AC"
on_dc=0
fi

if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then
echo "Low power"
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXuser;
if [ x"$XAUTHORITY" != x"" ]; then
export DISPLAY=":$displaynum"
su $user -c "$aticonfig --set-powerstate=1 --effective=now"
fi
done
else
echo "high power"
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXuser;
if [ x"$XAUTHORITY" != x"" ]; then
export DISPLAY=":$displaynum"
su $user -c "$aticonfig --set-powerstate=$default_state --effective=now"
fi
done
fi

Если я делаю /opt/bin/aticonfig --lsp

Цитата:
core/mem [flags]
-----------------
1: 100/133 MHz [low voltage]
* 2: 401/401 MHz [default state]

Смена режима по команде /opt/bin/aticonfig --set-powerstate={№ режима} происходит нормально.
А вот в автоматическом режиме нет

При отключении питания ноутбука (отключении адаптера) в лог записывается

Цитата:
Jan 9 15:34:47 sangrebook acpid: executing action "/etc/acpi/ati-powermode.sh"
Jan 9 15:34:48 sangrebook acpid: action exited with status 0

Т.е. вроде как скрипт отрабатывает но режим работы адаптера не меняется.

Уважаемые скриптописатели и скриптописательницы (ежели такие бывают :) ) помогите разобраться.
Меня лично смущает строка

Цитата:
su $user -c "$aticonfig --set-powerstate=$default_state --effective=now"

При попытке выполнить такую команду заменив переменные реальными значениями запрашивает пароль пользователя. Возможно в этом причина...

Заранее огромное спасибо.

в скрипте

в скрипте сделайте echo `id` и посмотрите что выведется, должно написать пользователя от имени которого выполнился скрипт.
после чего будет понятно чего делать.

Сделал...

Добавил строку

Цитата:
logger `id`

в syslog записалось:

Цитата:
uid=0(root) и т.д.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".