Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Система
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Система    
Автор статьи: White_Mouse
Дата: 23.07.2003

Русский язык в Mandrake 9.1

Русский язык в Mandrake 9.1

Copyright (c) 2003 by White_Mouse, lexx
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version by the Free Software Foundation.

Несмотря на существование массы руководств по руссификации Linux, нередко можно встретить вопросы связанные с настройкой отображения русского языка (проистекающие, справедливости ради отметим, от нежелания вопрошающих почитать документацию).
Здесь я хочу вкратце рассказть о действиях по настройке отображения и ввода русского языка в Mandrake 9.1 которые я обычно произвожу после установки для получения полностью работоспособной системы, понимающей русский язык, и в двух слвах рассказать о настройке шрифтов в GTK программах. Все это предельно кратко и рассчитано в основном на среднестатистического чайника (не путать с luser), собирающего свои первые шишки в Linux :)
По историческим причинам локаль у меня всегда cp1251 :)

1. Этап установки.

На этом этапе необходимо установить пакет locales-ru. При выборе русского языка во время установки этот пакет установится автоматически, но в случае выбора другого языка может и не установиться. В любом случае убедиться в его наличии в системе не помешает.

2. Консоль.

Абсолютно справедливы все инструкции по настройке русского существующие в сети. Обратить внимание следует только на отсутствие программы setfont, замененной на consolechars, а также на отсутствие консольного шрифта в желаемой кодировке ср1251.

В связи с этим, в качестве шрифта для консоли был выбран шрифт iso05.f16.psf.gz в кодировке ISO 8859-5.

Чтобы увидеть родные русские буквы в консоли и иметь возможность писать русским шрифтом сделаем так: Создадим скрипт с таким содержанием:




#!/bin/bash
# Установим нужную раскладку клавиатуры.
loadkeys /usr/lib/kbd/keymaps/i386/qwerty/ru-cp1251.kmap.gz
# Загрузим нужный шрифт.
consolechars -f /usr/lib/kbd/consolefonts/iso05.f16.psf.gz
# Уcтановим application character map 
consolechars -m /usr/lib/kbd/consoletrans/iso05_to_cp1251.trans
# И, наконец, магическая последовательность :)
echo -ne "\033(K"


Затем сделаем его исполняемым:
#chmod +x keys.sh

И скопируем, например, в /usr/local/bin:
#cp keys.sh /usr/local/bin

Далее мы либо запускаем скрипт руками каждый раз, когда хотим поговорить с консолью по-русски, либо сделаем так, чтобы он запускался без нашего участия. В последнем случае возможны варианты. Лично мне больше нравится запускать его непосредственно при входе в систему меня :) Для этого добавим в конец файла .bash_profile (который находится в домашней директории нужного пользователя) такую строку:
/usr/local/bin/keys.sh

На этом манипуляции с консолью можно считать оконченными.
Заметим, что можно и НЕ пользоваться скриптом, а прописать консольный шрифт и ACM в /etc/sysconfig/i18n.

3. Отображение и ввод русского языка в Х.

3.1. Х и i18n.


По существу Все языковые и региональные настройки в Mandrake 9.1 собраны в одном месте, а именно в /etc/sysconfig/i18n Для того чтобы нормально читать русский шрифт и писать русскими буквами достаточно будет изменить всего две переменных, а именно:
LANG=ru_RU.CP1251
LC_CTYPE=ru_RU.CP1251

Если хочется ВСЕ сразу сделать русским :) смело укажем:
LC_ALL=ru_RU.CP1251

При следующей загрузке системы сказав locale вы увидите внесенные вами изменения. Если перезагружаться не хочется - стоит в консоли сказать
export LANG=ru_RU.CP1251
export LC_CTYPE=ru_RU.CP1251
и т.д. После этого можно смело запускать Х. Описание других переменных можно найти в man 5 locale.

3.2. Раскладка клавиатуры в Х.


Следующее необходимое действие - настройка раскладки клавиатуры в Х. Откроем любимым редактором /etc/X11/XF86Config-4 И увидим в нем следующее:
Section "InputDevice"
  Identifier "Keyboard1"
  .....
  Option "XkbLayout" "us"

Наша задача заменить эту опцию на
Option "XkbLayout" "us,ru(winkeys)" 
Далее настроим перключатель раскладки. Для этого напишем такую строку здесь же:
Option "XkbOptions" "grp:caps_toggle"
Переключать раскладку клавиатуры мы теперь сможем клавишей Caps Lock.

3.3. Шрифты.


