Не работает правило udev c espeak и aplay [Решено]

Дорого времени суток. Суть проблемы следующая:
При добавлении в скрипт вызываемый udev строку "espeak --stdout "some text" | aplay" правило игнорируется. Причем после удаления этой строки из скрипта правило не работает, переименование файла скрипта не помогло. Помогло только переименование правила.

alessandro@localhost ~ $ cat /etc/udev/rules.d/66-auto-mount-flash.rules
SUBSYSTEM=="block",KERNEL=="sd[d-z][1-9]",ACTION=="add",ATTRS{removable}=="1",RUN+="/etc/udev/scripts/udev-flash-mount.bash %k %E{ID_FS_TYPE} %E{ID_FS_LABEL}"
SUBSYSTEM=="block",KERNEL=="sd[d-z][1-9]",ACTION=="remove",RUN+="/etc/udev/scripts/udev-flash-umount.bash %k %E{ID_FS_LABEL}" #это правило игнорилось
alessandro@localhost ~ $ cat /etc/udev/scripts/udev-flash-mount.bash
#!/bin/bash
LOG="/var/log/udev"
DEV=$1
FS_LABEL=$3
FS_TYPE=$2
R_DEV=`echo "$DEV" | sed 's/[1-9]//g'`
echo "$1 $2 $3" >> $LOG
if [ -z "$FS_LABEL" ]; then
  FS_LABEL=$DEV
fi
if [ $FS_TYPE = "vfat" ]; then
  opt="dirsync,flush,rw,nodiratime,iocharset=utf8,codepage=866,gid=100,umask=0000"
elif [ $FS_TYPE = "ntfs" ]; then
  opt="dirsync, flush, rw,nodiratime,nls=utf8,gid=100,umask=0000,posix=1"
elif [ $FS_TYPE  = "udf" ]; then
  opt="unhide,iocharset=utf8,dirsync,sync,gid=100,umask=0000"
else
  opt="dirsync,sync,gid=100,umask=0000"
  FS_TYPE="auto"
fi
echo "-----------`date`-----------" >> $LOG
echo "mounting a /dev/$DEV" >> $LOG
mkdir /mnt/$DEV >> $LOG 2>&1
echo "$FS_TYPE $opt" >> $LOG
mount -t $FS_TYPE -o "$opt" /dev/$DEV /mnt/$DEV >> $LOG 2>&1
echo "creating symlink" >> $LOG
ln -s /mnt/$DEV /media/"$FS_LABEL" >> $LOG 2>&1
echo "selecting a noop sheduler" >> $LOG
echo "noop" > /sys/block/$R_DEV/queue/scheduler

alessandro@localhost ~ $ cat /etc/udev/scripts/udev-flash-umount.bash
#!/bin/bash
LOG="/var/log/udev"
DEV=$1
FS_LABEL=$2
echo "sss" >> /var/log/udev
if [ -z "$FS_LABEL" ]; then
  FS_LABEL=$DEV
echo "-------------`date`------------" >> $LOG
echo "umounting /dev/$DEV" >> $LOG
umount /mnt/$DEV >> $LOG 2>&1
echo "removing mount dir and symlink" >> $LOG
rm -r /mnt/$DEV 
rm /media/"$FS_LABEL" 
echo "$1 $2" >> $LOG
# здесь была строка espeak --stdout "device removed" | aplay

Версия udev-171-r6. В /var/log ничего подозрительного нету.
Помогите определить в чем загвоздка.

UPD
udev работает в безтерминальной среде потому применение пайпа вызывает странности.

espeak собран без поддержки

espeak собран без поддержки portaudio и pulseaudio

Ubuntu это отличный livecd для установки gentoo

а если выхлоп потока stderr у

а если выхлоп потока stderr у espeak/aplay писать в файл, что там?

Нейтральность - высшее достижение сознания!

Выхлоп

Обычный пользователь:
alessandro@localhost ~ $ espeak --stdout "hale master" 2>&1 | aplay 2>&1
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
под рута:
localhost alessandro # espeak --stdout "hale master" 2>&1 | aplay 2>&1
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono

Из udev получить не удалось, скрипт на удаление флешки не отрабатывает. Строки вида "speak --stdout "hale master" | aplay" в скрипте нету

Ubuntu это отличный livecd для установки gentoo

Из экспериментов

Из прочитанного в гугле уяснил что "udev не запускает такие программы на любом активном терминале, и не запускает их в контексте оболочки (shell). Убедитесь, что ваша программа является выполняемой (executable); если это скрипт шелла, убедитесь, что он стартует с соответствующим shebang http://en.wikipedia.org/wiki/Shebang_(Unix) (например, #!/bin/sh), и не ожидайте появления на вашем терминале стандартного вывода."
Добавление строк типа
espeak --stdout "bla" > /tmp/110
aplay /tmp/110
к ошибке не приводит. Значит дело в пайпе.
И кстати переименование правила не помогает, помогает изменение самого скрипта.

Ubuntu это отличный livecd для установки gentoo

чудеса

как это ни странно но строку с говорилкой добавил и скрипт работает и говорит...

Ubuntu это отличный livecd для установки gentoo

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

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