61

Re: Русификация консоли Slackware

У вас отсутствует iconv, который входит в пакет glibc. Установите этот пакет.

62

Re: Русификация консоли Slackware

Ребят пробовал сделать русификацию в консоли, и сделал косяк, где нужно поправить чтобы правильно отображалась кодировка?
http://s018.radikal.ru/i504/1202/4a/b49e4983e56ct.jpg

63

Re: Русификация консоли Slackware

/etc/profile.d/lang.sh

Консоль
#!/bin/sh
# Set the system locale.  (no, we don't have a menu for this ;-)
# For a list of locales which are supported by this machine, type:
#   locale -a

# en_US is the Slackware default locale:
export LANG=ru_RU.UTF-8

# 'C' is the old Slackware (and UNIX) default, which is 127-bit
# ASCII with a charmap setting of ANSI_X3.4-1968.  These days,
# it's better to use en_US or another modern $LANG setting to
# support extended character sets.
#export LANG=C

# There is also support for UTF-8 locales, but be aware that
# some programs are not yet able to handle UTF-8 and will fail to
# run properly.  In those cases, you can set LANG=C before
# starting them.  Still, I'd avoid UTF unless you actually need it.
#export LANG=en_US.UTF-8

# Another option for en_US:
#export LANG=en_US.ISO8859-1

# One side effect of the newer locales is that the sort order
# is no longer according to ASCII values, so the sort order will
# change in many places.  Since this isn't usually expected and
# can break scripts, we'll stick with traditional ASCII sorting.
# If you'd prefer the sort algorithm that goes with your $LANG
# setting, comment this out.
export LC_COLLATE=C

# End of /etc/profile.d/lang.sh

/etc/rc.d/rc.font

Консоль
#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
setfont Cyr_a8x16.psfu.gz


Скорее всего у Вас

export LANG=ru_RU

прописано в /etc/profile.d/lang.sh

64

Re: Русификация консоли Slackware

в /etc/profile.d/lang.sh
стояло значение export LANG=ru_RU.CP1251 поменял на UTF-8

а в /etc/rc.d/rc.font
setfont Cyr_a8x16
mapscrn cp1251_to_uni.tarns
хотел поменять cp1251 на UTF-8, но выдало вот, что

Консоль
Loading 256-char 8x16 font from file /usr/share/kbd/consolefonts/default8x16.psfu.gz
putfont: PIO_FONT: Недопустимый аргумент
putfont: PIO_FONT: Недопустимый аргумент
mapscrn: не могу открыть файл "UTF-8_to_uni.trans"
cannot open file ru-UTF-8

65 (03.02.2012 13:01:16 отредактировано bormant)

Re: Русификация консоли Slackware

avaddon66,
во-первых, нужно определиться, будет ли использоваться юникодная (в современных ядрах используется по-умолчанию) или однобайтовая консоль (в /etc/lilo.conf строка append = " vt.default.utf-8=" 1/0, а также unicode_start/unicode_stop).

во-вторых, нужно определиться с локалью. Насколько вижу, ваш выбор cp1251. Поскольку mapscrn считается устаревшим, о чём не стесняется заявлять пр его запуске, пару

Консоль
setfont Cyr_a8x16
mapscrn cp1251_to_uni.tarns

можно заменить на
Консоль
setfont Cyr_a8x16 -m cp1251_to_uni

в-третьих, собственно про mc. Дело в том, что в исходном коде подсказки c незапамятных времён лежали в KOI8-R, никогда в cp1251. В вашем случае их нужно перекодировать в используемую вами кодировку (cp1251) или отключить  smile .

ps. Русские подсказки лежат в /usr/share/mc/hints/mc.hint.ru.
В Slackware-13.37 и mc-4.7.5.2 они лежат там в UTF-8. Для перекодирования из UTF-8 в cp1251 достаточно

Консоль

# iconv -f utf8 -t cp1251 /usr/share/mc/hints/mc.hint.ru  # проверить в текущей локали
# cat /usr/share/mc/hints/mc.hint.ru > /tmp/mc.hint.ru  # бэкап
# iconv -f utf8 -t cp1251 /tmp/mc.hint.ru > /usr/share/mc/hints/mc.hint.ru  # собственно перекодировка

66

Re: Русификация консоли Slackware

cdrw,
если у ТС ru_RU.CP1251 было осознанным выбором, то ваш совет в стиле "ухо зачесалось -- отруби голову".

67 (03.02.2012 13:36:34 отредактировано mil612)

Re: Русификация консоли Slackware

ТС ru_RU.CP1251 было осознанным выбором

нет, это было скорее тупо следование инструкции по установке slackware, там один из пунктов выбора кодировки предлагалось CP1251, что я и сделал.
в /etc/lilo.conf  значение стоит append=" vt.default_utf8=0"

/usr/share/mc/hints/mc.hint.ru

такого каталога нет, mc.hint.ru находится непосредственно в /mc
а если отредактировать путь, то выходит следущее

Консоль
iconv -f utf8 -t cp1251 /tmp/mc.hint.ru > /usr/share/mc/mc.hint.ru
iconv: недопустимая входная последовательность в позиции 0

68 (03.02.2012 15:02:26 отредактировано bormant)

Re: Русификация консоли Slackware

avaddon66 пишет

было скорее тупо следование инструкции

Тогда http://linuxforum.ru/viewtopic.php?id=19691 в UTF8

ps. А поделитесь ссылкой на инструкцию, ведь не исключено, что там ru_RU.CP1251 было выбрано не с потолка, а в качестве "меньшего из зол" для совместимости с Windows, например, в части русских имён на общих ресурсах nfs. И если для ftp и samba этот вопрос остро не стоит, то в упомянутом случае может крови попортить.

pps. Не заметил, что речь о Slackware-12.2. Принцип тот же, только в комплекте нет того разнообразия русских раскладок. Но можно взять из, например, 13.37. Вру, есть.

69 (03.02.2012 13:58:16 отредактировано bormant)

Re: Русификация консоли Slackware

avaddon66 пишет

ТС ru_RU.CP1251 было осознанным выбором

/usr/share/mc/hints/mc.hint.ru

такого каталога нет, mc.hint.ru находится непосредственно в /mc

тогда

Консоль

# iconv -f utf8 -t cp1251 /usr/share/mc/mc.hint.ru  # проверить в текущей локали

если всё правильно, то
Консоль

# cat /usr/share/mc/mc.hint.ru > /tmp/mc.hint.ru  # бэкап
# iconv -f utf8 -t cp1251 /tmp/mc.hint.ru > /usr/share/mc/mc.hint.ru

или

Консоль

# iconv -f utf8 -t cp1251 /usr/share/mc/mc.hint.ru > /tmp/mc.hint.ru
# cat /tmp/mc.hint.ru > /usr/share/mc/mc.hint.ru

ps. Если впишите свою версию Slackware в параметры профиля -- сильно обяжете. Спасибо.

pps. В Slackware-12.2 не помню точно кодировку хинтов, могла быть ещё KOI8-R, тогда "-f utf8" меняется на "-f koi8-r"

Консоль

# iconv -f koi8-r -t cp1251 /usr/share/mc/mc.hint.ru
# iconv -f koi8-r -t cp1251 /usr/share/mc/mc.hint.ru > /tmp/mc.hint.ru
# cat /tmp/mc.hint.ru > /usr/share/mc/mc.hint.ru

70 (03.02.2012 14:17:50 отредактировано mil612)

Re: Русификация консоли Slackware

К сожалению ссылку предоставить не могу, инструкция в печатном виде, но там стандартные скриншоты установки системы, но только стоит выбор значения qwerty/ru-cp1251.map, без описания зачем и для чего это.

после применение этих комманд

Консоль
#iconv -f utf8 -t cp1251 /usr/share/mc/mc.hint.ru
# cat /usr/share/mc/mc.hint.ru > /tmp/mc.hint.ru
# iconv -f utf8 -t cp1251 /tmp/mc.hint.ru > /usr/share/mc/mc.hint.ru

текст стал отображаться как надо, но только на английском

71 (03.02.2012 14:48:59 отредактировано bormant)

Re: Русификация консоли Slackware

avaddon66 пишет

текст стал отображаться как надо, но только на английском

Стоп.

1) Определяетесь, что требуется, ru_RU.UTF-8, или ru_RU.CP1251, или ru_RU.KOI8-R.
Каково решение?

2)

Консоль

# lilo

Перезагружаетесь. Показываете
Консоль

# grep -F vt.default.utf-8 /etc/lilo.conf
# locale
# grep -Ev '^#|^$' /etc/profile.d/lang.sh
# ls -l /etc/rc.d/rc.font
# cat /etc/rc.d/rc.font
# ls -l /etc/rc.d/rc.keymap
# cat /etc/rc.d/rc.keymap
# grep ^ru /usr/share/locale/locale.alias
# cat /usr/share/mc/mc.hints.ru | hexdump -C | head

ps.
После применения команды:

Консоль

# iconv -f utf8 -t cp1251 /usr/share/mc/mc.hint.ru

Вы видели правильный русский текст?

72

Re: Русификация консоли Slackware

bormant пишет

cdrw,
если у ТС ru_RU.CP1251 было осознанным выбором, то ваш совет в стиле "ухо зачесалось -- отруби голову".

А я ничего не советовал. Я попытался подсказать в чём дело.

73

Re: Русификация консоли Slackware

avaddon66 пишет

К сожалению ссылку предоставить не могу, инструкция в печатном виде, но там стандартные скриншоты установки системы, но только стоит выбор значения qwerty/ru-cp1251.map, без описания зачем и для чего это.

отмотайте на первую страницу, и делайте как ЗДЕСЬ написано.

74

Re: Русификация консоли Slackware

Определяетесь, что требуется, ru_RU.UTF-8, или ru_RU.CP1251, или ru_RU.KOI8-R

это ru_RU.CP1251

возможно не правильно выразилсяв предыдущем посте, я про выделенную на картинке строку имел ввиду
http://s017.radikal.ru/i422/1202/37/3c6856578c09t.jpg
все отображается нормально, кроме неё как бы, возможно она и не должна русифицироваться

отмотайте на первую страницу, и делайте как ЗДЕСЬ написано

делал, у меня потом стали показываться знаки вопроса и решетки, скрин забыл сделать, вернул все обратно

75

Re: Русификация консоли Slackware

avaddon66,
Если не осталось бэкапа оригинального файла, есть смысл предварительно переустановить пакет mc.
В пакете http://slackware.osuosl.org/slackware-1 … i486-2.tgz
файл /usr/share/mc/mc.hint.ru в кодировке KOI8-R. Достаточно для оригинального файла выполнить

Консоль

# iconv -f koi8-r -t cp1251 /usr/share/mc/mc.hint.ru > /usr/share/mc/mc.hint.ru_RU.CP1251


cdrw пишет

Я попытался подсказать в чём дело.

Дело в том, что для русской локали подходят несколько кодировок: UTF-8, KOI8-R, KOI8-U, CP1251, CP866, ISO-8859-5. Корректно русифицировать систему можно с любой из них. А по вашим словам получается, что кроме UTF-8 других вариантов нет. Я согласен, что это зачастую один из лучших вариантов, но другие тоже имеют право на существование.

76

Re: Русификация консоли Slackware

bormant пишет

Дело в том, что для русской локали подходят несколько кодировок: UTF-8, KOI8-R, KOI8-U, CP1251, CP866, ISO-8859-5. Корректно русифицировать систему можно с любой из них. А по вашим словам получается, что кроме UTF-8 других вариантов нет.

Да ничего по моим словам не получается!
Когда то, я пытался прикрутить русский язык в дистрибутиве Lycoris, в кодировке KOI8. Так вот у меня тоже тогда подобное случилось. Тоже подсказка в mc кракозябрами показывала. В последствии оказалось что mc для этого дистрибутива был скомпилен для работы под  кодировкой ISO-8859-5!!!
А мне было по барабану в какой кодировке, мне было главное чтобы кракозяликов не было.  Исходя из воспоминаний, я и "подтолкнул" человека к тому месту где проблема кроется!
И всё, ничего личного! И не надо за меня придумывать, чего я хотел сказать!!! ah

77

Re: Русификация консоли Slackware

cdrw,
ваш совет http://linuxforum.ru/viewtopic.php?pid=247973#p247973 свёлся к "export LANG=ru_RU.UTF-8". А это совсем не то, о чём был вопрос.
В mc файлы подсказок и справки лежат в /usr/share/mc. В дистрибутиве 12.2 русские файлы в koi8-r. Если хочется использовать другую кодировку локали, нужно либо перекодировать существующие файлы в нужную кодировку, либо, для сохранения универсальности, положить файлы в разных кодировках, например, mc.help.ru_RU.KOI8-R, mc.hint.ru_RU.KOI8-R, mc.help.ru_RU.CP1251, mc.hint.ru_RU.CP1251 и т.д. для нужных кодировок, тогда mc не будет путаться и сможет выбирать правильные файлы для текущей локали.

78

Re: Русификация консоли Slackware

Бормант, Вы умный...
Спорить, даже совесть не позволяет...
Можно сказать в чём Ваш прокол?
Скажу, не ожидая ответа!
Помните о русификации Slackware?
Так вот Вы мне ответили в стиле - ищи сам, умником выглядишь...
Это не так, с огорчением спешу сообщить...
Я просто тупой!!!
Больше, обязуюсь  в диалоги с Вами не вступать...