The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Руссификация консоли Red Hat 9, !*! toris0, 16-Янв-08, 07:55  [смотреть все]
Пытаюсь руссуфицировать консоль Red Hat 9, который изначально устанавливал без поддержки русского языка. После прочтения большого количества документаций пришёл к следующему скрипту:
#!/bin/sh
if [ notset.$DISPLAY != notset. ]; then
echo "Welcome to xterm"
else
  if [ $TERM = xterm ]; then
   echo "Welcome to xterm"
   else
    loadkeys /lib/kbd/keymaps/i386/qwerty/ru4.map.gz
    setfont /lib/kbd/consolefonts/Cyr_a8x16.psfu.gz
    mapscrn /lib/kbd/consoletrans/koi2alt
    echo -ne "\033(K"
    echo "Use the CapsLock key to swith ..."
  fi
fi

export LANG=ru_RU.KOI8-R
export LC_ALL=ru_RU.KOI8-R
export NLSPATH=/usr/share/locale/ru_RU
export LESSCHARSET=koi8-r
export LC_CTYPE=ru_RU.KOI8-R
export LC_NUMERIC=POSIX
export COLORTERM=
export TERTMINFO=/usr/lib/terminfo
# For Russian GostScript
export GS_OPTIONS=-dNOPLATFONTS
export GS_PATH=/usr/share/gostscript/fonts

export SUPPORTED=ru_RU.KOI8-R:ru_RU.koi8r:ru_RU:ru
export SYSFONT=cyr-sun16
export SYSFONTACM=koi8-u
export KEYBOARDTYPE=pc
export KEYTABLE=ru-ms # здесь пробовал писать ru4

понимаю, что использованеие скрипта не совсем правильно, и все эти настройка надо разложить по кунфигурационным файлам, но со скриптом тестировать легче.

Пезультат получается очень интересный. Если просто заходишь в консоль и переключаешься на кусскую раскладку, то можно писать русскими буквами. Можно создать файл с русским именем (touch вася), но когда делаешь ls, файл отображается вопросиками...
Когда заходишь в mc, то файлы с русскими именами не отображаются (режим 8 bit включен. кодировка выбрана koi8-r). при попытке печатать по русски что-то набирается, курсор двигается, но буквы сами не отображаются. После нажатия Ctrl+O в mc, выполнив команду ls можно увидеть файлы с русскими именами и если в файле есть русские буквы команда cat их отображает. Версия mc-4.6.0-5. Команад date выводит название дней недели и месяцев по русски.

Может кто-нибудь подскажет что надо делать.

