On Sun, Feb 20, 2005 at 05:37:56PM +0300, Vitaly Lipatov wrote: > On Friday 18 February 2005 20:16, Vitaly Lipatov wrote: > > Проще всего умолчания о кодировках передавать через команду > > mount, поскольку большинство операций монтирования происходит > > через неё. > Выпущен первый релиз библиотеки libnatspec (ушла в Incoming) > До появления в Сизифе можно скачать пакеты на > ftp://ftp.altlinux.ru/pub/people/lav/natspec Народ, по-моему, вы маетесь ...... Задача в большинстве случаев не определить "кодировку файловой системы", так как в тех файловых систем, для которых этот параметр имеет смысл (в первую очередь - варианты FAT и ISO), уже давно используется (двухбайтный) ЮНИКОД. Задача СОГЛАСОВАТЬ эту кодировку (ЮНИКОД) с кодировкой _пользователя_. А это, извините, совсем другая задача. В общем случае, не решаемая, так как налицо явная нестыковка "системного" и "пользовательского" уровня обработки данных. "Системная" кодировка со всей необходимостью одна (постольку поскольку у нас разделяемый fstab). А вот "пользовательских" кодировок может быть до черта извините, хоть каждое новое приложение в своей локали пускать, делов-то. Не говоря уже о нескольких пользователях, одновременно имеющих сеансы в системе. Единственным решением, которое худо-бедно может претендовать на некоторую универсальность (ну, помимо банального использования содержимого /etc/sysconfig/i18n) является организация (через dbus, вестимо, куда ж нынче без него) _обратной связи_ между HAL и пользовательским сеансом. То есть, сценарий использования примерно таков: HAL, почуяв устройство с подходящей файловой системой, кидает броадкаст сообщение, о том, что-де, обнаружен FAT или там NTFS или еще какой ISO9660 позорный, требуется указать, как его монтировать. Соответствующий _пользовательский_ процесс, запущенный при старте сеанса, сверяется с какой-либо своей настройкой (например, получает значение LC_CTYPE, как вариант или еще что) и отвечает HAL'у, что-де так и так, предпочитаемая локаль пользователя такая-то и такая-то, использовать такой-то и такой-то чарсет для конвертации данных. Да-да, я уже слышу за спиной шаги тех, кто угрожает порвать меня с такими решениями на четырехцветный флаг. Поэтому и предлагается не маяться ...... и попросту забить параметр в /etc/sysconfig/i18n, а на основании этого параметра формировать настройки HAL'у. Будет работать для 90% случаев, по крайней мере. С уважением, Алексей Морозов.