Патч для KDE 3.5 заставляющий его использовать опции монтирования из настроек HAL

Note: This info is outdated.
Внимание: Эта информация устарела.

English version below.
В общем написал я патч для этого зверя.
Патч не совсем честный, просто потому, что честного метода похоже не существует (точнее он заключается в том, чтобы задавать параметры в настройках KDE, а не в HAL, но возможность их задавать появится только в KDE 4). Тем не менее подожду еще немного (может из списка рассылки ответят-таки) и попробую протолкнуть его в дебиановский пакет для Etch. Типа “non-utf8-non-latin1 speaking communities need it very-very much”.
Для того, чтобы KDE монтировал флэшки (и другие носители) с iocharset, а не с utf8 должен стоять пропатченный пакет kdebase-kio-plugin и в настройках HAL должно быть следующее (эти настройки, кстати, заставляют pmount-hal, gnome и ivman монтировать носители с правильной кодировкой):

root@vice:~# cat /etc/hal/fdi/policy/codepage.fdi
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="volume.fstype" string="vfat">
<merge key="volume.policy.mount_option.iocharset=koi8-r" type="bool">true</merge>
<merge key="volume.policy.mount_option.codepage=866" type="bool">true</merge>
</match>
</device>
</deviceinfo>

После добавления строчек надо не забыть перезапустить HAL.
В принципе можно там дописать еще каких-нить опций, но учтите, что опции можно только добавлять к тем, которые устанавливает KDE (отменять можно только опцию utf8 – она сбрасывается, если среди опций встречается iocharset). Сделано так просто потому, что вменяемого способа работы с ключами в libhal-storage нету, а добавлять проверку к каждой опции мне показалось излишним.
Патч: 40_use_hal_mountoptions.diff
Пакет, собранный для Debian Etch:

  • kdebase-kio-plugins

Также пришлось обновить, чтобы не было проблем по зависимостям:

  • kcontrol
  • kdebase-bin
  • kdesktop
  • kfind
  • konqueror

Все эти и другие пакеты (которые тоже может потребоваться обновить) ставятся из репозитория
deb http://gerasiov.net/debian etch kdebase
Upd: Чуть-чуть поправил патч. Теперь не обязательно задавать uft8=false – он сам понимает, что надо отключить uft8, если встречает “iocharset=”.
Upd2: Обновил пакеты и переместил их в репозиторий unstable.
Upd3: Переместил пакеты в репозиторий stable/etch, секция kdebase.
I wrote patch, which force kdebase to use mount options from HAL’s policy.mount_option. See above for example (there I set iocharset and codepage). Patch is avaible here: 40_use_hal_mountoptions.diff. Patched packages for Debian Etch and Lenny are available in my repository.

4 thoughts on “Патч для KDE 3.5 заставляющий его использовать опции монтирования из настроек HAL”

  1. К сожалению опции в hal, начиная с версии 0.5.10 – DEPRECATED и никакой замены не нашел… скоро уберут 🙁

    1. Деприкейтед-то оно существенно давно. Но пока не убрали. А в KDE4 будет соответствующая глобальная настройка. По крайней мере обещали, что получится на деле – хрен его знает.

Leave a Reply

Your email address will not be published. Required fields are marked *