HAL+USB Flash (Проблема с кириллицей)

Модератор: Модераторы разделов

Аватара пользователя
Vasily_Shmelyov
Сообщения: 88
ОС: Ubuntu

HAL+USB Flash

Сообщение Vasily_Shmelyov »

Для автомонтирования флэшки(FAT32) использую Volume Management в Thunar + HAL . HAL настроил как указано в вики. Однако флэшка монтируется с неправильными настройками - вместо кириллицы какие-то кракозяблы. Если в /etc/fstab добавить строчку с настройками для флэшки(codepage,iocharset), то монтируется нормально, однако мне кажется это как-то не кошерно. Как решить эту проблему?
HAL - 0.5.10-1
dbus - 1.0.2-4
Thunar - 0.8.0-5
The pessimist says the glass is half empty.
The optimist says the glass is half full.
The engineer says the container is twice as large as it needs to be.
The physicist says the glass is neither. It is completely full, half with water, the other half with air.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

Vasily_Shmelyov писал(а):
12.11.2007 23:43
Для автомонтирования флэшки(FAT32) использую Volume Management в Thunar + HAL. HAL настроил как указано в вики. Однако флэшка монтируется с неправильными настройками - вместо кириллицы какие-то кракозяблы. Если в /etc/fstab добавить строчку с настройками для флэшки(codepage,iocharset), то монтируется нормально, однако мне кажется это как-то не кошерно. Как решить эту проблему?
HAL - 0.5.10-1
dbus - 1.0.2-4
Thunar - 0.8.0-5


У меня аналогично. Насколько я в этом ничего не понимаю, что-то надо патчить. Информация к размышлению:

Автомонтирование usb flash

Автомонтирование CD в KDE

http://archlinux.org.ru/forum/index.php/topic,392.0.html
Спасибо сказали:
Аватара пользователя
Vasily_Shmelyov
Сообщения: 88
ОС: Ubuntu

Re: HAL+USB Flash

Сообщение Vasily_Shmelyov »

http://bugzilla.xfce.org/show_bug.cgi?id=2891
Это глюк exo. Судя по всему проблема не решена на данный момент.
The pessimist says the glass is half empty.
The optimist says the glass is half full.
The engineer says the container is twice as large as it needs to be.
The physicist says the glass is neither. It is completely full, half with water, the other half with air.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

Vasily_Shmelyov писал(а):
13.11.2007 19:17
http://bugzilla.xfce.org/show_bug.cgi?id=2891
Это глюк exo. Судя по всему проблема не решена на данный момент.

Спасибо, прояснили ситуацию. Придётся пока через fstab.
Спасибо сказали:
Аватара пользователя
Goodwin
Сообщения: 149
ОС: Slackware 13.0

Re: HAL+USB Flash

Сообщение Goodwin »

Чтобы заработало нормальное монтирование с русским языком, надо перекомпилить ядро. Для FAT надо указать кодировки:

File systems -> DOS/FAT/NT Filesystems ->

Код: Выделить всё

<M> MSDOS fs support
<M> VFAT (Windows-95) fs support
(866) Default codepage for FAT
(utf8) Default iocharset for FAT
Химические реакции, протекающие в большинстве голов, никак нельзя назвать мышлением.
Спасибо сказали:
Аватара пользователя
Vasily_Shmelyov
Сообщения: 88
ОС: Ubuntu

Re: HAL+USB Flash

Сообщение Vasily_Shmelyov »

Это было первое что пришло мне в голову, однако такой вариант не совсем удобен. Придется или не обновлять ядро совсем или после каждого обновления перекомпилировать его снова.
The pessimist says the glass is half empty.
The optimist says the glass is half full.
The engineer says the container is twice as large as it needs to be.
The physicist says the glass is neither. It is completely full, half with water, the other half with air.
Спасибо сказали:
Аватара пользователя
Vasily_Shmelyov
Сообщения: 88
ОС: Ubuntu

Re: HAL+USB Flash

Сообщение Vasily_Shmelyov »

Есть решение этой проблемы для exo 0.3.2-5, из extra/xfce.

1.

Код: Выделить всё

$ mkdir /var/abs/local/exo && cd /var/abs/local/exo

Берем PKGBUILD и exo.install и сохраняем в /var/abs/local/exo .

