Автор Тема: А теперь правильная русификация (бета, будем дополнять)  (Прочитано 40212 раз)

Fugokker

  • Гость
Ну вот, накликал беду на свою голову
« Ответ #45 : 16 Октябрь 2010, 12:41:34 »
не, нинадо теорию гонять, попробуйте, потом пишите.

Придётся пробовать, с другой стороны, протестировал бы этот случай тот, у кого соответствующие настройки выставлены. Мне сложновато охватить-то все возможные случаи.

если загрузочный не монтируется с норм именами то  тогда ваще о чем может реч идти.

Да монтируется он, не слушаете вы меня...

я серьезно если зря лежит то тогда более 30ти локалей были зря сработаны в отдельный initrd

У автора функция locale_id(), если помните, ищет локаль, которая по умолчанию, в каталоге /usr/lib/locale. Вот он и накрутил этих образов с локалями для каждого языка. Мало ли, торопился человек, некогда продумать было. Немудрено, если у него там написаны перлы типа "find /lib/modules -name "nls_*" | sed -r 's:^.*/|[.]ko$::g' | cut -b 5- | while read CHARSET; do".

кстати есть процессо с загрузкой по сети на всякий случай.

Это мне точно не протестировать, прошу великодушно извинить меня, Нова-сан.

ЗыЖ А давайте мы с вами по косточкам разберем liblinuxlive вместе с initrc и попробуем его маленько поменять чисто для кириллицы,  а потом тонкости крутить? предлагаю начать с обновления ядра...

Тут явно вам начинать придётся, я мало того, что языка "С" не знаю, так и вообще не программист. Я же после вашего поста полтора месяца упарывался, чтобы переписать 3 функции на баше, куда там в ядро лезть.
А что может дать перекомпиляция ядра?
И потом, система же не чисто для кириллицы должна быть, она же интернациональная как бы, наменяем тут, а потом евреи нашим новым ядром воспользоваться не смогут, вот ведь беда...

Fugokker

  • Гость
Slax имеет кучу вариантов загрузки: с диска, с флешки (в основном на фате), по сети, в текстовом и графическом режимах, с загрузкой в оперативу, с загрузкой сохраненных изменений (причем хранящихся где угодно) и без оных.

Русские буквы в именах файлов видно во всех случаях, кроме "хранящихся где угодно" (этот случай не проверял).

а еще в чейнжах хранится "домашняя" папка рута, в котором тьма пользовательских файлов хранится, и с ними косяков тоже не должно быть.

М-да, но имена-то у настроечных файлов не русские. Зря боишься.
Ну да, пользовательские. У рута. Да-да. Извини, недопонял.

Придётся уступить настойчивым мольбам и попробовать этот вариант.
« Последнее редактирование: 16 Октябрь 2010, 12:47:34 от Fugokker »

Fugokker

  • Гость
Миша, на минуточку, раздел с "чейнжыми" отформатирован как что?

Fugokker

  • Гость
Шофёр потрогал
« Ответ #48 : 16 Октябрь 2010, 14:06:28 »
а ситуацию, когда чейнжы на другом носители хранятся пробовал?

Нуте-с, продолжим накоротке.

1. Взять оригинальный initrd.gz без всяких там модулей русификации. Ну их.
2. Изменить в нём liblinuxlive так, как я написал выше.
3. Я ещё добавил в тамошний usr.lzm махонький файлик gconv.modules, кашу маслом не испортишь.
4. Запаковать initrd обратно.
5. Сгенерировать нужные локали, скопировать мои варианты скриптов, изменённый liblinuxlive, всякие библиотечечки и прочее, о чём говорили.
6. Всё это упаковать в модуль.
7. Модуль - в каталог /slax/base, лучше сразу после семи основных.
8. Загрузиться. Хочешь, выбирай "changes=X", хочешь, "changes=Y", хочешь, делай вспышку слева, хочешь - вспышку справа. Русские буквы везде видно чётко. Как на заборе.

Старый liblinuxlive со всех своих разделов и подразделов стереть не забудь, понятное дело. А то прочитается ненароком, и будешь потом меня ругать.

Вот так-то. "VMWare", брат, не подведёт!

Оффлайн novah

  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 335
  • Карма: +2/-0
    • Просмотр профиля
Мало ли, торопился человек
Это не обсуждается, конечно тут он накосячил, но один чел же не может адекватно проверить все кодировки, мож вы и правы, просто эти хвосты тянутся из 5 версии, но все равно надо проверить на разных платформах и носителях.

Оффлайн uj

  • Пользователь
  • **
  • Сообщений: 4
  • Карма: +0/-0
    • Просмотр профиля
сорри за оффтоп, многое прочитал, еще многое узнал для себя полезного)))
и русифицировал свою слаксу и раскладку натроил, но вот при монтировании флешки или USB-HDD наименование папок\файлов на русском криво отображается.
голова пухнет, ума не приложу что делать. подсобите пожалуйста...

Fugokker

  • Гость
Телепаты в отпуске
« Ответ #51 : 28 Ноябрь 2010, 13:26:55 »
Для начала погляди в файле /proc/mounts, с какой локалью и набором символов монтируется твой "USB-HDD".

За выставление локали в устройствах, монтируемых при старте системы, отвечают функции iocharset() и fs_options(), находящиеся в скрипте liblinuxlive. Исправленный скрипт должен лежать внутри initrd.gz.

И хотя бы опиши, что и как прописывал, а то "который год у меня в подполе раздаётся непонятный стук, подскажите, что делать".

Оффлайн uj

  • Пользователь
  • **
  • Сообщений: 4
  • Карма: +0/-0
    • Просмотр профиля
Re: А теперь правильная русификация (бета, буд
« Ответ #52 : 28 Ноябрь 2010, 17:03:56 »
из того, что помню:
1. скопировал 2 папки boot и slax на ssd нетбука, запустил liloinst.sh
2. загрузился с него, скопировал initrd.gz и russian.lzm в папки /boot и /slax/base
3. далее отсюда: http://slax.org.ru/forum/index.php?topic=61.msg220#msg220
(настроил переключение раскладки на winkeys и копету)
поступил именно так потому, что п.п.1 там где создается локаль слакса сказала, мол нет там ничего и создавать я там не буду (хотя был под правами рута)
вот собственно и все.
девайс подмонтировался так:
/dev/sdb1 /mnt/sdb1 ntfs ro,uid=0,gid=0, fmask=0177, dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1 0 0
...кажется это изза ntfs...

при том, только чтение, даже если я ему задаю -w или -o rw
...вот тут я теряюсь.
« Последнее редактирование: 28 Ноябрь 2010, 19:35:44 от uj »

Fugokker

  • Гость
Далее везде
« Ответ #53 : 28 Ноябрь 2010, 19:17:44 »
Так это винегрет какой-то, а не русификация.
У тебя и не должны правильно подключаться носители USB.
В этой теме после долгих препирательств было описано, что именно нужно сделать, чтобы внешние носители при старте монтировались в нужной тебе кодировке.

Fugokker

  • Гость
Буду локализовать молодым
« Ответ #54 : 28 Ноябрь 2010, 19:34:02 »
поступил именно так потому, что п.п.1 там где создается локаль слакса сказала, мол нет там ничего и создавать я там не буду (хотя был под правами рута)

"п.п.1" - что это?

девайс подмонтировался так:
/dev/sdb1 /mnt/sdb1 ntfs ro,uid=0,gid=0, fmask=0177, dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1 0 0

Из чего вытекает:
1) "девайс" почему-то смонтирован в системе NTFS, а не в NTFS-3G;
2) смонтирован "только для чтения";
3) кодировка, тем не менее, UTF-8. Это он при старте так подключается или ты его перемонтировал позже?
4) с правами доступа к файлам вообще какой-то компот по умолчанию.

Использовать оригинальный "liloinst.sh" надо с умом и сообразительностью, поскольку он до ужаса примитивен. Видимо, придётся в соответствующем посте выложить соображения по его изменению и дополнению. Эх, карамелька получилась, а не "liloinst" (господи, прости нас, грешных).

Так-тось вот, а ты думал - два файлика переписать, и залетает тебе линюкс, как метеорит. Эге...