Использующим koi8-r (возможно и для cp-1251) локаль посвящается.Новые КДЕ (4-е которые) потеряли возможность для флэшек, дисков и т.п. указывать (и запоминать) кодировку для vfat разделов.
Симптомы: вставляем носитель в USB порт, выскакивает вопрос о монтировании. После монтирования вместо русских имен файлов видим кракозябры.
Решение:
создаем файл
/etc/hal/fdi/policy/20thirdparty/10-my-fsops.fdi следующего содержания:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="volume.fstype" string="vfat">
<match key="@block.storage_device:storage.hotpluggable" bool="true">
<merge key="volume.fstype" type="string">mvfat</merge>
<merge key="volume.policy.mount_filesystem" type="string">mvfat</merge>
<merge key="volume.mount.valid_options" type="strlist">utf8</merge>
<merge key="volume.mount.valid_options" type="strlist">shortname=</merge>
<merge key="volume.mount.valid_options" type="strlist">codepage=</merge>
<merge key="volume.mount.valid_options" type="strlist">iocharset=</merge>
<merge key="volume.mount.valid_options" type="strlist">umask=</merge>
<merge key="volume.mount.valid_options" type="strlist">dmask=</merge>
<merge key="volume.mount.valid_options" type="strlist">fmask=</merge>
<merge key="volume.mount.valid_options" type="strlist">uid=</merge>
<merge key="volume.mount.valid_options" type="strlist">flush</merge>
</match>
</match>
</device>
</deviceinfo>
Создаем еще файлик
/sbin/mount.mvfat с наполнением:
#!/bin/sh
dev=$1
mpoint=$(echo $2 | sed -e 's/\//\/\//')
shift
shift
eval mount -t vfat $dev $mpoint $@,quiet,iocharset=koi8-r,codepage=1251,showexec,umask=0,flush
и
делаем его исполняемым.Перегружаем hal (/etc/rc.d/rc.hald restart) и (возможно) KDE.
Теперь, для монтировании носителя с vfat будет использоваться наш скриптик, в котором указаны опции монтирования.
Наслаждаемся
"No! Try not! Do. Or do not. There is no try." -- Yoda