2.
Вот здесь есть исходный патч для exo: https://bugzilla.altlinux.org/show_bug.cgi?id=11167
Пришлось его слегка подточить, потому что у меня, как оказалось, cd-rom с кирилиицей не дружил даже с этим патчем.

Код:

diff -Naur src2/exo-0.3.2/exo-mount/exo-mount-hal.c src/exo-0.3.2/exo-mount/exo-mount-hal.c --- src2/exo-0.3.2/exo-mount/exo-mount-hal.c 2007-01-20 05:58:22.000000000 -0800 +++ src/exo-0.3.2/exo-mount/exo-mount-hal.c 2007-11-14 23:07:19.000000000 -0800 @@ -34,6 +34,8 @@ #include <unistd.h> #endif +#include <langinfo.h> + #include <libhal-storage.h> #include <exo-hal/exo-hal.h> @@ -616,6 +618,30 @@ /** + * exo_mount_hal_iocharset: + * + * Determines the preferred iocharset for filesystems + * that support it. + * + * Return value: iocharset string or %NULL if none. + **/ +static const gchar* +exo_mount_hal_iocharset () +{ + const gchar* cs = g_getenv("EXO_MOUNT_IOCHARSET"); + if (cs != NULL) + return cs; + + const char* codeset = nl_langinfo (CODESET); + if (codeset && !strcmp (codeset, "UTF-8")) + return "utf8"; + + return NULL; +} + + + +/** * exo_mount_hal_device_mount: * @device : an #ExoMountHalDevice. * @error : return location for errors or %NULL. @@ -676,6 +702,15 @@ /* however this one is FreeBSD specific */ options[n++] = g_strdup ("longnames"); } + else if (strcmp (device->fsoptions[m], "iocharset=") == 0) + { + const gchar* iocharset = exo_mount_hal_iocharset(); + if (iocharset != NULL) + { + options[n++] = g_strdup_printf ("iocharset=%s", iocharset); + if (strcmp (iocharset,"utf8")) options[n++] = g_strdup_printf ("utf8"); + } + } } } diff -Naur src2/exo-0.3.2/exo-mount/main.c src/exo-0.3.2/exo-mount/main.c --- src2/exo-0.3.2/exo-mount/main.c 2007-01-20 05:58:22.000000000 -0800 +++ src/exo-0.3.2/exo-mount/main.c 2007-11-14 22:54:43.000000000 -0800 @@ -39,6 +39,8 @@ #include <string.h> #endif +#include <locale.h> + #include <glib/gstdio.h> #include <exo-hal/exo-hal.h> @@ -97,6 +99,8 @@ /* initialize the i18n support */ xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); + setlocale(LC_CTYPE, ""); + /* initialize GTK+ */ if (!gtk_init_with_args (&argc, &argv, "Xfce mount", entries, GETTEXT_PACKAGE, &err)) {
сохраняем как /var/abs/local/exo/exo-uni.patch

3.
Правим /var/abs/local/exo/PKGBUILD

Код: Выделить всё

