LINUX.ORG.RU

Slackware — проблемы с локалью


0

0

Система Slackware 9.1, русифицировал её по статье, не помню ссылку (наверное сами знаете). Вывод `locale`:

LANG=ru
LC_CTYPE="ru"
LC_NUMERIC=C
LC_TIME="ru"
LC_COLLATE="ru"
LC_MONETARY="ru"
LC_MESSAGES="ru"
LC_PAPER="ru"
LC_NAME="ru"
LC_ADDRESS="ru"
LC_TELEPHONE="ru"
LC_MEASUREMENT="ru"
LC_IDENTIFICATION="ru"
LC_ALL=

НО: приложения почему-то думают, что локаль у меня -- ru_RU.ISO8859-5. Например, gnome-terminal показывает в меню: "Терминал"-->"Кодировка символов"-->"Текущая локаль (ISO8859-5)". Ну или ls, например, в виртуальных консолях (tty1-6) выводит символы типа ьБчсч. Ну и так далее.

Казалось бы, стоит только поставить LANG=ru_RU.KOI8-R, но если так сделать... приходится восстанавливать систему с rescue-диска... Потому как ВСЕ программы перестают запускаться, выдавая самые разные ошибки.

В общем, как сделать корректную локаль?

anonymous

Секундочку, а кто сказал что 'LANG=ru_RU.KOI8-R' достаточно, как бы не так. Надо бы ещё шрифты сменить('setconsolefont' и 'setfont'), привязки клавиш ('loadkeys') и явно указать все возможные локалы в '/usr/share/locale/locale.alias' или где у Вас там. Это всё в консолях, а в иксах шрифты и привязки клавиш.

Пример куска из XF86Config, касаясь привязок:

>...

>Identifier "Keyboard1"

>Driver "Keyboard"

>Option "XkbKeymap" "xfree86(ru)"

>Option "XkbSymbols" "en_US(pc_universal)+ru(basic)+group(ctrl_shift_toggle)"

>EndSection

>...

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

Slackware-9.0 2.4.22-xfs+packet
======================
/etc/profile.d/lang.sh
----------------------
#!/bin/sh
# Set the system locale (default C is the same as en_US):
##export LANG=C
# This setting has been reported to fix some cut and paste
# problems with GTK2.  If you experience this, try it:
#export LANG=en_US.ISO8859-1
# /etc/profile: This file contains system-wide defaults used by
# all Bourne (and related) shells.

export LANG="ru_RU.KOI8-R"
export NLSPATH=/usr/share/locale/ru_RU/
export LESSCHARSET=koi8-r
export LANGUAGE="POSIX"
export LC_MESSAGES="POSIX"
export LC_CTYPE="ru_RU.KOI8-R"
export LC_NUMERIC="POSIX"
export LC_TIME="POSIX"
export LC_COLLATE="ru_RU.KOI8-R"
export LC_MONETARY="POSIX"
export LC_MESSAGES="POSIX"
export LC_PAPER="POSIX"
export LC_NAME="POSIX"
export LC_ADDRESS="POSIX"
export LC_TELEPHONE="POSIX"
export LC_MEASUREMENT="POSIX"
export LC_IDENTIFICATION="POSIX"
export LC_ALL=

# 
#* The assumption of GLib and GTK+ by default is that filenames on the
#  filesystem are encoded in UTF-8 rather than the encoding of the locale;
#  The GTK+ developers consider that having filenames whose interpretation
#  depends on the current locale is fundamentally a bad idea.
#
#  If you have filenames encoded in the encoding of your locale, then
#  you may want to set the G_BROKEN_FILENAMES environment variable:
#  
#   G_BROKEN_FILENAMES=1
#   export G_BROKEN_FILENAMES
#
#  Best integration of GTK+-2.2 with the environment is achieved by 
#  using a UTF-8 locale.

export G_BROKEN_FILENAMES="1"

======================
/etc/rc.d/rc.font
----------------------
#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
setfont -v Cyr_a8x16
mapscrn koi2alt
for n in 1 2 3 4 5 6; do
    echo -ne "\033(K" > /dev/tty$n
done
loadkeys ru1
----------------------

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