LINUX.ORG.RU

KDE, ntfs-3g, automount


0

0

При втыкании внешнего USB HDD с ntfs-разделом и монтировании средствами KDE на примонтированом разделе не отображаются файлы и папки с русскими именами (также нельзя создать файлы с кирилицей в имени). Как в KDE можно настроить чтобы при монтировании передавался правильный параметр locale?

Система: Kubuntu 7.10

PS. Вначале даже не хотело монтироваться (не помню что писало - винт этот на работе) оказалось нужно было убрать какую-то галочку в свойствах ярлыка устройства.

Хмм.

Для разделов ntfs-3g, монтируемых через fstab, эта проблема решается установкой параметра locale=ru_RU.UTF-8.

Попробуй вот что: открой из-под рута файл /usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi, найди строку "ntfs". За ней будет строка:

<append key="volume.mount.valid_options" type="strlist">locale=</append>

В ней надо заменить locale= на locale=ru_RU.UTF-8.

Sikon ★★★
()
Ответ на: комментарий от Sikon

Пробовал. По ходу KDE пофигу что там написано, оно монтирует со своими параметрами, а с какими - хз.

С какой только locale я не моунтил вручную (en_US.utf8, en_US.UTF-8, ru_RU.utf8, ru_RU.UTF-8 или совсем без locale) всегда видно файлы с русскими именами. Как монтирует KDE, что не видно русских файлов я не пойму.

Может кто-то подскажет как можно посмотреть locale, с которым примонтирован раздел (mount его не показывает)?

anti_social
() автор топика
Ответ на: комментарий от anti_social

> С какой только locale я не моунтил вручную (en_US.utf8, en_US.UTF-8, ru_RU.utf8, ru_RU.UTF-8 или совсем без locale) всегда видно файлы с русскими именами. Как монтирует KDE, что не видно русских файлов я не пойму.

Проблема самих кедов.

Набери в гугле "ubuntu usb flash русский", там где-то было как это лечить. Лечится насколько я понял чуть ли не пересборкой кедов :(

anonymous
()

Решение - костыль
говорим системе, чтобы при нахождении ntfs раздела использовала ntfs-3g. За это отвечает скрипт
/etc/hal/fdi/policy/ntfs-3g.fdi

Код:

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
<device>
<match key="volume.fstype" string="ntfs">
<merge key="volume.fstype" type="string">ntfs-3g</merge>
<merge key="volume.policy.mount_filesystem" type="string">ntfs-3g</merge>
</match>
</device>


</deviceinfo>


Так как вся эта связка из HAL, DBUS, Ivman, kde media mounter (или как его там) нифига не могут между собой до конца разобраться, то мы им помогаем.

Меняем /sbin/mount.ntfs-3g (что есть просто симлинк на бинарник /bin/mount.ntfs-3g) на простейший bash скрипт
Код:

#!/bin/bash
/bin/ntfs-3g -o locale=ru_RU.UTF-8 $1 $2

который незаметно для всех чётко и ясно говорит, какую локаль надо использовать.... Всё после этого замечательно работает.
ЗЫ: Да, не забудте сделать его исполняемым

Unnamed_Hero ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.