................
build() {
  cd ${startdir}/src/${pkgname}-${pkgver}
  patch -p2 < ../../exo-uni.patch
  ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/xfce4 \
................


4.

Код: Выделить всё

$ makepkg -i

И устанавливаем pacman'ом полученный пакет.

В результате у меня и cd-rom и usb флэшка монтируются с нормальными русскими буквами.
The pessimist says the glass is half empty.
The optimist says the glass is half full.
The engineer says the container is twice as large as it needs to be.
The physicist says the glass is neither. It is completely full, half with water, the other half with air.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

Vasily_Shmelyov писал(а):
15.11.2007 00:52
Есть решение этой проблемы для exo 0.3.2-5, из extra/xfce.
...
В результате у меня и cd-rom и usb флэшка монтируются с нормальными русскими буквами.

Спасибо!
Попробовал usb флэшку - работает. Диска с русскими буковками пока не нашёл, но, судя по всему, проблем не будет. :thumbs:
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: HAL+USB Flash

Сообщение sda »

только один вопрос: игнорирование AutoFS это по незнанию или из идейных соображений?
http://wiki.archlinux.org/index.php/AutoFS_HowTo

Код: Выделить всё

> cat /etc/autofs/auto.media

cdrom -fstype=auto,ro,nodev,nosuid,utf8 :/dev/sr0
dvd -fstype=auto,ro,nodev,nosuid,utf8 :/dev/sr1
floppy -fstype=auto,async,nodev,nosuid,umask=000,utf8 :/dev/fd0
usbstick -fstype=auto,async,nodev,nosuid,umask=000,utf8 :/dev/sdd1
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

sda писал(а):
15.11.2007 12:43
только один вопрос: игнорирование AutoFS это по незнанию или из идейных соображений?
http://wiki.archlinux.org/index.php/AutoFS_HowTo

В этой статье две части - одна про AutoFS, другая про XFCE, with Thunar
Будут ли они работать вместе...
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: HAL+USB Flash

Сообщение sda »

поскольку не использую WM-ов кроме E16 и E17 - то не могу ничего сказать по этому поводу. пользуя же AutoFS ещё не сталкивался с проблемами монтирования сторонних девайсов. есть правда момент - это команда eject на размонтирование (т.е. не по "кнопке" на cd/dvd девайсах) - но её применение списываю сугубо на свою лень.
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

И насколько серьезна эта проблема?
Я в arch новичок.Прочитал что положено.
Все монтируется,с русским,английским и немецким?
У меня 3 девайса и все подключаются по USB 2.0,
4 подключается по firewire -это vidiocamera.
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

Vasily_Shmelyov писал(а):
12.11.2007 23:43
Для автомонтирования флэшки(FAT32) использую Volume Management в Thunar + HAL . HAL настроил как указано в вики. Однако флэшка монтируется с неправильными настройками - вместо кириллицы какие-то кракозяблы. Если в /etc/fstab добавить строчку с настройками для флэшки(codepage,iocharset), то монтируется нормально, однако мне кажется это как-то не кошерно. Как решить эту проблему?
HAL - 0.5.10-1
dbus - 1.0.2-4
Thunar - 0.8.0-5

У меня все это стоит и все нормально работает.
Все работает по дефолту.
Где-то то вы перемудрили товарищ?
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

fonya писал(а):
15.11.2007 22:06
HAL - 0.5.10-1
dbus - 1.0.2-4
Thunar - 0.8.0-5

У меня все это стоит и все нормально работает.
Все работает по дефолту.

Покажите, плиз, rc.conf, fstab и скриншот десктопа (с подключенной флешкой в Thunar-e), что бы было видно, что и как именно у Вас работает.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

Vasily_Shmelyov писал(а):
15.11.2007 00:52
Есть решение этой проблемы для exo 0.3.2-5, из extra/xfce.
...

Эх, как бы это переделать под

Код: Выделить всё

exo 0.3.4-1
Спасибо сказали:
Аватара пользователя
Vasily_Shmelyov
Сообщения: 88
ОС: Ubuntu

Re: HAL+USB Flash

Сообщение Vasily_Shmelyov »

Приду домой, посмотрю если время будет (сессия подходит всеж-таки), может чего и накопаю. Хотя эта возня уже начала утомлять. Чувствую скоро плюну я на Xfce.
The pessimist says the glass is half empty.
The optimist says the glass is half full.
The engineer says the container is twice as large as it needs to be.
The physicist says the glass is neither. It is completely full, half with water, the other half with air.
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

sirocco писал(а):
16.11.2007 07:10
fonya писал(а):
15.11.2007 22:06
HAL - 0.5.10-1
dbus - 1.0.2-4
Thunar - 0.8.0-5

У меня все это стоит и все нормально работает.
Все работает по дефолту.

Покажите, плиз, rc.conf, fstab и скриншот десктопа (с подключенной флешкой в Thunar-e), что бы было видно, что и как именно у Вас работает.

Вот можно посмотреть
http://slil.ru/25225862
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
Vasily_Shmelyov
Сообщения: 88
ОС: Ubuntu

Re: HAL+USB Flash

Сообщение Vasily_Shmelyov »

Наверное это чудо. Ни у кого же не работает... А в виндовсе вы не пробовали смотреть эту флэшку? Там-то буковки нормальные?
The pessimist says the glass is half empty.
The optimist says the glass is half full.
The engineer says the container is twice as large as it needs to be.
The physicist says the glass is neither. It is completely full, half with water, the other half with air.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

fonya писал(а):
12.12.2007 17:16
Вот можно посмотреть
http://slil.ru/25225862

При автомонтировании в XFCE4 флэшка (и CD и DVD) монтируется в /media/disk
У Вас /mnt/flash
Так какими средствами Вы монтируете?
(Думаю, что было бы видно из rc.conf и fstab)
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

Как делать патчи я не знаю.
Скачал http://www.xfce.org/archive/xfce-4.4.2/src/exo-0.3.4.tar.bz2
С помощью exo-uni.patch вручную подкорректировал
/exo-mount/exo-mount-hal.c
/exo-mount/main.c
(изменений там где патчится не заметил).
Собрал, установил - пока работает. Конечно, грубо и топорно, но разбирать весь код "не хочу и не могу" (с).

Если ткнёте, как собирать .patch, могу и выложить.
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

Vasily_Shmelyov писал(а):
12.12.2007 20:26
Наверное это чудо. Ни у кого же не работает... А в виндовсе вы не пробовали смотреть эту флэшку? Там-то буковки нормальные?

Да нормально.Точно также.
Если я создаю файлы с русскими именами в Linux,то и в виндоису видяться они русскими.
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

sirocco писал(а):
13.12.2007 06:52
fonya писал(а):
12.12.2007 17:16
Вот можно посмотреть
http://slil.ru/25225862

При автомонтировании в XFCE4 флэшка (и CD и DVD) монтируется в /media/disk
У Вас /mnt/flash
Так какими средствами Вы монтируете?
(Думаю, что было бы видно из rc.conf и fstab)

А это принципиально?Должно монтироваться именно в media.
Если я вставляю диск,флэш, dvd у меня или открывается thunar, или начинает играть музыка, или video.
А на рабочем столе появляются значки дисков.Я их отключаю так: по значку правой кнопкой отключить
извлечь.Вот и все мои действия.
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

fonya писал(а):
13.12.2007 11:29
А это принципиально?Должно монтироваться именно в media.

Нет, конечно, не принципиально.

Но всё же перечитайте стартовое сообщение, особенно это место:
Vasily_Shmelyov писал(а):
12.11.2007 23:43
Если в /etc/fstab добавить строчку с настройками для флэшки(codepage,iocharset), то монтируется нормально, однако мне кажется это как-то не кошерно.
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

sirocco писал(а):
13.12.2007 12:48
fonya писал(а):
13.12.2007 11:29
А это принципиально?Должно монтироваться именно в media.

Нет, конечно, не принципиально.

Но всё же перечитайте стартовое сообщение, особенно это место:
Vasily_Shmelyov писал(а):
12.11.2007 23:43
Если в /etc/fstab добавить строчку с настройками для флэшки(codepage,iocharset), то монтируется нормально, однако мне кажется это как-то не кошерно.


Я это внимательно прочитал,но не написано куда монтируется?в media & /mnt
И в чем не кошерность если flash монтируется в /mnt,а не в media?
Вот вам скрин из под win
http://slil.ru/25231277
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

fonya писал(а):
13.12.2007 19:39
И в чем не кошерность

Не кошерность в том, что при использовании hal и автомонтирования в fstab не должно быть записей о съёмных носителях. Попробуйте, например, подключить сразу две-три флэшки. У меня, если что, работает.
А как у Вас, кстати, с монтированием CD/DVD (с файлами именованными всё той же кириллицей)?
Спасибо сказали:
Аватара пользователя
fonya
Сообщения: 203
ОС: linux

Re: HAL+USB Flash

Сообщение fonya »

sirocco писал(а):
14.12.2007 06:59
fonya писал(а):
13.12.2007 19:39
И в чем не кошерность

Не кошерность в том, что при использовании hal и автомонтирования в fstab не должно быть записей о съёмных носителях. Попробуйте, например, подключить сразу две-три флэшки. У меня, если что, работает.
А как у Вас, кстати, с монтированием CD/DVD (с файлами именованными всё той же кириллицей)?

Подключаю две все работает.
У меня да в fstab все прописано,это удобней.
Один раз прописал и забыл,у меня так и мульти ридер пашет через usb.
Вставляю 3 карты одновременно все видно,четыре одновременно не пробовал.
С CD/DVD не пробовал,потому что все бэкапы делаю на внешний винт,через usb.
Как попробую отпишусь.
Локаль у меня UTF-8
Я не волшебник,я только учусь,но дружба помогает делать настоящие чудеса!
Особенно в *nix.
Спасибо сказали:
Аватара пользователя
(asper
Бывший модератор
Сообщения: 1661
Статус: nano vi sed awk !
ОС: Работает как часы !

Re: HAL+USB Flash

Сообщение (asper »

sirocco писал(а):
13.12.2007 10:04
Если ткнёте, как собирать .patch, могу и выложить.

man diff
diff -Nuar old/<старый файл> new/<новый файл> > <файл>.patch
Результат этой команды и есть пэтч.
Всё просто.
Сомнительно доброе привидение
Спасибо сказали:
Аватара пользователя
sirocco
Сообщения: 782
Статус: Задвинутый соучастник

Re: HAL+USB Flash

Сообщение sirocco »

Дополнение к сообщению Vasily_Shmelyov
HAL+USB Flash #7

А для получения свежего исходного PKGBUIL лучше сделать
abs
и в
/var/abs/extra/xfce4/exo
получим PKGBUIL и exo.install
Далее по вышеупомянутой инструкции

Код:

diff -Naur src2/exo-0.3.4/exo-mount/exo-mount-hal.c src/exo-0.3.4/exo-mount/exo-mount-hal.c --- src2/exo-0.3.4/exo-mount/exo-mount-hal.c 2007-12-02 18:33:44.000000000 +0600 +++ src/exo-0.3.4/exo-mount/exo-mount-hal.c 2007-12-13 12:30:01.000000000 +0600 @@ -34,6 +34,8 @@ #include <unistd.h> #endif +#include <langinfo.h> + #include <libhal-storage.h> #include <exo-hal/exo-hal.h> @@ -616,6 +618,30 @@ /** + * exo_mount_hal_iocharset: + * + * Determines the preferred iocharset for filesystems + * that support it. + * + * Return value: iocharset string or %NULL if none. + **/ +static const gchar* +exo_mount_hal_iocharset () +{ + const gchar* cs = g_getenv("EXO_MOUNT_IOCHARSET"); + if (cs != NULL) + return cs; + + const char* codeset = nl_langinfo (CODESET); + if (codeset && !strcmp (codeset, "UTF-8")) + return "utf8"; + + return NULL; +} + + + + /** * exo_mount_hal_device_mount: * @device : an #ExoMountHalDevice. * @error : return location for errors or %NULL. @@ -676,6 +702,15 @@ /* however this one is FreeBSD specific */ options[n++] = g_strdup ("longnames"); } + else if (strcmp (device->fsoptions[m], "iocharset=") == 0) + { + const gchar* iocharset = exo_mount_hal_iocharset(); + if (iocharset != NULL) + { + options[n++] = g_strdup_printf ("iocharset=%s", iocharset); + if (strcmp (iocharset,"utf8")) options[n++] = g_strdup_printf ("utf8"); + } + } } } diff -Naur src2/exo-0.3.4/exo-mount/main.c src/exo-0.3.4/exo-mount/main.c --- src2/exo-0.3.4/exo-mount/main.c 2007-12-02 18:33:44.000000000 +0600 +++ src/exo-0.3.4/exo-mount/main.c 2007-12-13 12:31:22.000000000 +0600 @@ -39,6 +39,8 @@ #include <string.h> #endif +#include <locale.h> + #include <glib/gstdio.h> #include <exo-hal/exo-hal.h> @@ -97,6 +99,8 @@ /* initialize the i18n support */ xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); + setlocale(LC_CTYPE, ""); + /* initialize GTK+ */ if (!gtk_init_with_args (&argc, &argv, "Xfce mount", entries, GETTEXT_PACKAGE, &err)) {
Спасибо сказали:
zoomlin
Сообщения: 24

Re: HAL+USB Flash

Сообщение zoomlin »

А не подскажете как сделать для kdemod3+hal?
Спасибо сказали:
burlunder
Сообщения: 9

Re: HAL+USB Flash

Сообщение burlunder »

есть уже пропатченное решение:
yaourt -S exo-alt

З.Ы. сам долго парился с данной проблемой, пока случайно не услышал про этот пакет.
Спасибо сказали: