IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Добавляем локаль UTF-8 для DS-212j, Добавляем локаль UTF-8 в unix-консоль
glex
сообщение 6.4.2012, 1:41
Сообщение #1


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 6.4.2012
Пользователь №: 4981



Много описывалось как скомпилировать и установить Midnight Commander с поддержкой UTF-8.
Однако сделав все по иструкции и получив ожидаемый результат, столкнулся с тем, что тем же MC не могу зайти в папки с руссими буквами.
Да и сама unix-консоль по команде ls показывает кучку вопросиков.
По крайней мере так происходит на моем DS-212J с DSM 4.

Решение было найдено.
Может кому будет полезно.
По мотивам инструкции http://www.chainsawonatireswing.com/2012/0...-support-utf-8/

1. Идем во временную папку

> cd /volume1/@tmp

2. Скачиваем (для платформы Marvell 88F628x Linux 2.6.32)

> wget http://sourceforge.net/projects/dsgpl/file...88f6281-GPL.tgz

3. Разворачиваем

> tar -zvxf gcc421_glibc25_88f6281-GPL.tgz

4. Создаем папку

> mkdir /usr/lib/locale

5. Копируем

> cp /volume1/@tmp/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/locale /opt/bin/
> cp /volume1/@tmp/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/localedef /opt/bin/
> cp -R /volume1/@tmp/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n/ /usr/share

6. Проверяем, что сейчас мы с UTF-8 пока не дружим

> locale -a
C
POSIX

7. Генерим новуые локали

> /opt/bin/localedef -c -f UTF-8 -i en_US en_US.UTF-8
> /opt/bin/localedef -c -f UTF-8 -i ru_RU ru_RU.UTF-8

8. Проверяем, что теперь дружим

> /opt/bin/locale -a
C
en_US.utf8
POSIX
ru_RU.utf8

9. Добавляем следующие строчки в /etc/profile

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
export LANG LC_ALL

(можно ru_RU.UTF-8 указать, если кому нравится русскоговорящая консоль)

10. Перезагружаемся

> reboot

11. Убеждаемся, что у нас получилось

> locale

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

После такого шаманства unix-консоль подружилась с руссими папками и файлами.
Ну и MC само собой тоже.
Перейти в начало страницы
 
+Цитировать сообщение
Zyxmon
сообщение 6.4.2012, 7:09
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 1041
Регистрация: 22.4.2010
Из: Москва
Пользователь №: 931



Это решение верно для любых процессоров. Его уже приводили
http://www.synology-forum.ru/index.php?sho...post&p=8612
Как такая модификация скажется на стабильности системы - неизвестно.
Это же решение использует spk пакет по установке джавы.
Перейти в начало страницы
 
+Цитировать сообщение
glex
сообщение 6.4.2012, 10:06
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 6.4.2012
Пользователь №: 4981



Вам, Zyxmon, особое спасибо за тему про Midniht commander!

Цитата(Zyxmon @ 6.4.2012, 8:09) *
Это решение верно для любых процессоров.

Абсолютно верно.
Достоточно просто выбрать правильный файл вот отсюда http://sourceforge.net/projects/dsgpl/file...0Tool%20Chains/
Цитата(Zyxmon @ 6.4.2012, 8:09) *

Даже не сомневаюсь. Как и многие другие темы, существующие не в одном экземпляре.
Дублирование информации лучше ее отсутствия.
Цитата(Zyxmon @ 6.4.2012, 8:09) *
Как такая модификация скажется на стабильности системы - неизвестно.
Это же решение использует spk пакет по установке джавы.

В принципе это можно сказать и про все, что из ipkg, с точки зрения стабильности.
А какое альтернативное решение вы можете предложить?
Перейти в начало страницы
 
+Цитировать сообщение
Zyxmon
сообщение 6.4.2012, 12:46
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 1041
Регистрация: 22.4.2010
Из: Москва
Пользователь №: 931



Цитата(glex @ 6.4.2012, 11:06) *
В принципе это можно сказать и про все, что из ipkg, с точки зрения стабильности.
А какое альтернативное решение вы можете предложить?

Пакеты optware и многи spk никак не затрагивают в большинстве случаев системные файлы. Этот способ затрагивает.
Есть версия mc, которая понимает русский. busybox от synology нормально с русским работает.
Перейти в начало страницы
 
+Цитировать сообщение
glex
сообщение 6.4.2012, 13:49
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 6.4.2012
Пользователь №: 4981



Цитата(Zyxmon @ 6.4.2012, 13:46) *
Пакеты optware и многи spk никак не затрагивают в большинстве случаев системные файлы. Этот способ затрагивает.

И этот метод ничего не затрагивает.
Всего лишь добавляет новое, не удаляя и не меняя системное.
Не понравится, всегда можно снести и вернуться к оригинальной конфигурации.
Цитата(Zyxmon @ 6.4.2012, 13:46) *
Есть версия mc, которая понимает русский. busybox от synology нормально с русским работает.

Не спорю, есть. Даже показывает русские буквы.
А при попытке зайти в русскую папку или открыть русский файл получаем отрицательный результат.
И Вами собранный MC ставил, и сам собирал - результат один.
Команда ls показывает что-то типа "????? ?????", это к вопросу о "busybox от synology нормально с русским работает".

А при продлагаемом подходе и консоль и MC становятся действительно нормально понимающими UTF8 без необходимости пересборки MC.

Я не настаиваю на том, что такой подход является абсолютной истиной.
Каждый выберет то, что ему больше по душе.
А наша с Вами цель - предложить альтернативные решения в помощь тем, кто их ищет.
Так что каждое решение имеет право на существование.
Перейти в начало страницы
 
+Цитировать сообщение
Zyxmon
сообщение 6.4.2012, 14:45
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 1041
Регистрация: 22.4.2010
Из: Москва
Пользователь №: 931



Цитата(glex @ 6.4.2012, 14:49) *
Команда ls показывает что-то типа "????? ?????", это к вопросу о "busybox от synology нормально с русским работает".

Вы не ту версию ls юзаете. Используйте ls от synology
Почуствуйте разницу между /bin/ls и /opt/bin/ls (из optware coreutils). У превой (от synology) все нормально с русским, у второй (optware) - нет.
Перейти в начало страницы
 
+Цитировать сообщение
glex
сообщение 6.4.2012, 22:28
Сообщение #7


Участник
**

Группа: Пользователи
Сообщений: 12
Регистрация: 6.4.2012
Пользователь №: 4981



Цитата(Zyxmon @ 6.4.2012, 15:45) *
Вы не ту версию ls юзаете. Используйте ls от synology
Почуствуйте разницу между /bin/ls и /opt/bin/ls (из optware coreutils). У превой (от synology) все нормально с русским, у второй (optware) - нет.

Почувствовал.
Вернул все проделанное назад.
Да, действительно, ls показывает имена по-русски.

root@arena> ls -al
drwxr-xr-x 3 root root 4096 Apr 6 23:16 .
drwxrwxrwx 5 root root 4096 Apr 4 13:41 ..
drwxr-xr-x 2 root root 4096 Apr 6 23:16 Новая

Может и про cd что-то волжебное скажете?
Ну никак не выходит выполнить cd в нужную папку.
Получается что-то типа:

cd \320\235\320\276\320\262\320\260\321\217/

Все таки вернулся к решению с локалями.
Половинчатое решение (только отображать) - это не решение.

Перейти в начало страницы
 
+Цитировать сообщение
Zyxmon
сообщение 7.4.2012, 7:42
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 1041
Регистрация: 22.4.2010
Из: Москва
Пользователь №: 931



Цитата(glex @ 6.4.2012, 23:28) *
Может и про cd что-то волжебное скажете?

Могу только сказать, что у меня cd работает:
Код
DiskStation> cd /volume1/public/
DiskStation> ls
......
IP.txt                                           final_final.zip                             Бабушка
Music                                            ftpfs.c                                     Для NAS
....
DiskStation> cd Для\ NAS/
DiskStation> pwd
/volume1/public/Для NAS


Я не хочу сказать, что решение с локалями неправильное. Просто и без него работает.
Вы шелл не меняли на bash? Если да - http://forum.zyxmon.org/post4987.html#p4987
Перейти в начало страницы
 
+Цитировать сообщение
notsee
сообщение 10.4.2012, 14:57
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 17.1.2012
Пользователь №: 4570



Цитата(Zyxmon @ 7.4.2012, 8:42) *
Могу только сказать, что у меня cd работает:
Код
DiskStation> cd /volume1/public/
DiskStation> ls
......
IP.txt                                           final_final.zip                             Бабушка
Music                                            ftpfs.c                                     Для NAS
....
DiskStation> cd Для\ NAS/
DiskStation> pwd
/volume1/public/Для NAS


Я не хочу сказать, что решение с локалями неправильное. Просто и без него работает.
Вы шелл не меняли на bash? Если да - http://forum.zyxmon.org/post4987.html#p4987


Работает без локали только busybox. В mc например без локали косяк с архиваторами, файлы с русскими именами пакуют не в UTF8.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 7.8.2020, 21:17
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft