Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   кириллица в консоли (Suse 10.0) (http://forum.oszone.net/showthread.php?t=83089)

rrev 25-04-2007 10:05 579231

кириллица в консоли (Suse 10.0)
 
Доброго времени суток! К уважаемым Гуру просьба помочь в решении следующей проблемы.
Дистрибутив Suse 10.0. При наборе в ком. строке (в текстовом режиме, не в Иксах) русские буквы отображаются нормально, но ситема их "не понимает". Например, на "cd папка" выдает что такой нету, хотя она есть. Или после "md папка" создает ее, и может в нее перейти, но в иксах она отображается кракозябрами. Вот листинг сист. файлов, имеющих отношение к данной проблеме (если какой забыл, скажите!)

/etc/sysconfig/console

Код:

FB_MODULES=""
FBSET_PARAMS=""
CONSOLE_FONT="koi8r-8x16.gz"
CONSOLE_UNICODEMAP="koi8r.uni"
CONSOLE_SCREENMAP="koi8-r_to_uni.trans"
CONSOLE_MAGIC="(K"
CONSOLE_ENCODING="UTF-8"

/etc/sysconfig/keyboard

Код:

KEYTABLE="ru1.map.gz"
KBD_DELAY=""
KBD_RATE=""
KBD_NUMLOCK="bios"
KBD_SCRLOCK="no"
KBD_CAPSLOCK="no"
KBD_DISABLE_CAPS_LOCK="no"
KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6"
COMPOSETABLE="clear winkeys shiftctrl cp1251.add"
YAST_KEYBOARD="russian,pc104"

/etc/sysconfig/language

Код:

RC_LANG="ru_RU.UTF-8"
RC_LC_ALL=""
RC_LC_MESSAGES=""
RC_LC_CTYPE=""
RC_LC_COLLATE=""
RC_LC_TIME=""
RC_LC_NUMERIC=""
RC_LC_MONETARY=""
RC_LC_PAPER=""
ROOT_USES_LANG="ctype"
AUTO_DETECT_UTF8="yes"
INSTALLED_LANGUAGES="en_US,ru_RU"

xorg.conf (убрал заведомо не нужные секции про монитор и видюху)

Код:

Section "Files"
  FontPath    "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/local"
  FontPath    "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath    "/usr/X11R6/lib/X11/fonts/URW"
  FontPath    "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath    "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath    "/usr/X11R6/lib/X11/fonts/cyrillic"
  FontPath    "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath    "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/kwintv"
  FontPath    "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath    "/usr/X11R6/lib/X11/fonts/uni:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/CID"
  FontPath    "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath    "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
  FontPath    "/usr/X11R6/lib/X11/fonts/xtest"
  FontPath    "/opt/kde3/share/fonts"
  InputDevices "/dev/ttyS0"
  InputDevices "/dev/ttyS1"
  InputDevices "/dev/ttyS2"
  InputDevices "/dev/ttyS3"
  InputDevices "/dev/ttyS4"
  InputDevices "/dev/ttyS5"
  InputDevices "/dev/ttyS6"
  InputDevices "/dev/ttyS7"
  InputDevices "/dev/ttyS8"
  InputDevices "/dev/psaux"
  InputDevices "/dev/logibm"
  InputDevices "/dev/sunmouse"
  InputDevices "/dev/atibm"
  InputDevices "/dev/amigamouse"
  InputDevices "/dev/atarimouse"
  InputDevices "/dev/inportbm"
  InputDevices "/dev/gpmdata"
  InputDevices "/dev/mouse"
  InputDevices "/dev/usbmouse"
  InputDevices "/dev/adbmouse"
  InputDevices "/dev/input/mice"
  InputDevices "/dev/input/event0"
  InputDevices "/dev/pointer0"
  InputDevices "/dev/pointer1"
  InputDevices "/dev/pointer2"
  InputDevices "/dev/pointer3"
EndSection

Section "ServerFlags"
  Option      "AllowMouseOpenFail"
EndSection

Section "Module"
  Load        "extmod"
  Load        "type1"
  Load        "glx"
  Load        "freetype"
  Load        "dbe"
  Load        "v4l"
EndSection

Section "InputDevice"
  Driver      "kbd"
  Identifier  "Keyboard[0]"
  Option      "Protocol" "Standard"
  Option      "XkbLayout" "us,ru"
  Option      "XkbModel" "pc105"
  Option      "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
  Option      "XkbRules" "xfree86"
  Option      "XkbVariant" ",winkeys"
EndSection


Section "InputDevice"
  Driver      "mouse"
  Identifier  "Mouse[1]"
  Option      "Buttons" "5"
  Option      "Device" "/dev/input/mice"
  Option      "Name" "ImPS/2 Logitech Wheel Mouse"
  Option      "Protocol" "explorerps/2"
  Option      "Vendor" "Sysp"
  Option      "ZAxisMapping" "4 5"
EndSection


Section "Monitor"
  DisplaySize  310 230
  HorizSync    28-71
  Identifier  "Monitor[0]"
  ModelName    "SYNCMASTER 793 MB"
  Option      "DPMS"
  VendorName  "SAMSUNG"
  VertRefresh  50-160
  UseModes    "Modes[0]"
EndSection



Section "ServerLayout"
  Identifier  "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Option      "Clone" "off"
  Option      "Xinerama" "off"
  Screen      "Screen[0]"
EndSection

Section "DRI"
    Group      "video"
    Mode      0660
EndSection

Section "Extensions"
EndSection


ну и до кучи вывод >locale

Код:

LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Что интересно, при запуске конфигуратора YAST, в разделе "language", если поставить галочку "Apply keyboard layout to Руский" (так и написано), все приходит в норму. А после перезагрузки kbd (#/etc/init.d/kbd restart) снова та же проблема. Копался в логе YAST'а, но там очень много строк на тему языка и шрифтов, так что я в нем погряз.

Подскажите, где мое упущение.

ruslandh 25-04-2007 10:32 579248

Попробуйте :

/etc/sysconfig/console
.........
CONSOLE_FONT="Cyr_a8x16.psfu"
..............

rrev 25-04-2007 16:27 579417

Ранее в /etc/sysconfig/console было:
Код:

FB_MODULES=""
FBSET_PARAMS=""
CONSOLE_FONT="Cyr_a8x16.psfu"
CONSOLE_UNICODEMAP="trivial"
CONSOLE_SCREENMAP=""
CONSOLE_MAGIC="(K"
CONSOLE_ENCODING="UTF-8"

При этом в командной строке (не под иксами, под иксами проблем нет) при вводе русских букв (переключение по Альт-шифт) ничего не вводилось (вроде как пробелы, ничего нет, курсор движется).

Решил исправить проблему, получился файл /etc/sysconfig/console такой:
Код:

FB_MODULES=""
FBSET_PARAMS=""
CONSOLE_FONT="koi8r-8x16.gz"
CONSOLE_UNICODEMAP="koi8r.uni"
CONSOLE_SCREENMAP="koi8-r_to_uni.trans"
CONSOLE_MAGIC="(K"
CONSOLE_ENCODING="UTF-8"

Русские буквы при наборе появились, но видимо не в той кодировке, система их не понимает.

По совету уважаемого модератора подставил шрифт Cyr_a8x16.psfu, т.е.
Код:

FB_MODULES=""
FBSET_PARAMS=""
CONSOLE_FONT="Cyr_a8x16.psfu"
CONSOLE_UNICODEMAP="koi8r.uni"
CONSOLE_SCREENMAP="koi8-r_to_uni.trans"
CONSOLE_MAGIC="(K"
CONSOLE_ENCODING="UTF-8"

После этого в ком. строке рус. символы стали отображаться кракозябрами (типа досовской псевдографики)

После каждого изменения, естесственно, делал рестарт kbd.

Перерыл весь гугл :-) Везде разные решения, не одно не катит...

ruslandh 25-04-2007 23:40 579614

Цитата:

CONSOLE_FONT="Cyr_a8x16.psfu"
CONSOLE_UNICODEMAP=""
CONSOLE_SCREENMAP="trivial"
CONSOLE_MAGIC="(K"
FB_MODULES=""
FBSET_PARAMS=""
CONSOLE_ENCODING="UTF-8"

rrev 26-04-2007 10:48 579762

Прошу прощения у уваж. модератора. Но я опечатался, сначала конфиг был точь-в-точь как в последнем посте ruslandh
Цитата:

При этом в командной строке (не под иксами, под иксами проблем нет) при вводе русских букв (переключение по Альт-шифт) ничего не вводилось (вроде как пробелы, ничего нет, курсор движется).
:-(

rrev 28-04-2007 08:53 580696

Читал КирилликХауТу. Все то же. Прошу обратить внимание, что YAST ставит все на свои места (до перезагрузки) и все работает. Что же он делает такое, что не хватает(не верно) в конф. файлах.

Должны же быть идеи у столь уважаемых и умных людей!

ruslandh 28-04-2007 09:02 580699

Ну Yast в Suse имеет такую большую роль, что разработчики даже не советуют менять конфигурацию помимо Yast (основная причина за что не люблю Suse :) ).

rrev 28-04-2007 15:09 580842

Уф! Заработало! Вычислил путем отсеивания из лога Yast'а лишних записей. А затем подстановка параметров "по одному", с последующей перезагрузкой kbd и проверкой. Если не получ. - снова yast и так по кругу. В итоге выяснилось что дело все в раскадке клавиатуры. Случайно (!) нашел раскладку ru-utf.map.gz (http://mlclm.narod.ru/ru-utf.map.gz). Все конфиги как в моем первом посте, кроме /etc/sysconfig/keyboard, он должен быть таким:

Код:

KEYTABLE="ru-utf.map.gz"
KBD_DELAY=""
KBD_RATE=""
KBD_NUMLOCK="bios"
KBD_SCRLOCK="no"
KBD_CAPSLOCK="no"
KBD_DISABLE_CAPS_LOCK="no"
KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6"
COMPOSETABLE="clear winkeys shiftctrl cp1251.add"
YAST_KEYBOARD="russian,pc104"

Работает "на ура" и в графике и в консоли! Даже есть символы "Ъ" и "Ё"!

Считаем тему решенной. Всем спасибо!


Время: 18:22.

Время: 18:22.
© OSzone.net 2001-