UTF-8

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 13:29:57

Добрый ${time}, уважаемые. Вопрос у меня наверное, простой, но животрепещущий: хочется мне сменить системную локаль насовсем. Да не на пресловутые кои und 1251, а на UTF-8, за которым будущее. Здесь есть несколько путей:
1) http://www.lissyara.su/?id=1169 - дана инструкция по смене локали, НО на 1251. Можно подогнать под Юникод, но не хватает некоторых файлов
2) http://www.opennet.ru/tips/info/1448.shtml, но тут это выглядит заплаткой, и недостойно называться мужественным поступком.
3) http://www.opennet.ru/tips/info/1785.shtml - тут описан более извращенный способ навешивания заплаток. Однако, это все хоть чуть-чуть, но сказывается на производительности, так что не хотелось бы на этом заостряться. Собственно, дано:
я пробовал запускать xterm с локалью ru_RU.UTF-8 и юникодными шрифтами. Создал папку с файлами-пустышками (все на русском языке), отконвертировал их названия в юникодные

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

convmv -f koi8-r -t UTF-8 путь_к_разделу/* --notest -r
при листинге файлов xterm повел себя хорошо: русские названия показал по-русски. Но печатать он НАОТРЕЗ отказывается, символы просто не набирются. Проблем две:
1)

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

root@hanggard:/usr/home/hanggard# ll /usr/share/locale/ru_RU.UTF-8/LC_COLLATE
lrwxrwxrwx  1 root  wheel  28 29 сен 20:55 /usr/share/locale/ru_RU.UTF-8/LC_COLLATE -> ../la_LN.US-ASCII/LC_COLLATE

То есть часть Уникода совсем даже не русская.
2)

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

root@hanggard:/usr/home/hanggard# ll /usr/share/syscons/keymaps/ | grep -i ru
-r--r--r--  1 root  wheel  16237 15 июл  2008 ru.cp866.kbd
-r--r--r--  1 root  wheel  16236 15 июл  2008 ru.iso5.kbd
-r--r--r--  1 root  wheel  16240 15 июл  2008 ru.koi8-r.kbd
-r--r--r--  1 root  wheel  16246 15 июл  2008 ru.koi8-r.shift.kbd
-r--r--r--  1 root  wheel  16240 15 июл  2008 ru.koi8-r.win.kbd
Нет русского файла клавиатуры для Unicode, что, собственно, не позоляло мне печатать.
Собственно, вопрос: Какие еще есть пути смены локали, достойные не младенца, но мужа? Или как мне найти/получить/сгенерить недостающие файлы?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 13:38:13

Еще вот тут нас немного свет озаряет, что локаль можно собрать самому. Но такой программы я не нашел.
http://linuxportal.ru/entry.php/34_0_3_0_C/

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 13:49:05

А так же, нашел это http://posix.ru/system/syscons_ru/. Там написано: Можно видеть, что в приведенном списке локаль UFT-8 не наблюдается. И действительно, в штатном комплекте FreeBSD ее нет. Однако при желании несколько приблизиться к светлому будущему (недостижимому, как коммунизм в одной отдельно взятой стране) - ее можно установить из портов (/usr/ports/misc/utf8locale), после чего в выводе команды locale -a добавится строка ru_RU.UTF-8. Впрочем, этой теме посвящена специальная статья. Специальная статья начинается с цифр 404 :(. У себя в портах я сделал

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

root@hanggard:/usr/home/hanggard# make -C /usr/ports/ search name=utf8
Port:   misc/utf8locale
Moved:
Date:   2009-01-05
Reason: Part of the base system since FreeBSD 5.3
Локаль можно найти через search в портах. На самом деле, там пусто:

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

root@hanggard:/usr/home/hanggard# whereis utf8locale
utf8locale:
root@hanggard:/usr/home/hanggard# cd /usr/ports/misc/utf8locale
/usr/ports/misc/utf8locale: No such file or directory.
Щас попробую обновить порты, но не факт, что от этого что-то изменится: я в жизни ничего не удалял оттуда.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: UTF-8

Непрочитанное сообщение paradox » 2009-10-03 13:57:36

jfbterm поставь
настрой и радуйся

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 14:00:27

З.Ы. У меня на ноуте установлен Мак 10.5.7 Лео, если кто не в курсе, то любая Mac OS X на ядре FreeBSD. Но и там с Юникодом такая белиберда

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

lrwxrwxrwx  1 root  wheel  28 29 сен 20:55 /usr/share/locale/ru_RU.UTF-8/LC_COLLATE -> ../la_LN.US-ASCII/LC_COLLATE
хотя там системная локаль как раз UTF-8. Так что вроде решаем, что LC_COLLATE нам не нужно трогать, старое сойдет. А как быть с остальным?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: UTF-8

Непрочитанное сообщение paradox » 2009-10-03 14:04:32

З.Ы. У меня на ноуте установлен Мак 10.5.7 Лео, если кто не в курсе, то любая Mac OS X на ядре FreeBSD. Но и там с Юникодом такая белиберда
для тех кто в танке
ядра бсд в макоси нет
lrwxrwxrwx 1 root wheel 28 29 сен 20:55 /usr/share/locale/ru_RU.UTF-8/LC_COLLATE -> ../la_LN.US-ASCII/LC_COLLATE
хотя там системная локаль как раз UTF-8. Так что вроде решаем, что LC_COLLATE нам не нужно трогать, старое сойдет. А как быть с остальным?
может хватит выдумывать и пойдите почитайте полноcтью те ссылки которые вы дали

Гость
проходил мимо

Re: UTF-8

Непрочитанное сообщение Гость » 2009-10-03 14:26:27

проблемы с юникодом могут быть только в прямой консоли (syscons), коя цепляется к vga и kbd. Во всех остальных случаях проблем быть не должно уже как несколько лет. Фряшная локально давно умеет юникод (начиная с 5.x, кажется).

Если у тебя не получается набрать юникодом в xterm'е, то это лично твои кривые руки из-коих у тя либо кривые ресурсы в ~/.Xdefaults для XTerm'а или раскладка не так настроена. Если проблема только с xterm'ом, то попробуй запустить его с опцией -lc.

Гость
проходил мимо

Re: UTF-8

Непрочитанное сообщение Гость » 2009-10-03 14:33:33

кстати, о каком релизе идет речь? Надеюсь не об антиквариате (4.x, 5.x)?

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 15:33:15

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

root@hanggard:/usr/home/hanggard# uname -v
FreeBSD 7.0-STABLE-200807 #3: Thu Oct  1 13:10:32 NOVST 2009     root@hanggard.com:/usr/obj/usr/src/sys/UnicronII
Последний раз редактировалось paradox 2009-10-03 15:43:24, всего редактировалось 1 раз.
Причина: лучше заюзать [code]

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: UTF-8

Непрочитанное сообщение cloudsv » 2009-10-03 17:32:51

sn9.png
при смене локали не вводятся русские букофки а только "\364\342\342"

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

FreeBSD 7.2-RELEASE
kde4-4.3.1 

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 17:38:01

У меня не KDE. Считаю, что кеды ставить на сервер неразумно, это не воркстанция. У меня там IceWM, и xterm хорговский. Русский у меня отображается, но не вводится. Судя по всему, ни одного символа. А вообще, это в Konsole настраивается, по-моему. И терминал там в самой новой версии 4 KDE VT100 (по-моему) убрали. У меня на ноуте (тоже фряха 7.0) 4е кеды, но старые, почти год назад ставил. Там терминал VT100 еще есть и со вводом проблем не возникает. Так что Вы сначала сделайте Alt+F2 (или если перенастроили, то другое) и напишите xterm. Xterm не врет в этом плане, а консоль - штука графическая, но ее настраивать надо, чтобы работала.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: UTF-8

Непрочитанное сообщение zingel » 2009-10-03 17:47:06

кеды ставить на сервер
а зачем?
Z301171463546 - можно пожертвовать мне денег

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: UTF-8

Непрочитанное сообщение cloudsv » 2009-10-03 17:54:51

hanggard писал(а):У меня не KDE. Считаю, что кеды ставить на сервер неразумно, это не воркстанция. У меня там IceWM, и xterm хорговский. Русский у меня отображается, но не вводится. Судя по всему, ни одного символа. А вообще, это в Konsole настраивается, по-моему. И терминал там в самой новой версии 4 KDE VT100 (по-моему) убрали. У меня на ноуте (тоже фряха 7.0) 4е кеды, но старые, почти год назад ставил. Там терминал VT100 еще есть и со вводом проблем не возникает. Так что Вы сначала сделайте Alt+F2 (или если перенастроили, то другое) и напишите xterm. Xterm не врет в этом плане, а консоль - штука графическая, но ее настраивать надо, чтобы работала.
присмене локали и запуске xterm
пишет читатет по русски
sn9.png
sn9.png (6.91 КБ) 1625 просмотров
и призапуске konsole с локалью utf8 все тож прекрасно читается и пишется
sn9_.png
p.s. меня cp1251 устраивает, эт я так, тему поддержать
Последний раз редактировалось cloudsv 2009-10-03 18:00:15, всего редактировалось 2 раза.

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 17:57:39

Вывод: чени консоль :) терминал VT100 - наше все)

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: UTF-8

Непрочитанное сообщение cloudsv » 2009-10-03 18:00:37

hanggard писал(а):Вывод: чени консоль :) терминал VT100 - наше все)
ченить нечего все работает прекрасно

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: UTF-8

Непрочитанное сообщение paradox » 2009-10-03 18:01:25

и токо у нормальных людей поддерживаеться все

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 20:06:04

И еще нормальные люди уже выучили *ться и *тся. Тема не о криворукости кого-то там (я ничего сам не правил, чтобы оно слетело, и не в первый раз под фрей работаю, так что моих кривых рук - минимум), а о том, какие есть способы перехода с одной локали на другую. И еще не меряемся пиписьками по поводу того, какая кодировка лучше, холивары будьте добры не на Лисярином сайте. Повторяю вопрос:
дано koi8-r в живом виде и xterm, в который этот кои "с конвейера" не внедрен. Еще дано - вечный секс с именами файлов в серверах smb и proftpd. Решено: внедрить кодировку UTF-8 на локальную машину, переписав имена файлов. Отсюда идет второе действие: терминалы не будут воспринимать Юникод с любовью, пока их на него не тыкнешь носом и не скажешь "фу, свой!" В статьях, которые я читал, это вводится как раз только на терминалы под иксами или под ssh (по второму я уже начал сомневаться, пните, если не прав). Ну, по крайней мере, ssh-клиент можно настроить понимать эту кодировку. А вот так называемая syscons, которую я ОЧЕНЬ не хочу обходить стороной (да, я еще и с ней, бывает, работаю), упрется руками и ногами и пошлет меня с моим уникодом! Теперь вопрос: каких подводных камней я могу избежать еще на берегу? И какой способ из всех даст мне результат -100% переход на новую локаль? Надеюсь на понимание, просто куча флуда (я не о всех постах!) меня угнетает.

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: UTF-8

Непрочитанное сообщение cloudsv » 2009-10-03 20:16:25

hanggard писал(а):В статьях, которые я читал, это вводится как раз только на терминалы под иксами или под ssh (по второму я уже начал сомневаться, пните, если не прав). Ну, по крайней мере, ssh-клиент можно настроить понимать эту кодировку. А вот так называемая syscons, которую я ОЧЕНЬ не хочу обходить стороной (да, я еще и с ней, бывает, работаю), упрется руками и ногами и пошлет меня с моим уникодом! Теперь вопрос: каких подводных камней я могу избежать еще на берегу? И какой способ из всех даст мне результат -100% переход на новую локаль? Надеюсь на понимание, просто куча флуда (я не о всех постах!) меня угнетает.
syscons придется обойти стороной или использовать jfbterm
а вот насчет X или ssh все вполне реализуемо
В тех статьях на которые ты кидал ссылки

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-03 20:24:05

cloudsv, спасибо, мил человек! я уже отчаялся :(. ладно, буду рыть туда. Только один вопрос: все три вида консоли будут нормально жить с файлами в этой кодировке? То есть могу смело ставить конвертить на ночь?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: UTF-8

Непрочитанное сообщение paradox » 2009-10-03 20:26:09

2009-10-03 13:57:36
paradox писал(а):jfbterm поставь
настрой и радуйся
токо слепой мог этого не увидеть

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: UTF-8

Непрочитанное сообщение cloudsv » 2009-10-03 20:26:36

hanggard писал(а):cloudsv, спасибо, мил человек! я уже отчаялся :(. ладно, буду рыть туда. Только один вопрос: все три вида консоли будут нормально жить с файлами в этой кодировке? То есть могу смело ставить конвертить на ночь?
на 100% не уверен. но у меня в 3х видах консоли cp1251 во всех все вижу)

Гость
проходил мимо

Re: UTF-8

Непрочитанное сообщение Гость » 2009-10-04 1:10:58

cloudsv писал(а):syscons придется обойти стороной или использовать jfbterm
а вот насчет X или ssh все вполне реализуемо
В тех статьях на которые ты кидал ссылки
в тех статьях на opennet'е также есть способ как и обойтись без jfbterm. До 8-ки можно использовать screen, после 8-ки - я выкладывал патчики для маппинга юникода в koi8-r/cp1251 с помощью libteken.

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-04 9:22:17

с терминалами вроде нормально, но когда я написал про jfbterm в ~/.login, при ssh стала появляться такая байда:
jfbterm: This program must be run from the console
и ssh-сессия рвется. И еще: Xterm отображает русский нормально, а печатает зюзюками.

cloudsv
сержант
Сообщения: 173
Зарегистрирован: 2007-11-20 10:14:37
Контактная информация:

Re: UTF-8

Непрочитанное сообщение cloudsv » 2009-10-04 9:28:40

попробуй в xterm указать locale

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

setenv LANG ru_RU.UTF-8
и из этого xterm запустить еще один xterm
поидее должно все работать.

hanggard
ефрейтор
Сообщения: 57
Зарегистрирован: 2009-09-29 20:54:54

Re: UTF-8

Непрочитанное сообщение hanggard » 2009-10-04 9:40:53

Изображение
По-моему, все на месте...