Заранее спасибо.

  • Руссификация консоли Red Hat 9, !*! toris0, 12:03 , 16-Янв-08 (1)
    Разобрабся с этой проблемой.
    Самому смешно )))
    Для руссификации консоли в Red Hat 9 достаточно одной команды:
    export LANG="ru_RU.KOI8-R"

    !!! только из MC это запускать нельзя.

    можно записать эту сточку в .bash_profile, и консоль у вас всегда будет с русским языком.

    Возникла другая проблема. Теперь на разделах самбы из консоли видны файлы с русскими именами в виде псевдографики. Кто знает как от этого избавиться подскажите пожалуйста.

    • Руссификация консоли Red Hat 9, !*! angra, 05:51 , 17-Янв-08 (3)
      • Руссификация консоли Red Hat 9, !*! toris0, 09:20 , 22-Янв-08 (4)
        >Почитать опции монтирования для smb, если не ошибаюсь за это отвечает iocharset
        >

        Вы очевидно меня не правильно поняли (или я неполно изложил суть проблемы).
        есть раздел в линуксе, имеющий файловую систему ext3. этот раздел используется самбой, и монтируется windows-машинам при входе в домен как сетевой диск. И виндовые машины пишут туда русскими буквами. Эту проблемуможно было бы решить, если при начальной настройке самбы установить опции:
        character set=koi8-r
        client code page=866
        но этого не было сделано. А теперь там уже очень много фалов и переименовывать их долго. Да и не правлиьно это как-то. Функция мантирования iocharset используется для мантирования виндовых разделов в линукс. И может быть использована для файловых систем ntfs, vfat и д.р. а у меня ext3, которая эту опцию не поддерживает.
        Мне же надо, чтобы созданные виндой имена фалов с русскими буквами отображались в консоли в правлиьной кодировке а не в псевдографике, как они сейчас отображаются.


        • Руссификация консоли Red Hat 9, !*! angra, 02:08 , 23-Янв-08 (7)
          • Руссификация консоли Red Hat 9, !*! toris0, 10:48 , 31-Янв-08 (8)
            >У ext2/3 не понятия внутренней кодировки, ничто не мешает одной программе писать
            >в utf8, а другой в koi8, в результате будут имена в
            >обоих кодировках. Так что придется вам либо изменить кодировку в консоли
            >либо таки перекодировать имена всех файлов, между прочим последнее делается в
            >одну строку на баше.

            Разобрался со всем, чем мог. Решил доку выложить. Может поможет какому нибудь начинающему линуксоиду. Такому же как я.

            Руссификация Red Hat 9
            1.    Из файла /etc/sysconfig/i18n удаляем всё и пишем туда следующее:
            LANG="ru_RU.KOI8-R"
            SUPPORTED="ru_RU.KOI8-R:ru_RU.koi8r:ru_RU:ru"
            SYSFONT="cyr-sun16"
            SYSFONTACM="koi8-u"
            2.    Из файла /etc/sysconfig/keyboard удаляем всё и пишем туда следующее:
            KEYBOARDTYPE="pc"
            KEYTABLE="ru-ms"
            3.    Добавляем сточку в файл /root/ .bash_profile строчку:
            export LANG="ru_RU.KOI8-R"
            и вбираем все остальные строчки начинающиеся на export LANG=
            4.    Добавляем в файл /etc/samba/smb.conf следующие сточки:
            dos charset = CP866
            unix charset = KOI8-R
            5.      Заходим на сетевые диски самбы из windows и поиском в фаре находим все файлы содержащие символ “№”, заменяем символ “№” в именах файлов на “#”. Это необходимо сделать, так как в samba 3.X в кодировке KOI8-R не существует символа “№”.
            6.    Перезагружаем сервер командой reboot
            7.    Выполняем следующие команды
            rpm –U groff-1.18.1-24.i386.rpm
            rpm –U groff-gxditview-1.18.1-24.i386.rpm
            rpm –U groff-perl-1.18.1-24.i386.rpm
            rpm –U less-378-8.i386.rpm
            rpm –U mc-4.6.0-5.i386.rpm
            8.    В mc жмём F9 выбираем пункт Настройки(Options)->Биты символов(Display Bits) и выбираем здесь кодировку KOI8-R, а так же ставим крестик Полный 8-битный ввод (Full 8 bits input)
            9.    Копируем файл utf2koi в раздел самбы на линукс сервере и запускаем его на выполнение.

            P.S. скрипт, содержащийся в файле utf2koi
            #!/bin/bash

            CODE_FROM="UTF-8"

            function recode_file()
            {
            old_name="$@"
            new_name=`echo "$@" | iconv -c -f$CODE_FROM`
            stat1=$?
            mid_name=`echo "$@" | iconv -c -fUTF-8 2>/dev/null`
            stat2=$?

            if [ x"$old_name" != x"$new_name" -a $stat1 -eq 0 -a x"$mid_name" != x"$old_name" ];
              then
               echo "Recode: $old_name -> $new_name"
               mv "$old_name" "$new_name"
            fi
            }

            function reading_dir()
            {
               files="$1"
               for i in "$files"/*
                do
                 if [ -d "$i" ];
                  then
                   echo "Dir: "$1"/`basename "$i"`"
                   old_way=`pwd`
                   cd "$1"
                   recode_file "`basename "$i"`"
                   cd $old_way
                 fi
                done


               files="$1"
               for i in "$files"/*
               do
                if [ -d "$i" ];
                 then
                  t="$1"/`basename "$i"`
                  echo "t: $t"
                  reading_dir "$t"
                 else
                  old_way=`pwd`
                  cd "$1"
                  echo "File: `basename "$i"`"
                  recode_file "`basename "$i"`"
                  cd $old_way
               fi
              done
            }

            reading_dir "`pwd`"


  • Руссификация консоли Red Hat 9, !*! Ag, 23:57 , 16-Янв-08 (2)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру