PDA

Показать полную графическую версию : кириллица в консоли (Suse 10.0)


rrev
25-04-2007, 10:05
Доброго времени суток! К уважаемым Гуру просьба помочь в решении следующей проблемы.
Дистрибутив 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
Попробуйте :

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

rrev
25-04-2007, 16:27
Ранее в /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
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
Прошу прощения у уваж. модератора. Но я опечатался, сначала конфиг был точь-в-точь как в последнем посте ruslandh При этом в командной строке (не под иксами, под иксами проблем нет) при вводе русских букв (переключение по Альт-шифт) ничего не вводилось (вроде как пробелы, ничего нет, курсор движется).
:-(

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

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

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

rrev
28-04-2007, 15:09
Уф! Заработало! Вычислил путем отсеивания из лога 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"


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

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




© OSzone.net 2001-2012