LINUX.ORG.RU

[gentoo][utf-8]не печатает по русски в консоли/эмуляторе_терминала.


0

1

/etc/make.conf

ACCEPT_KEYWORDS="~amd64"
LINGUAS="ru"
USE="-* hardened pic python3 \
mmx sse sse2 sse3 ssse3 nptl nptlonly openmp threads minimal \
unicode truetype font-styles"
/etc/rc.conf
unicode="YES"
/etc/locale.gen
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
/etc/conf.d/consolefont
consolefont="ter-u14n"
/etc/cond.d/keymaps
keymap="-u ruwin_alt-UTF-8"
windowkeys="NO"
extended_keymaps=""
fix_euro="NO"
/proc/config.gz
CONFIG_NLS_UTF8=m
CONFIG_NLS_DEFAULT="utf8"
emerge -pv terminus-font
[ebuild   R   ] media-fonts/terminus-font-4.35  USE="X pcf psf -a-like-o -quote -raw-font-data -ru-dv -ru-g -ru-i -ru-k -width" 0 kB

В консоли(tty) вместо русских букв цифры типа \312 ... \321. В эмуляторе терминала кодов не видно.

PS система собрана с unicode и без nls(пробовал включить ничего не изменилось).
PPS в gtk русский есть, но в fvwm(в заголовках) отсуствует хотя до переустановки системы(на luks/lvm) был.
PPPS fvwm собран с nls.


А локаль кто будет выставлять русскую, читайте лучше документацию.

# cat /etc/env.d/02locale
LANG="ru_RU.UTF-8"

После создания файла, выполните env-update, так же можно прописать установку локали в .bashrc в каталоге пользоателя.

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

кхм, из различий со своим конфигом вижу у вас отсутствие этого: dumpkeys_charset=«koi8-r» вот мои конфиги:

$ cat /etc/conf.d/keymaps 
keymap="-u ru"
windowkeys="YES"
extended_keymaps=""
dumpkeys_charset="koi8-r"
fix_euro="NO"

$ cat /etc/conf.d/consolefont 
CONSOLEFONT="ter-k16n"
eix media-fonts/terminus-font
[I] media-fonts/terminus-font
     Available versions:  4.30{tbz2} ~4.32 {X a-like-o bolddiag +pcf +psf quote raw-font-data ru-dv +ru-g ru-i ru-k width}
     Installed versions:  4.30{tbz2}(22:03:26 26.02.2011)(X pcf psf ru-g -a-like-o -bolddiag -quote -raw-font-data -ru-dv -ru-i -ru-k -width)
     Homepage:            http://terminus-font.sourceforge.net/
     Description:         A clean fixed font for the console and X11

PS: ради теста выставил локаль POSIX

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

Дело в шрифте

cat /usr/share/consolefonts/README.terminus

names	mappings		covered codepage(s)

ter-1*	iso01, iso15, cp1252	ISO8859-1, ISO8859-15, Windows-1252
ter-2*	iso02, cp1250		ISO8859-2, Windows-1250
ter-7*	iso07, cp1253		ISO8859-7, Windows-1253
ter-9*	iso09, cp1254		ISO8859-9, Windows-1254
ter-c*	cp1251, iso05		Windows-1251, ISO8859-5
ter-d*	iso13, cp1257		ISO8859-13, Windows-1257
ter-g*	iso16			ISO8859-16
ter-i*	cp437			IBM-437
ter-k*	koi8r			KOI8-R
ter-m*	mik			Bulgarian-MIK
ter-p*	pt154			Paratype-PT154
ter-u*	koi8u			KOI8-U
ter-v*	all listed above	all listed above and many others (about 110
	and many others		language sets), 8 foreground colors

names	style

ter-*n	normal
ter-*b	bold
ter-*f	framebuffer-bold

Поставьте ка к у меня и будет счастье, в вашем просто нет кирилических кодов, префикс U.

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

Идентичный результат. отображаются коды символов а == \320\260 б == \320\261

tn1 ()

>keymap="-u ruwin_alt-UTF-8"
Зачем здесь "-u"?

УМВР со следующим:

keymap=«ruwin_cplk-UTF-8»

windowkeys=«YES»


extended_keymaps=«»


dumpkeys_charset=«»


fix_euro=«NO»



consolefont=«ter-k14n»

#consoletranslation=«8859-1_to_uni»


#unicodemap=«iso01

HTaeD ★★★★ ()

/etc/conf.d/consolefont

# not want to use it, run "rc-update del consolefont" as root).
consolefont="Cyr_a8x16"
consoletranslation="koi8-r_to_uni"

/etc/conf.d/keymaps

keymap="us"
windowkeys="NO"
extended_keymaps=""
dumpkeys_charset=""
fix_euro="NO"

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

>Русская wiki.
Она неактуальна.

Автоматом нет. morpobe nls_utf8 результата не дал.

После пробовал перезапускать consolefont и keymaps?

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

>Модуль загружен?

У меня, например, не загружен, тем не менее юникод везде есть.

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

> Попробуй всё же без "-u". Оно было нужно для старых неюникодовых локалей.
Попробовал.

У меня ещё nls включен.

Попробую.(ещё раз)(45пакетов)

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

Ну и зря.

Тыщу лет назад под одной из русских гентовики настроил и забыл.

Переключение по CAPSLOCK.

Пишет в консоли по-русски. Если врубить LANG=ru_RU.UTF-8 то ещё и mc и прочие консольные утилиты тоже кажут русские сообщения.

grep -v ^# /etc/conf.d/keymaps 
keymap="ruwin_cplk-UTF-8"
windowkeys="YES"
extended_keymaps=""
dumpkeys_charset=""
fix_euro="NO"
locale -a | grep ru
ru_RU
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8
 grep -i uni /etc/rc.conf 
# Set unicode to YES to turn on unicode support for keyboards and screens.
unicode="YES"
LINGUAS="en ru"

USE="unicode userlocales test -deprecated \
    lzma zip \
    ubuntu -laptop truetype type1 cleartype corefonts kpathsea fontconfig \
   ...cut...
 grep ru /etc/locale.gen 
# rebuilt for you.  After updating this file, you can simply run `locale-gen`
ru_RU.CP1251 CP1251
ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8
ru_RU UTF-8
grep -v ^# /etc/conf.d/consolefont 
consolefont="default8x16"
consolefont="cyr-sun16"
zgrep -i nls /proc/config.gz | grep -v ^#
CONFIG_UDF_NLS=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_UTF8=y
 locale | grep -v POSIX
LANG=
LC_CTYPE=ru_RU.UTF-8
LC_COLLATE=C
LC_ALL=

p.s. А зачем вообще в консоли русский? Я за over 7 лет женты так никогда и не пользовал чистую консоль с русским, исключительно ssh из терминала в иксах...

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