Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
Кросс-платформенный эталонный тест, который измеряет работоспособность процессора и оперативной памяти вашего компьютера...
Бомбина (Bombina) - клавиатурный тренажёр с бегемотами для школьников. В клавиатурном тренажёре Bombina, как и во многих...
Программа для создания календарей за период с 1583 до 9999 года, поддерживающая создание более 100 языковых вариантов и ...
Профессиональный цифровой звуковой редактор с широкими возможностями. Программа обладает мощным набором инструментов для...
Программа Cerberus FTP Server позволяет создать и запустить собственный FTP-сервер. При этом он будет поддерживать возоб...
OSzone.net Видео Unix Linux Разное Русификация SuSE 9 RSS

Русификация SuSE 9

Текущий рейтинг: 5 (проголосовало 1)
 Посетителей: 3934 | Просмотров: 4888 (сегодня 0)  Шрифт: - +
Введение.

   Если бы уровень поддержки кириллицы в SuSE Linux был немного
   лучше, то дистрибутив неизбежно нашёл бы большее число поклонников
   среди обычных пользователей на территории стран Содружества. Одной из
   причин, способствующих популярности SuSE Linux, можно назвать
   YaST, утилиту для централизованного управления и настройки
   Linux-системы. Если провести аналогию, то по спектру функциональных
   возможностей и удобству YaST является аналогом "Панели управления" в
   Windows. Не исключено, что не последнюю роль в создании такого
   продукта сыграл немецкий педантизм. Но даже у лучших бывают недостатки
   -- в качестве компенсации их достоинств.

   К сожалению, YaST не предоставляет возможностей тонкой настройки
   кириллицы в консоли. Если взглянуть, например, на дистрибутивы ALT
   Linux, то в них вы имеете возможность выбрать не только кодировку для
   системы (koi8-r или cp1251)[1], но и "горячие" клавиши для
   переключения между раскладками клавиатуры. Конечно, если вы запустили
   терминальную программу (konsole, xterm, aterm и т.п.), то "иксы" сами
   отвечают за переключение раскладок, но бывают случаи, когда X Window
   System не нужна, а работать с кириллицей необходимо. Но даже это не
   главная причина необходимости настроить правильно переменные языковой
   среды. Дело в том, что вывод информации на экран напрямую зависит от
   правильно настроенной локали[2] и оставлять её в том виде, как
   предлагает SuSE Linux, нельзя.


Консоль.


Настройка KOI8-R.

   Для корректного отображения шрифтов в консоли необходимо правильно
   настроить:

     * локаль
     * раскладки клавиатуры и клавиши (или комбинации клавиш) для
       переключения между ними
     * шрифты и параметры их вывода на экран


   От автора:
   Предполагаю некоторые из читателей заметят: "опять пугаем
   пользователей рассказами о непосредственном редактировании
   конфигурационных файлов". Угу. Пугаем. Но к сожалению пока через YaST
   невозможно настроить всё что необходимо, поэтому приходится прибегать
   к таким методам.


Настройка локали (/etc/sysconfig/language).

   За настройку локали в SuSE Linux отвечает файл /etc/sysconfig/language. В
   нём, как минимум, необходимо изменить значение переменной RC_LANG ([3]):

        RC_LANG="ru_RU.KOI8R"


   Если возникает необходимость в настройке отображения чисел и другой
   информации, зависящей от типа локали, вы можете указать необходимое. В
   качестве примера рассмотрим случай, когда вам требуется, чтобы все
   сообщения в системе шли на английском, но при этом оставалась
   возможность работать с кириллицей (своего рода пан-европейская версия
   Linux). В этом случае вам необходимо изменить значение переменной
   RC_LC_MESSAGES:

        RC_LC_MESSAGES="POSIX"


   Изначально она (как и другие переменные) использует значение по
   умолчанию (указанное в RC_LC_LANG).

   Чтобы закрепить внесённые изменения, вам необходимо (под правами
   суперпользователя) запустить утилиту SuSEconfig:

        SuSEconfig --module profiles


   Эта операция требуется для сохранения изменений в файле
   /etc/SuSEconfig/profile, который собственно и занимается настройкой
   переменных окружения, отвечающих за локаль.[4]

   И последнее -- для пользователя root переменные локали имеют значение
   POSIX (исключение составляет переменная LC_CTYPE, отвечающая за
   корректную обработку данных, зависящих от языка -- сортировка и т.п.).
   Если вам необходимо, чтобы суперпользователь работал в таком же
   языковом окружении, что и непривелигерованные пользователи, то
   измените значение параметра ROOT_USES_LANG с ctype на yes:

        ROOT_USES_LANG="yes"


Настройка раскладки клавиатуры (/etc/sysconfig/keyboard).

   Для кирилизации консоли в мире Linux используется два конкурирующих пакета:
   consoletools и kbd. Последний используется в SuSE Linux. Исходя из специфики
   описываемой ситуации (установка совместно с Windows) приведём описание
   настройки клавиатуры для так называемой Microsoft раскладки. Данный тип
   раскладки встречается наиболее часто. Для этого вам необходимо
   отредактировать файл /etc/sysconfig/keyboard. Укажите для параметра KEYTABLE
   следующее значение:

        KEYTABLE="ru-ms_ct_sh.map.gz"


   ru-ms_ct_sh.map.gz -- это слегка исправленная автором версия
   Microsoft-раскладки[5]. В качестве переключателя используется
   комбинация клавиш Ctrl+Shift. К сожалению, чтобы добиться корректной
   работы раскладки ru-ms.map.gz пришлось внести в неё ряд изменений.
   Первое касалось правильной работы клавиши Backspace, второе
   заключалось в смене переключателя раскладки клавиатуры с правого Ctrl
   на комбинацию клавиш Ctrl+Shift[6]. Так и появился видоизменённый
   вариант раскладки ru-ms.map.gz, ru-ms_ct_sh.map.gz.

   Скопируйте файл ru-ms_ct_sh.map.gz (http://www.linuxcenter.ru/imagelib/suse_cyr/ru-ms_ct_sh.map.gz) 
   в подкаталог /usr/share/kbd/keymaps/i386/qwerty.

   Если вам необходимо, чтобы NumLock при загрузке был включён, укажите
   для KBD_NUMLOCK значение yes:

        KBD_NUMLOCK="yes"


   Кроме этого, вы можете указать для параметра COMPOSETABLE следующие
   значения:

        COMPOSETABLE="clear winkeys"


   Первый параметр очищает compose таблицу, второй позволяет
   переключаться между соседними консолями при помощи клавиш Windows.


Настройка шрифтов (/etc/sysconfig/console).

   В составе пакета kbd присутствует несколько кириллических шрифтов. Нас
   интересует koi8r-8x16.gz:

        CONSOLE_FONT="koi8r-8x16.gz"


   Кроме этого, для корректного отображения псевдографики на экране, вам
   необходимо выбрать правильную карту соответствий (unicode map) между
   символами в кодировке koi8-r и юникодом:

        CONSOLE_UNICODEMAP="koi8r.uni"


   Укажите какую кодировку использовать при выводе на экран для не-ascii
   символов:

        CONSOLE_ENCODING="KOI8-R"


   Для того, чтобы консоль переключить на отображение кириллицы,
   используются специальные (так называемые "магические", magic) коды.
   Укажите следующее ([7]):

        CONSOLE_MAGIC="(K"


   И последнее -- вам необходимо изменить символическую ссылку,
   /usr/share/kbd/consolefonts/default8x16.gz, указывающую на шрифт,
   используемый по умолчанию, так, чтобы она указывала на шрифт
   koi8r-8x16.gz:

        cd /usr/share/kbd/consolefonts
        ln -sf koi8r-8x16.gz default8x16.gz


   Это необходимо для того, чтобы исключить возможность переключения
   шрифта некоторыми программами (например, консольной версией YaST).
   (Архив примера конфигурационных файлов для настройки локали
   ru_RU.KOI8R - http://www.linuxcenter.ru/imagelib/suse_cyr/cyr_koi8-r.tar.gz)



Настройка UTF-8.


   Настройка локали (/etc/sysconfig/language).

   Вам необходимо изменить параметр RC_LANG:

        RC_LANG="ru_RU.UTF-8"


   В остальном [78]см.п.2.1.2.

   Настройка раскладки клавиатуры (/etc/sysconfig/keyboard).

   Без изменений, см. аналогичный раздел в блоке про KOI8-R

2.2.3. Настройка шрифтов (/etc/sysconfig/console).


   Всё тоже самое, что описано в пункте про KOI8-R, за исключением
   значений двух параметров, CONSOLE_SCREENMAP и CONSOLE_ENCODING:

        CONSOLE_SCREENMAP="koi8-r_to_uni.trans"
        CONSOLE_ENCODING="UTF-8"


   (Архив примера конфигурационных файлов для настройки локали
   ru_RU.UTF-8 - http://www.linuxcenter.ru/imagelib/suse_cyr/cyr_utf-8.tar.gz)


X Window System.

   Вот, что нам необходимо сделать для комфортной работы в графической
   среде:

     * настроить раскладку клавиатуры
     * установить пакеты с локализацией
     * установить ttf-шрифты



Настройка раскладки клавиатуры.

   Проблема, которую необходимо решить в "иксах", это правильно
   настроить раскладку клавиатуры. К сожалению модуль SaX2 (см.
   Input-Devices->Keyboard), ответственный за настройку клавиатуры, не
   делает всё необходимое. "Кандидатский" минимум -- выбор раскладки 
   (см.рисунок http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-001.jpg) 
   и выбор комбинации "горячих" клавиш для её переключения (кнопка "Options...",
   см.рисунок http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-002.jpg) 
   он выполняет. Но если попытаться настроить раскладку таким образом,
   чтобы Scroll Lock использовался в качестве индикатора альтернативной
   раскладки клавиатуры, то нас ждёт неприятный сюрприз -- SaX2 не
   сохраняет этот параметр  (см.рисунок
   http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-003.jpg).

   Поэтому, если у вас нет необходимости настраивать раскладку так тонко,
   оставьте всё как есть. Иначе отредактируйте в файле /etc/X11/XF86Config
   секцию InputDevice для драйвера Keyboard. Ниже приведён пример настроек для
   en-ru раскладки, использующую в качестве переключателя Ctrl+Shift и Scroll
   Lock в качестве индикатора:

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


   Варианты смены кодировки:

     * grp:toggle -- переключение правым Alt,
     * grp:shift_toggle -- двумя клавишами shift,
     * grp:ctrl_shift_toggle -- ctrl+shift,
     * grp:ctrl_alt_toggle -- ctrl+alt,
     * grp:switch -- переключение по правому Alt только на момент  нажатия,
     * ctrl:ctrl_ac -- CapsLock


   Внимание! Не рекомендуется использовать в KDE графический индикатор
   клавиатуры, предлагаемый в "Центре настройки KDE" (см.рисунок 
   http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-004.jpg).
   Проблем больше, чем преимуществ. Если же вам хочется красивую
   индикацию раскладки, то попробуйте установить пакет xxkb.
   Преимущество этой программы в том, что она может работать с любым
   оконным менеджером [8]. Здесь вы найдёте пример
   конфигурационного файла xxkb для работы с en-ru раскладкой. Чтобы
   воспользоваться им, скопируйте его в домашний каталог и запустите
   xxkb (http://www.linuxcenter.ru/imagelib/suse_cyr/.xxkbrc).


Установка пакетов с локализацией.

   Установим локализованные пакеты программ и пакеты с кириллическими
   шрифтами. Как это сделать?

   Посмотрим, что есть на дисках SuSE Linux. Запустите YaST, см. пункт
   меню System (система). Выберите пункт меню Software->Install and
   Remove Software (установка/удаление программного обеспечения). Нас
   интересует для фильтра (filter) режим Search (поиск). Кроме этого, вы
   должны выбрать для поиска режим Use Regular Expression (использовать
   регулярные выражения) и указать, что поиск необходимо производить в
   имени пакета (Name), кратком описании (Summary) и описании
   (Description).

   Отберите те пакеты, которые содержат в имени или описании слова
   cyrillic или russian. Для этого укажите в строке поиска следующее:

        (cyrillic|russian)


   В результате будет обнаружено 10 пакетов (см.рисунок 
   http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-005.jpg). Пакет
   XFree86-fonts-cyrillic обязателен к установке. Остальные по мере
   необходимости.

   Перезапустите "иксы".


Установка шрифтов.

   В составе KDE есть удобный инструмент для установки шрифтов -- Font
   Installer. Чтобы воспользоваться им (увы!) требуется KDE. Есть два
   варианта установки шрифтов -- в режиме администратора или нет. В
   первом случае шрифты становятся доступными для всех пользователей
   системы. Во втором, только тому пользователю, который их установил.

   Источником ttf-шрифтов может служить подкаталог Fonts в каталоге, где
   располагается система Windows. Если вы этим не нарушаете лицензионных
   соглашений, воспользуйтесь ими. Для этого выберите режим
   администратора (см.рисунок http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-006.jpg), 
   укажите пароль для root. Font Installer создаст общий список шрифтов, 
   установленных в системе (см.рисунок 
   http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-007.jpg). 
   Выберите закладку "Настройки" и укажите в настройках AFM возможность 
   генерировать afm-файлы для TrueType и Type1 шрифтов. В качестве 
   кодировки укажите ту, которая используется в системе (см.рисунок 
   http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-008.jpg).

   После этого вернитесь на закладку "Шрифты" и добавьте новые ttf-шрифты
   (кнопка "Добавить") (см.рисунок
   http://www.linuxcenter.ru/imagelib/suse_cyr/suse-cyr-009.jpg). 
   Сохраните изменения, перезагрузите "иксы". Последнее необходимо, 
   т.к. в SuSE Linux по умолчанию X Window System настроена так, 
   что не использует сервер шрифтов XFS, а работает непосредственно 
   со шрифтами.

   Готово! Видите разницу? 

   Если для соблюдения лицензионной чистоты, вам нельзя использовать
   шрифты, поставляемые непосредственно с Windows, то воспользуйтесь
   ttf-шрифтами, предлагаемыми проектом Microsoft`s TrueType core
   fonts на SourceForge (http://corefonts.sf.net/). Там вы найдёте 
   самораспаковывающиеся архивы[9], из которых сможете извлечь ttf-шрифты 
   либо в среде Windows (просто запустив их), либо воспользовавшись утилитой
   cabextract из одноимённого пакета. Для этого скопируйте архивы во
   временный каталог и выполните следующую команду:

        cabextarct *


   Затем выполните операции, описанные выше.


Использование кириллицы в именах файлов разделов Windows.

   Если на жёстком диске вашего компьютера есть Windows-разделы, вам
   необходимо настроить процесс монтирования таким образом, чтобы имена
   файлов и каталогов, содержащие в себе кириллицу, отображались
   корректно. Вот пример файла /etc/fstab, сформированного в процессе
   установки SuSE Linux:

        ...
        /dev/hda1  /windows/C  vfat  users,gid=users,umask=0002,iocharset=iso8859-1,code=437 0 0
        /dev/hda2  /windows/D  ntfs  ro,users,gid=users,umask=0002,nls=iso8859-1 0 0
        /dev/hda3  /windows/E  vfat  users,gid=users,umask=0002,iocharset=iso8859-1,code=437 0 0
        ...


   Для правильного отображения имён файлов, вам необходимо изменить
   значения ключей iocharset и code [10]. Первый, iocharset,
   описывает кодировку, используемую в системе (имеется ввиду Linux).
   Второй -- кодировку, в которой хранятся имена файлов на диске. В
   случае с fat-разделами, это кодировка, используемая в среде DOS -- для
   кириллицы это cp866. Обратите внимание, что для ntfs-раздела кодировка
   не указывается. В том случае, если в системе используется кодировка
   koi8-r, /etc/fstab приобретает следующий вид:

        ...
        /dev/hda1  /windows/C  vfat  users,gid=users,umask=0002,iocharset=koi8-r,code=866 0 0
        /dev/hda2  /windows/D  ntfs  ro,users,gid=users,umask=0002,nls=koi8-r 0 0
        /dev/hda3  /windows/E  vfat  users,gid=users,umask=0002,iocharset=koi8-r,code=866 0 0
        ...


   В случае использования в системе локали UTF-8, koi8-r заменяется на
   utf8.

   Чтобы изменения вступили в силу без перезагрузки системы (и в том
   случае, если у вас уже настроена правильно локаль), размонтируйте и
   смонтируйте Windows-разделы (например):

        umount /windows/C
        mount /windows/C


Заключение.

   Одно замечание. Если вы в ладах с английским языком и не теряетесь
   перед англоязычным интерфейсом программ, то воспользуйтесь советом
   предложенным в "Настройка локали" - настройте параметр RC_LC_MESSAGES в
   конфигурационном файле /etc/sysconfig/console соответствующим образом.

   Дело в том, что некоторые из программ в SuSE Linux собраны некорректно
   (или требуют дополнительной настройки), из-за чего неверно отображают
   кириллицу на экране. Типичным примером здесь выступает GIMP версии
   1.2.x (в SuSE Linux представлено две версии GIMP: 1.2.x и 1.3.x).

   Удачи.


Ссылки.

    1. The Linux Cyrillic HOWTO. (рус.)
        http://linux.yaroslavl.ru/docs/howto/Cyrillic-HOWTO-Russian/Cyrillic-HOWTO-russian.html
    
    
    2. Документация по настройке Xkb, автор Иван Паскаль. (рус.)
        http://www.tsu.ru/~pascal/other/xkb/
        
        
    3. Статья "Шрифты в дистрибутивах ALT Linux", автор Алексей Новодворский. (рус.)
        http://www.altlinux.ru/index.php?module=articles&action=show&artid=15
        
        
    4. Сайт проекта Vedi (http://www.prodtp.ru/). Здесь располагается огромный 
       архив шрифтов. Представленные в нём шрифты в большинстве своем бесплатны.
        http://www.prodtp.ru/modules.php?op=modload&name=Downloads&file=index



Пояснения.

   [1] К сведению -- в SuSE Linux локаль ru_RU.CP1251 отсутствует.
   Представлены только ru_RU.KOI8-R и ru_RU.UTF-8 и по умолчанию
   устанавливается кодировка UTF-8.

   [2] Локаль -- от англ. locale. Под локалью понимается набор
   переменных окружения операционной системы, отвечающих за корректное
   отображение и ввод символов того языка, который вы указали. Кроме
   этого, они (переменные) отвечают за массу других вещей: формат
   отображения чисел, даты, времени, порядок сортировки и т.п. Если
   локаль указана неверно, то вы получаете на экране нечитаемый набор
   символов. Типичным примером такого набора является слово Вопрос,
   набранное в кодировке cp1251 и отображаемое в кодировке koi8-r.
   Получается бНОПНЯ. Как ни странно, но это слово стало часть сетевой
   субкультуры.

   [3] Не совсем понятно чем вызвана чехарда с именованием
   кириллических кодировок. В какой-то момент в RedHat KOI8-R
   превратилась в KOI8R. Тоже самое наблюдается и в SuSE Linux.

   [4] Процесс настройки переменных окружения происходит в момент
   авторизации пользователя в системе. Если вы хотите проверить какая
   именно локаль у вас сейчас активна в системе, воспользуйтесь командой
   locale.

   [5] Почему исправленная? Дело в том, что попытка воспользоваться
   файлом ru_ct_sh-KOI8-R.kmap.gz (Microsoft раскладка клавиатуры,
   "горячие" клавиши для переключения раскладок -- Ctrl+Shift) из пакета
   consoletools (дистрибутив ALT Linux Master 2.2) не удалась -- часть
   клавиш "оказалась" не на своих местах. Поэтому, пойдя по пути
   наименьшего сопротивления, автор изменил клавиши для переключения
   раскладок в ru-ms.map.gz.

   [6] Для любознательных -- те, кто хочет настроить свой
   собственный переключатель раскладки, обратите внимание на AltGr_Lock и
   AltGr.

   [7] Полный формат такой спецпоследовательности -- \033(K. Её
   можно использовать в том случае, если в консоли "сбилась" настройка
   кирилизации:

        echo -en "\033(K"


   [8] Пакет взят из ALT Linux Master 2.2 и полностью совместим с
   SuSE Linux 9.0. Установку пакета можно произвести из консоли
   (необходимы права администратора):

        rpm -ivh xxkb-1.9-alt1.i586.rpm


   Исполняемый файл -- /usr/bin/xxkb

   Для самых ленивых, ссылки непосредственно на одно из зеркал
   сайта SourceForge, где расположены архивы шрифтов:
   
   http://switch.dl.sourceforge.net/sourceforge/corefonts/andale32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/arial32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/arialb32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/comic32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/courie32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/georgi32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/impact32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/times32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/trebuc32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/verdan32.exe
   http://switch.dl.sourceforge.net/sourceforge/corefonts/webdin32.exe

   [10] code это краткое имя опции codepage.


Иcточник: http://www.opennet.ru  •  Опубликована: 05.03.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей RSS

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