Я хотел бы настроить действие кнопки питания. Учебное пособие по http://blog.metalight.dk/2010/07/ubuntu-lucid-custom-power-button-event/ работает, но не всегда (количество процессов выключения может иногда быть разным) .
Мне нужно решение, в котором
Как бы вы написали код для этого? ФАЙЛ: /etc/acpi/powerbtn.sh
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
# you need to double 'click' the power button to shutdown
( if ! [ $(pidof -x powerbtn.sh | wc -w) -eq 3 ]; then
sleep .4
exit
else
poweroff
fi
) &
Количество процессов не должно быть разным. Вы должны помнить при подсчете pids, чтобы включить сам скрипт и созданный подпроцесс.
Я создал следующее, которое должно работать в соответствии с вашими требованиями. Вы должны изменить время ожидания в зависимости от того, насколько быстро вы хотите нажать несколько кнопок.
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
timeout=0.8
pid_count=$(pidof -x powerbtn.sh | wc -w)
( if [ $pid_count -eq 4 ]; then
sleep $timeout
/etc/acpi/sleep.sh
else
sleep $timeout
pid_count_now=$(pidof -x powerbtn.sh | wc -w)
if [ $pid_count_now -eq 2 ] && [ $pid_count -eq 2 ]; then
poweroff
fi
exit
fi
) &