LINUX.ORG.RU

Gentoo и шрифт в консоли


0

1

Решил попробовать Gentoo. Собрал из Stage1, настроил локали, keymap и т.п. Но есть маленький глюк, который пока не знаю как победить. Если подключаться к машине по SSH, то кириллица отображается отлично и без проблем. Если логинюсь локально в консоль, то вместо русских символов - непонятные крякозябры. Но! Если дать команду reset, сразу же все приходит в норму.
Подскажите, почему так, и как исправить.

[ root@desktop ] ~ # cat /etc/conf.d/consolefont 
# /etc/conf.d/consolefont

# CONSOLEFONT specifies the default font that you'd like Linux to use on the
# console.  You can find a good selection of fonts in /usr/share/consolefonts;
# you shouldn't specify the trailing ".psf.gz", just the font name below.
# To use the default console font, comment out the CONSOLEFONT setting below.
# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do
# not want to use it, run "rc-update del consolefont" as root).

CONSOLEFONT="UniCyr_8x16"

# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use
# the default one.  Have a look in /usr/share/consoletrans for a selection of
# map files you can use.
#CONSOLETRANSLATION="koi8-r"
[ root@desktop ] ~ # cat /etc/conf.d/keymaps 
# /etc/conf.d/keymaps

# Use KEYMAP to specify the default console keymap.  There is a complete tree
# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="-u ru"


# Should we first load the 'windowkeys' console keymap?  Most x86 users will
# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="yes"


# The maps to load for extended keyboards.  Most users will leave this as is.

#EXTENDED_KEYMAPS=""
#EXTENDED_KEYMAPS="NO"


# Tell dumpkeys(1) to interpret character action codes to be 
# from the specified character set.
# This only matters if you set UNICODE="yes" in /etc/rc.conf.
# For a list of valid sets, run `dumpkeys --help`

DUMPKEYS_CHARSET="koi8-r"
[ root@desktop ] ~ # cat /etc/env.d/02locale 
LANG="ru_RU.UTF-8"
LC_ALL=""
[ root@desktop ] ~ # 

УМВР

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

Сделал все в точности так же, не помогло: сразу после загрузки системы в консоли крякозябры, после «reset» все хорошо.

InfectedM
() автор топика
Ответ на: комментарий от megabaks

# rc-update
fsck | boot
consolefont | boot
sshd | default
mount-ro | shutdown
swap | boot
keymaps | boot
localmount | boot
savecache | shutdown
local | default nonetwork
virtualbox-guest-additions | default
termencoding | boot
root | boot
bootmisc | boot
rpc.statd | default
netmount | default
procfs | boot
killprocs | shutdown
net.eth0 | default
hostname | boot
modules | boot
hwclock | boot
udev | sysinit
devfs | sysinit
mtab | boot
net.lo | boot
syslog-ng | default
sysctl | boot
udev-postmount | default
urandom | boot
dmesg | sysinit

InfectedM
() автор топика

А фонт нужный есть в системе?

andreyu ★★★★★
()

Читай wiki

Пройди по шагам и проверяй, где что не доделал

MahMahoritos ★★★
()

И что locale говорит?

andreyu ★★★★★
()

Попробуй так:
/etc/env.d/02locale:

LC_ALL=""
LANG="ru_RU.UTF-8"

в /etc/conf.d/consolefont:

CONSOLEFONT="cyr-sun16"

в /etc/conf.d/keymaps:

KEYMAP="ru-ms"
SET_WINDOWKEYS="yes"
DUMPKEYS_CHARSET="koi8-r"

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

Попробовал все, ничего не помогло :(
/etc/init.d/consolefont restart ничего не дает, только reset. Соответственно и в rc-update толку нет.

InfectedM
() автор топика
Ответ на: комментарий от neocrust

# cat /etc/locale.gen
# /etc/locale.gen: list all of the locales you want to have on your system
#
# The format of each line:
# <locale> <charmap>
#
# Where <locale> is a locale located in /usr/share/i18n/locales/ and
# where <charmap> is a charmap located in /usr/share/i18n/charmaps/.
#
# All blank lines and lines starting with # are ignored.
#
# For the default list of supported combinations, see the file:
# /usr/share/i18n/SUPPORTED
#
# Whenever glibc is emerged, the locales listed here will be automatically
# rebuilt for you. After updating this file, you can simply run `locale-gen`
# yourself instead of re-emerging glibc.

#en_US ISO-8859-1
#en_US.UTF-8 UTF-8
#ja_JP.EUC-JP EUC-JP
#ja_JP.UTF-8 UTF-8
#ja_JP EUC-JP
#en_HK ISO-8859-1
#en_PH ISO-8859-1
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
#es_MX ISO-8859-1
#fa_IR UTF-8
#fr_FR ISO-8859-1
#fr_FR@euro ISO-8859-15
#it_IT ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
ru_RU.KOI8-R KOI8-R
ru_RU.ISO-8859-5 ISO-8859-5
ru_RU.CP1251 CP1251

InfectedM
() автор топика

>Решил попробовать Gentoo. Собрал из Stage1

Суров

gnu-eabi
()
Ответ на: комментарий от neocrust

CONSOLEFONT=«cyr-sun16»

Э... У тебя ещё baselayout не обновился, что ли? Недавно же много шума было. Теперь там так:

consolefont="ter-k16v"

Попробуй, кстати, другой шрифт. Возможно, упомянутый тобой кривой или с другой кодировкой.

Вообще, нужно проблему решать в два независимых этапа:

1. Сделать так, чтобы русский вывод работал корректно. Скажем, ls -l с русской локалью и видеть нормальные русские названия месяцев:

$ ls -l
итого 858608
drwxr-xr-x  7 balancer users       4096 Окт 20  2009 0backup
drwxr-xr-x  9 balancer users       4096 Сен 19  2008 0 ToDo
-rw-r--r--  1 balancer users     193783 Фев 28  2010 1_001.png
…

Это обычно достигается так:

/etc/conf.d/consolefont

consolefont="ter-k16v"
И всё, больше там ничего не нужно. Шрифт, естественно, должен быть в /usr/share/consolefonts — приведённый пример с ter-k16v — это из:
$ qfile ter-114v.psf.gz
media-fonts/terminus-font (/usr/share/consolefonts/ter-114v.psf.gz)

Потом, если с выводом русского всё ок, нужно убедиться, что всё нормально с русским вводом. Скажем, с такой настройкой: /etc/conf.d/keymaps

keymap="-u ruwin_alt-UTF-8"
windowkeys="YES"
fix_euro="NO"

Нужно подобрать себе раскладку. Скажем, ruwin_alt-UTF-8 — это переключение русского по CapsLock постоянное, и по RAlt — временное, пока нажат правый Alt.

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

KRoN73, со шрифтом и с keymap у меня все нормально. keymap кстати сам подбирал из разных вариантов, мне больше понравился «ruwin_ct_sh-UTF-8». А шрифт у меня сейчас «UniCyr_8x16». Все замечательно отображается и текст вводится правильно, но _только_ после того, как я введу в консоли «reset». Кстати, если после перелогиниться в консоли, то по прежнему все отображается как надо, а вот после перезагрузки опять нужно писать «reset».
Вот скрины до и после:
http://habreffect.ru/files/574/10817cdae/before.jpg
http://habreffect.ru/files/d4c/29a757dbe/after.jpg

megabaks, прописал LANG=«ru_RU.UTF-8» в файлах .bashrc .bash_profile, не помолго... :(

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

допиши export перед этим...
хотя даже хз тогда, чего ей надо

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

Консоль способность паказывать русский текс после перезагрузки не потеряла ) reset потребовался один раз. А вот некоторые приложения(links,man) показывают прямоугольные символы вместо русских букв.

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

Включение и отключение termencoding ничего не дало, а вот переключение в rc.conf флага unicode в «YES» решило проблему!
Спасибо, мил человек!

InfectedM
() автор топика

Кстати, links я не пользуюсь, а вот man у меня вообще показывает по-английски. Но в самый момент его запуска, когда он должен писать что-то вроде «формирую страницу руководства», вместо русского текста квадраты.

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

>писать что-то вроде «формирую страницу руководства», вместо русского текста квадраты.
Ну да, сам мануал на английском и есть, а вот сообщения выводит квадратами. Например man foo должно писать «не надйена справочная страница для foo», но здесь тоже квадраты.

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