Про использование TTF шрифтов в Linux так написана масса руководств, тем не менее кратко опишем процесс их установки:
Зайдем в директорию, где находятся шрифты, которые мы желаем использовать в Linux...
cd ~/mynewfonts
... и скажем:
ttmkfdir
cp fonts.dir fonts.scale
Здесь следует обратить внимание на то, что названия файлов в директории не должны содержать заглавных букв, в противном случае ttmkfdir промолчит, но ничего не сделает. Затем необходимо указать серверу шрифтов (по умолчанию он используется в Mandrake), где находятся наши шрифты. Откроем любым текстовым редактором файл конфигурации xfs
nano /etc/X11/fs/config 
И увидим в нем нечто подобное:
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/drakfont,
/usr/X11R6/lib/X11/fonts/drakfont/Type1,
/usr/X11R6/lib/X11/fonts/drakfont/ttf,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled

Сюда мы и добавим путь к нашим шрифтам:
catalogue = /путь к нашим шрифтам/,
/usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/drakfont,
/usr/X11R6/lib/X11/fonts/drakfont/Type1,
/usr/X11R6/lib/X11/fonts/drakfont/ttf,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled

Сохранив файл, перезагрузим сервер шрифтов:
service xfs restart
Шрифты можно использовать. Посмотреть список установленных шрифтов можно командой xlsfonts.

3.4. Mozilla, Evolution и др. GTK+ программы.


Если мы столкнулись с тем, что не отображается русский язык в интерфейсе Mozilla, в Evolution или других программах, использующих GTK+, а нажиманием на кнопочки это исправить не удалось, помочь нам может следующее. Создадим в домашней директории пользователя файл .gtkrc следующего содержания:

style "default"
{
font = " -monotype-arial-medium-r-normal--0-0-70-70-p-0-microsoft-cp1251 "
}
class "GtkWidget" style "default"


Фактически, это файл, описывающий тему GTK, но от темы по умолчанию отличаться внешний вид наших программ будет только основным шрифтом, который программа использует. Полное имя шрифта можно узнать упомянутой командой xlsfonts. Нелишним будет прочесть man xlsfonts :) Если это не решило проблемы с определенной программой - имеет смысл заглянуть в .gtkrc-2.0 в домашней директории, а также в:
/etc/gtk/gtkrc.cp1251
/etc/gtk/gtkrc.ru
/usr/share/themes/Default/gtk/gtkrc
/usr/share/themes/Default/gtk-2.0/gtkrc

Если мы возжелаем пользоваться KDE, и не хотим, чтобы GTK программы использовали настройки KDE (что они пытаются делать по умолчанию в нашем дистрибутиве :) ), а читали gtkrc из нашей домашней директории - этого можно добиться покопавшись в настройках KDE Control Center.
Чтобы заставить Evolution понимать и нормально отображать русский язык нужно заглянуть дополнительно в Tools -> Settings -> Font Preferences и там установить шрифт в правильной (ср1251) кодировке.

4. Отображение русских букв в именах файлов на примонтированных разделах


Для начала, конечно, стоит прочитать man 8 mount - оттуда почерпнётся довольно много довольно интересной информации. Нетерпеливые могут сразу перейти к редактированию /etc/fstab, в котором и задаются соответствующие параметры монтирования разделов при загрузке системы.

Рассмотрим перевод на cp1251 на примере моего конфига:

none /mnt/cdrom supermount dev=/dev/scd0,fs=auto,ro,--,iocharset=cp1521,codepage=866,umask=0 0 0 - для CD-ROM'ов
none /mnt/floppy supermount dev=/dev/fd0,fs=auto,--,iocharset=cp1251,sync,codepage=866,umask=0 0 0 - для floppy
/dev/hda7 /mnt/media vfat iocharset=cp1251,codepage=866,umask=0 0 0 - для vfat партиций (fat16, fat32, fat12)
/dev/hda1 /mnt/win2k ntfs iocharset=cp1251,ro,umask=0 0 0 - для ntfs партиций (win2k, winXP)

Посмотрев данный конфиг многие обнаружат, что разница между данным конфигом и их собственным /etc/fstab только в значении параметра iocharset. На свежеустановленном linux Mandrake 9.1 значении этого парамерт ра равняется koi8-r или иному и фактически единственным необходимым действием явялется замена данного значения на cp1251 (обязательно, чтобы буквы были латинские и маленькие).

Рекомендуемые руководства:

man loadkeys
man consolechars
man xlsfonts
man XF86Config
man locale
man mount
man fstab



Все статьи раздела "Система"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: