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

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://gq.net.ru/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.

RSS feed | Trackback URI

2 Comments »

Comment by h4tr3d
2007-11-29 19:23:26

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

Comment by GQ
2007-12-05 20:57:38

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

 
 
Name (required)
E-mail (required - never shown publicly)
URI
Subscribe to comments via email
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.

Trackback responses to this post