LINUX.ORG.RU

unicode блин...


0

0

система Gentoo локаль - UTF-8, в ядре поддержка включена. все делал по докам... русского - нет! может ли быть такое, что unicode вообще не установлен? например, собираю mc с USE="unicode" - а потом выдает, что unicode не установлен и соответственно - кракозябры. Почему ?

anonymous

>русского - нет!

где?

>а потом выдает, что unicode не установлен

кто выдает? точное сообщение можно?

kostian ★★★★☆
()
Ответ на: комментарий от kostian

> где?

в X'ах, при локали UTF-8

> кто выдает? точное сообщение можно?

equry uses mc выдает, что комплился с unicode, но unicode не установлен (синеньким подсвечен). Да вот смотрю и в /usr/share/fonts с UTF-8 ничего нет...

anonymous
()
Ответ на: комментарий от anonymous

Это только для _одного_ пакета. Если у тебя вся система юникодная, то логично поместить этот флаг в глобальную USE-переменную.

kaktyc ★★★★
()
Ответ на: комментарий от kaktyc

конечно логично... но пока вот даж один mc не запохал... потом конечно глобально сделаю... кстати, glibc, ncurses, slang, mc - перекомпелил. Что еще может быть надо????

anonymous
()
Ответ на: комментарий от kaktyc

сипмтоьы - при запуске mc вместо меню - корябалы... при попытке печатать по русски в xterm - на экране пусто, но курсор двигается вперед... locale LANG=ru_RU.UTF-8 ну и везде ессно...

anonymous
()
Ответ на: комментарий от anonymous

>сипмтоьы - при запуске mc вместо меню - корябалы...

У меня все работает. Покажи выхлоп USE='unicode -ncurses slang' emerge -pv mc

>при попытке печатать по русски в xterm - на экране пусто, но курсор двигается вперед...

Надо юникодный терминал использовать. Например, uxterm.

kaktyc ★★★★
()
Ответ на: комментарий от kaktyc

а у xterm'a же тож есть unicode...
x11-terms/xterm-207-r1  -Xaw3d -doc -toolbar +truetype -unicode

USE="unicode -ncurses slang" emerge -pv mc
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild   R   ] app-misc/mc-4.6.1  -7zip +X +gpm -ncurses* +nls +pam +samba +slang +unicode* 0 kB

anonymous
()
Ответ на: комментарий от anonymous

Еще раз: поставь unicode USE-flag в список флагов в /etc/make.conf и выполни emerge -DuNv world. Т.е. нужно пересобрать изменившиеся пакеты с новым флагом. В данном случае у тебя xterm собран _без_ юникода (обрати внимание на знак минуса перед флагом).

И _пересобери_ mc. Ты просто добавил новые флаги, но не пересобрал mc (теперь перемещаем свое внимание на знак звездочки * после флага -- т.е. это новый для пакета флаг и необходимо с ним пересобрать пакет).

kaktyc ★★★★
()
Ответ на: комментарий от kaktyc

Чтобы mc при следующей пересборке не стал снова показывать непристойности, добавь в /etc/portage/package.use следующую строку:

app-misc/mc -ncurses slang unicode

Т.е. mc собирается _без_ поддержки ncurses, но _с_ поддержкой slang и unicode.

P.S. man emerge, man portage.

kaktyc ★★★★
()
Ответ на: комментарий от kaktyc

> Ты просто добавил новые флаги, но не пересобрал mc
USE="-ncurses unicode" emerge mc - это разве не пересобрал ???

equery uses mc

U   I
-    +    unicode (синий, т.е. нету так???)

я ща просто уже на другом компе, где локаль KOI8-R, по-этому пишу попамяти... xterm я тож пересоберал - USE="unicode" xterm - тож самое, что и с  mc. 

anonymous
()
Ответ на: комментарий от anonymous

>это разве не пересобрал ???

Видимо нет, т.к. в вышеприведенном выводе с теми же флагами, они были новыми. 

>-    +    unicode (синий, т.е. нету так???)

Это показывает, какие флаги заданы через make.conf (U), и с какими был 
установлен пакет (I). В данном случае, unicode -- это не совсем то. Здесь дело в 
том, что использует mc -- slang или ncurses. Чтобы все было нормально, он 
должен быть собран не только с юникодом, но и _с_ slang и _без_ ncurses. 
Покажи полный вывод equery uses mc

>xterm я тож пересоберал - USE="unicode" xterm - тож самое, что и с  mc. 

uxterm появляется после пересборки с этим флагом. Это просто его юникодная версия. 

equery belongs uxterm
[ Searching for file(s) uxterm in *... ]
x11-terms/xterm-213-r1 (/usr/bin/uxterm)

kaktyc ★★★★
()
Ответ на: комментарий от kaktyc

> Покажи полный вывод equery uses mc

полный ща не покажу, но ...
U       I
+       -     ncurses  (синий)
+       +    slang      (красный)
+       +    nls          (красный)
+        -    samba    (синий)
+        +   X            (красный)
-         +   unicode  (синий)

получается, что почему-то unicode не включается....

anonymous
()
Ответ на: комментарий от anonymous

В последний раз говорю: сделай этот флаг глобальным и пересобери пакеты, которые его используют. После этого можно продолжать.

kaktyc ★★★★
()
Ответ на: комментарий от anonymous

(~)->equery u mc
[ Searching for packages matching mc... ]
[ Colour Code : set unset ]
[ Legend        : Left column  (U) - USE flags from make.conf                     ]
[                  : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-misc/mc-4.6.1-r1 ]
 U I
 + + 7zip    : add support for 7zip archives
 + + X       : Adds support for X11
 + + gpm     : Adds support for sys-libs/gpm (Console-based mouse driver)
 + + ncurses : Adds ncurses support (console display library)
 + + nls     : Adds Native Language Support (using gettext - GNU locale utilities)
 + + pam     : Adds support PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip
 - - samba   : Adds support for SAMBA (Windows File and Printer sharing)
 + + slang   : Adds support for the slang text display library (it's like ncurses, but different)
 + + unicode : Adds support for Unicode

Все прекрасно работает. что я делаю не так?

1. Добавь в make.conf USE="unicode utf-8"
2. emerge --newuse world
3. установи шрифты которые дружат с уникодом (terminus, fixed, artwiz)
4. Укажи фонт в терминале, выкинь aterm и юзай xterm, rxvt-unicode(urxvt). 

CuB ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.