On 2009.02.24 at 18:35:32 +0700, marouder wrote: > > #!/bin/sh > > env > /tmp/antiword.$$.env > > locale charmap >> /tmp/antiword.$$.env > > exec antiword "$@" > > > > и по мере индексирования смотреть в появляющиеся файлики > > /tmp/antiword.NNNNN.log > > Проделал, как рекомендовали, в /tmp/antiword...есть строки > ... > LINGUAS=ru_RU.UTF-8 > LANG=C ~~~~~~~~~ Вот тут-то он и прячется. antiword, как и положено честному консольному приложению, скорее всего реагирует на LC_ALL, если её нет, то на LC_CTYPE, если её нет, то на LANG. А LINGUAS и GDB_LANG ему пофиг. > странно в /etc/environment задано: > LANG="ru_RU.UTF-8"
Это - для интерактивных логинов (и то, по-моему уже не для всех). А демонам оно не указ. > и от имени пользователя $ env $LANG выдает ru_RU.UTF-8 > Получается, что фильтр отрабатывает немного с другой локалью? Угу. Немного. C. > У процесса-потомка beagled меняется локаль? Можно посмотреть какая локаль у самого beagled. В /proc/<pid beagled>/environ И если там она тоже C или вообще отстутствует, попробовать её явным образом выставить в том скрипте, откуда он запускается. Либо можно оставить в качестве индексилки вордовых файлов скрипт, выкинув оттуда сохранение логов и добавив вместо него принудительное выставление LANG #!/bin/sh LANG=ru_RU.UTF-8 exec antiword "$@" -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

