Эмм, источник события, как вы выразились "провод" кодируется в $1 (ac_adapter, battery и тд) и всё, никаких проводов $1+$2+$3+$4. В $4 состояние этого источника 1 или 0 (включен или выключен). В $3 используется для других источников событий - например крышки ноутбука - open, closed, undefined. Зачем для ac_adapter проверять $3 не понятно. Какая информация кодируется в $3 для ac_adapter, вы знаете?
Лично у меня провод питания (ac_adapter который в $1) - только один, а у вас много?
to ind.indeviral. Я попробовал ваш подход с udev. Спасибо, работает. Но все таки хотелось бы разобраться с acpid.
Кстати если уж зашёл вопрос о энергосбережении. Есть в arch такой файл cpufreq.conf ? Чтоб на строить инфраструктуру cpufreq ?
Я понимаю, что такое $3 и case, Только вот вы уверены, что нам оно нужно? Может уже по содержанию $2 и $4 можно понять, что провод вытащили? А если строка эхо не срабатывает, то или $2 или $4 проверку не проходит, и внесение дополнительной проверки $3 ничего не изменит.
По подробнее, что за case $3? Вот пример из arch wiki
/etc/acpi/handler.sh
[...]

 ac_adapter)
     case "$2" in
         AC*)
             case "$4" in
                 00000000)
                     echo "conservative" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                     echo -n $minspeed >$setspeed
                     #/etc/laptop-mode/laptop-mode start
                 ;;
                 00000001)
                     echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
                     echo -n $maxspeed >$setspeed
                     #/etc/laptop-mode/laptop-mode stop
                 ;;
             esac
         ;;
         *) logger "ACPI action undefined: $2" ;;
     esac
 ;;

[...]
Нет там никакого case $3
Пытаюсь настроить поведение acpid при включении/выключении адаптера от сети. Добавил вот тестовый вывод в файл handler.sh

ac_adapter)
        case "$2" in
            AC|ACAD|ADP0)
                case "$4" in
                    00000000)
                        echo "We on battery" > /home/likan/powerlog
            logger 'AC unpluged'
                        ;;
                    00000001)
            echo "We on power" > /home/likan/powerlog
                        logger 'AC pluged'
                        ;;
                esac
                ;;
            *)
                logger "ACPI action undefined: $2"
                ;;
        esac
В итоге сколько бы я не втыкал-вытыкал питание никаких файлов не создается. Почему такое происходит?
Обнаружил довольно противную фичу в xmonad. Раскладка оконо tabbed или Full. В общем тайловое окно занимает весь экран. Таких оконо открыто два (будем их обозначать №1 и №2, №2 открыто позднее чем №1). Затем окрываем какое-либо окно №3 в плавающем режиме. Итак в данный момент в тайлинговом режиме открыто окно №1. Перед ним плавает маленькое окошко №3, как только я переношу фокус с №1 на №3, в тайлинге вместо №1 начинает отбражаться окно №2. Те ВМ сам автоматически переключает отображаемое в тайлинге окно на последнее открытое. Поясню скриншотами. Изначально состояние, окно №1 - терминал, №2 - ФМ, №3 - калькулятор. Фокус на №1 (http://itmages.ru/image/view/1709766/88d161f0). Далее я просто переношу курсор мыши (а вместе с ним и фокус) на калькулятор и вижу следующее - http://itmages.ru/image/view/1709767/89463196. В тайлинге ни с того ни с сего отрылся ФМ - окно №2. Есть способы бороьбы с такой ерундой?
Из под рута не сижу, руками в fstab ничего не пишу. Правило вот такое

# монтирование съемных накопителей
KERNEL=="sd[a-z]", GOTO="do-disk-rules"
KERNEL!="sd[a-z][0-9]", GOTO="end-of-file"
LABEL="do-disk-rules"
ACTION=="add", ENV{ID_USB_DRIVER}="usb-storage", GROUP="storage"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ACTION=="remove", ENV{ID_FS_TYPE}!="", RUN+="/bin/sed -i '/\/dev\/%k /d' /etc/fstab"
ACTION=="remove", ENV{ID_FS_TYPE}!="", RUN+="/bin/rmdir /media/$env{ID_FS_TYPE}-%k"
ACTION=="add", ENV{ID_FS_TYPE}!="", RUN+="/bin/mkdir -p /media/$env{ID_FS_TYPE}-%k"
# монтирование раздела fat32
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", RUN+="/bin/sed -i '$a\/dev/%k /media/$env{ID_FS_TYPE}-%k vfat rw,noauto,noatime,dmask=022,user,fmask=133,iocharset=koi8-r 0 0' /etc/fstab"
# монтирование раздела ntfs
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", RUN+="/bin/sed -i '$a\/dev/%k /media/$env{ID_FS_TYPE}-%k ntfs-3g rw,noauto,dmask=000,fmask=111,user,locale=ru_RU.koi8-r,allow_other 0 0' /etc/fstab"
# монтирование прочих ФС
ACTION=="add", ENV{ID_FS_TYPE}!="", ENV{ID_FS_TYPE}!="ntfs|vfat", RUN+="/bin/sed -i '$a\/dev/%k /media/$env{ID_FS_TYPE}-%k $env{ID_FS_TYPE}  defaults,user 0 0' /etc/fstab"
LABEL="end-of-file"
akorop, ну вот представте себе, воткнули вы флешку, появилась новая ФС запись в ФМ dev-sdc1. Нажали "размонтировать", - запись осталась. Воткнули ещё раз, появилась ЕЩЁ ОДНА запись dev-sdc1. И так далее. Так вот, после перезагрузик (а точнее во время), начинаются сыпаться ошибки, так как система пытается примонтировать все эти sdc1 (не важно воткнута там флешка, или нет), согласитесь не очень приятно. Как я понял принцип действия этого правила для udev, то при втыкании флешки создается запись в fstab, при извлечении запись должна удалиться, так вот у меня - не удаляется. Или я неправильно понял смысл этого правила?
Да уже пробовал, работает омерзительно, старые записи не удаляются. Вот и висист 100500 недоотмонтированных фс в фм. В /etc/fstab тоже после отмонтирования у-ва запись не удалятеся. Не зря англоязычная вики говорит отказаться от этого способа.
да установлен. С ним правда вывод немного другой

$ thunar --daemon

(thunar-volman:990): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
thunar-volman: Неподдерживаемое устройство USB.

(thunar-volman:999): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
thunar-volman: Неподдерживаемое устройство USB.

(thunar-volman:1008): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
thunar-volman: Неизвестный тип блочного устройства.

(thunar-volman:1012): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
thunar-volman: Не удалось обнаружить том, соответствующий устройству.

(thunar-volman:1017): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
thunar-volman: Не удалось обнаружить том, соответствующий устройству.