Всем привет. На кеде при закрытии крышки ноут переходил в ждущий режим (эти параметры я выставил в powermanager), сейчас пересаживаюсь на awesome, а там при закрытии крышки всё продолжает работать. Как реализовать что-бы при закрытии крышки система уходила в ждущий режим?
Xorg ждущий режим
Я сделал с помощью acpid
/etc/acpi/default.sh
Показать
#!/bin/sh
# /etc/acpi/default.sh
# Default acpi script that takes an entry for all actions
set $*
# Читаем переменные и функции
. /etc/acpi/function.sh
#set $*
group=${1%%/*}
action=${1#*/}
device=$2
id=$3
value=$4
log_unhandled() {
logger "ACPI event unhandled: $*"
}
case "$group" in
button)
case "$action" in
power)
/sbin/init 0
;;
# if your laptop doesnt turn on/off the display via hardware
# switch and instead just generates an acpi event, you can force
# X to turn off the display via dpms. note you will have to run
# 'xhost +local:0' so root can access the X DISPLAY.
lid)
# xset dpms force off
pm-suspend
;;
*) log_unhandled $* ;;
esac
;;
ac_adapter)
case "$value" in
# Add code here to handle when the system is unplugged
# (maybe change cpu scaling to powersave mode). For
# multicore systems, make sure you set powersave mode
# for each core!
*0)
# cpufreq-set -g powersave
off_ac_adapter_action
;;
# Add code here to handle when the system is plugged in
# (maybe change cpu scaling to performance mode). For
# multicore systems, make sure you set performance mode
# for each core!
*1)
# cpufreq-set -g performance
on_ac_adapter_action
;;
*) log_unhandled $* ;;
esac
;;
*) log_unhandled $* ;;
esac
/etc/acpi/function.sh
Показать
#!/bin/sh
# Файл функций
on_ac_adapter_action() {
### 22.09.2008
### Добавил из https://nikoli.selfip.org/ru/node/417 #####
# echo "Adapter mode ON $(date +%x%t%X)" >> /var/log/start_mode.log
hdparm -B 255 -S 240 /dev/sda
echo 0 > /proc/sys/vm/laptop_mode
echo 10 > /proc/sys/vm/dirty_ratio
echo 5 > /proc/sys/vm/dirty_background_ratio
echo 500 > /proc/sys/vm/dirty_writeback_centisecs
logger "${0}: AC adapter is ON"
}
off_ac_adapter_action() {
### 22.09.2008
### Добавил из https://nikoli.selfip.org/ru/node/417 #####
### Только заменил -S 12 на -S 24
### (переход в standby через 2 минуты вместо 1 минуты)
### и -B 96 надо менять на что-то большее, чтобы не так быстро
### увеличивался Load_Cycle_Count в выводе `smartctl -a /dev/sda`
# echo "Battery mode ON $(date +%x%t%X)" >> /var/log/start_mode.log
hdparm -B 196 -S 24 /dev/sda
echo 5 > /proc/sys/vm/laptop_mode
echo 40 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
logger "${0}: AC adapter is OFF"
}
В принципе, необязательно всё делать точно так, как у меня. Единственное, что вам нужно, это добавить
...
lid)
# xset dpms force off
pm-suspend
...
ну и, разумеется, убедиться в наличии пакета pm-utils и запущенного демона acpid.
делит
В принципе, необязательно всё делать точно так, как у меня. Единственное, что вам нужно, это добавить
...
lid)
# xset dpms force off
pm-suspend
...
а куда именно и в какое место это нужно добавить?
а куда именно и в какое место это нужно добавить?
Покажите файл /etc/acpi/default.sh
Lupo Alberto,
/etc/acpi/default.sh и /etc/acpi/function.sh содержат то, что вы привели выше)
/etc/acpi/function.sh содержат то, что вы привели выше)
У вас этого скрипта быть не может, я его сам писал wink
Покажите все файлы, находящиеся у вас в /etc/acpi
[quote=.snif]/etc/acpi/function.sh содержат то, что вы привели выше)
У вас этого скрипта быть не может, я его сам писал wink
Покажите все файлы, находящиеся у вас в /etc/acpi[/quote]
asus-brn-down.sh ejectbtn.sh lockbtn.sh powerbtn.sh sleep.sh voldownbtn.sh
asus-brn-up.sh events mailbtn.sh power.sh stopbtn.sh volupbtn.sh
asus-touchpad.sh function.sh mediabtn.sh prevbtn.sh thinkpad-stretchortouchpad.sh webbtn.sh
asus-wireless.sh hibernate.sh mutebtn.sh rotatescreen.sh tosh-wireless.sh
batterybtn.sh ibm-wireless.sh nextbtn.sh screenblank.sh undock.sh
default.sh lid.sh playbtn.sh sleepbtn.sh videobtn.sh
Покажите полностью ваш скрипт /etc/acpi/default.sh
P.S. Если не лень, заtarьте весь каталог /etc/acpi и скиньте куда-нибудь. smile
Покажите полностью ваш скрипт /etc/acpi/default.sh
P.S. Если не лень, заtarьте весь каталог /etc/acpi и скиньте куда-нибудь. smile
Попробуйте переместив куда-либо каталог /etc/acpi, скачать http://rghost.ru/4360686 и установить используемые мной скрипты. Убедитесь, что демон acpid запущен и у вас есть команда pm-suspend.
Попробуйте переместив куда-либо каталог /etc/acpi, скачать http://rghost.ru/4360686 и установить используемые мной скрипты. Убедитесь, что демон acpid запущен и у вас есть команда pm-suspend.
спасибо, работает. Там какие-то заморочки есть, раз ваши скрипты? Наверняка под вас заточены. Скажите на что обратить внимание wink
ам какие-то заморочки есть, раз ваши скрипты? Наверняка под вас заточены. Скажите на что обратить внимание wink
Не совсем, чтобы все мои :o
В function.sh я определил, как я понимал их правильными три года назад, настройки для режимов работы от сети и от батареи. Возможно, они не идеальны, их легко изменить.
Скрипт pm_switch.sh я написал, чтобы уже при включении ноутбука acpid правильно определял его состояние.
Помню, я тогда ещё добавил скрипт /etc/pm/sleep.d/03pm-switch
Показать
#!/bin/sh
# 24.09.2008
# My own specific hook to handle the suspend AC adapter state.
# TODO: Merge with 93pm-switch.
on_ac_adapter_action() {
hdparm -B 255 -S 240 /dev/sda
echo 0 > /proc/sys/vm/laptop_mode
echo 10 > /proc/sys/vm/dirty_ratio
echo 5 > /proc/sys/vm/dirty_background_ratio
echo 500 > /proc/sys/vm/dirty_writeback_centisecs
logger "${0}: AC adapter is ON"
}
#
off_ac_adapter_action() {
hdparm -B 196 -S 24 /dev/sda
echo 5 > /proc/sys/vm/laptop_mode
echo 40 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
logger "${0}: AC adapter is OFF"
}
case "$1" in
thaw|resume)
if on_ac_power
then
on_ac_adapter_action >/dev/null 2>&1
else
off_ac_adapter_action >/dev/null 2>&1
fi
;;
*)
;;
esac
#exit $NA
чтобы при пробуждении ноутбука правильно определялся его режим подключения к электросети.
Возможно, сейчас это уже и не надо... Но лень проверять :o Работает же smile
Lupo Alberto, ну спасибо smile
а что означают эти значения:
on_ac_adapter_action() {
### 22.09.2008
### Добавил из https://nikoli.selfip.org/ru/node/417 #####
# echo "Adapter mode ON $(date +%x%t%X)" >> /var/log/start_mode.log
hdparm -B 255 -S 240 /dev/sda
echo 0 > /proc/sys/vm/laptop_mode
echo 10 > /proc/sys/vm/dirty_ratio
echo 5 > /proc/sys/vm/dirty_background_ratio
echo 500 > /proc/sys/vm/dirty_writeback_centisecs
logger "${0}: AC adapter is ON"
}
это я так понимаю режим работы от сети.
hdparm -B 255 -S 240 /dev/sda — это я был напуган слухами о том, что у ноутбучных дисков ограниченное количество парковок головок, уменьшал, как мог :D
Остальные настройки связаны со снижением энергопотребления в режиме питания от батареи, но увеличением быстродействия дисковой системы при работе от сети.
Давно было...
Lupo Alberto,
а можно как то реализовать что-бы через 10 минут простоя монитор выключался? или это уже в иксы лезть надо?
или это уже в иксы лезть надо?
Да.
Почитайте man xset. Должно получиться.
Либо в самом xorg.conf настроить опции, относящиеся к DPMS.
Либо установить и настроить xscreensaver, что чуть проще.