В началоРуководство по русской локализации Gentoo Linux → Локализация оконной системы X
Gentoo-doc HOME Пред.: Установка часового поясаВ началоУровень выше: Руководство по русской локализации Gentoo Linux

5. Локализация оконной системы X

5.1. Введение

Локализация оконной системы X (конкретно — её свободной реализации XFree86) может быть выполнена двумя путями: с помощью специальных утилит конфигурирования (обычно — xf86config, используемой для настройки графического режима вообще) или прямым редактированием конфигурационного файла /etc/X11/XF86Config.

5.2. Локализация с использованием утилиты xf86config

Утилита xf86config в большинстве случаев позволяет корректно выполнить кириллизацию системы XFree86 уже на стадии начальной её настройки. Для этого необходимо дать (в консольном режиме) одноименную команду и правильно ответить на вопросы, относящиеся к определению языково-зависимых параметров, и следующие после указания выбора типа клавиатуры.

Первый из таких вопросов — выбор страны (Enter a number to choose the country), ответ на который, на самом деле, определяет базовую раскладку клавиатуры. Очевидными ответами являются 8 Belarusian для Белоруссии и 70 Ukrainian для Украины, тогда как для России предлагается два варианта: 53 Russian и 54 Russian (cyrillic phonetic). Первый — это традиционная раскладка qwerty, второй же — фонетическая раскладка ywerti, в которой символы кириллицы расположены на месте созвучных латинских. Она использовалась на старых терминалах и ныне практически не встречается. Так что на самом деле и тут выбор 53 Russian практически однозначен.

Далее следует предложение указать вариант русской раскладки (Please enter a variant name for 'ru' layout). Если, просто нажав Enter, отказаться от этого, будет установлен так называемый DOS-вариант раскладки (вернее, маркировки клавиш); маркированные таким образом клавиатуры практически вышли из употребления, поэтому следует, введя winkeys, выбрать Windows-вариант (не следует путать его с Windows-кодировкой, иначе говоря — cp1251).

Затем, введя y, следует положительно ответить на вопрос об указании дополнительных опций расширения XKB (Do you want to select additional XKB options (group switcher, group indicator, etc.)?): это позволит определить переключатель латиница/кириллица (в силу исторических причин русская раскладка клавиатуры в XFree86 по умолчанию такового не имеет вообще).

В результате следующим шагом будет предложение выбрать клавишу или клавишную комбинацию для такого переключателя. Возможные варианты включают:

Листинг 17. Варианты выбора переключателя латиница/кириллица

  1  R-Alt switches group while pressed                
  2  Left Win-key switches group while pressed         
  3  Right Win-key switches group while pressed        
  4  Both Win-keys switch group while pressed          
  5  Right Alt key changes group                       
  6  Caps Lock key changes group                       
  7  Menu key changes group                            
  8  Left Win-key changes group                        
  9  Right Win-key changes group                       
 10  Both Shift keys together change group             
 11  Control+Shift changes group                       
 12  Alt+Control changes group                         
 13  Alt+Shift changes group   


Из них следует выбирать, руководствуясь своими предпочтениями. Однако по вполне понятным причинам можно рекомендовать, чтобы переключатель раскладок был идентичен для текстового (консольного) и графического режимов. ИМХО, лучше всего на эту роль подходит клавиша CapsLock (для этого в консоли должна быть установлена раскладка ru4). При этом первичная функция этой клавиши (фиксация верхнего регистра), как и в консоли, будет выполняться одновременным нажатием Shift+CapsLock

Примечание

Не менее удобным представляется и использование в качестве переключателя какой-либо из т.н. Windows-клавиш, имеющихся на всех современных клавиатурах. Однако при этом для достижения идентичности переключения в консоли и в XFree86 потребуются расширенные раскладки клавиатуры из упомянутого выше пакета console-tools-cyrillic.

Следующие несколько вопросов позволяют указать переключатель для третьей клавиатурной раскладки, дополнительные позиции управляющей клавиши Control, индикацию текущей раскладки (например, индикаторами CapsLock или ScrollLock) и ещё некоторые опции. Если в них нет необходимости — ответы на эти вопросы можно просто пропустить, нажимая клавишу Enter.

Покончив с настройкой клавиатуры, следует завершить конфигурирование XFree86 (включая настройку видеорежимов) и выйти из программы xf86config с сохранением результатов в файле /etc/X11/XF86Config.

5.3. Установка кириллических шрифтов

Программа xf86config обеспечивает настройку клавиатурного ввода, но не подключает по умолчанию шрифтов с символами кириллицы — это достигается редактированием файла /etc/X11/XF86Config. Его следует открыть в любом текстовом редакторе и отыскать в Section "Files" описание путей к шрифтовым файлам.

Внимание

При вызове файла /etc/X11/XF86Config необходимо отключить режим переноса строк в используемом редакторе.

Пути к файлам шрифтов описываются следующим образом:

Листинг 18. Описание путей к файлам шрифтов

FontPath   "/usr/X11R6/lib/X11/fonts/local/"
FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
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/Speedo/"
FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"


В этот список следует внести путь к файлам шрифтов с поддержкой кириллицы. По умолчанию в любой современной версии XFree86 имеется один набор кириллических шрифтов — Cronyx, расположенный в каталоге /usr/X11R6/lib/X11/fonts/cyrillic/. И потому первая строка указанной секции должна принять вид

Листинг 19. Описание пути к файлам кириллических шрифтов

FontPath   "/usr/X11R6/lib/X11/fonts/cyrillic/"


Важно

Строка с кириллическими шрифтами должна быть первой в списке путей, дабы именно они обнаруживались бы любыми программами в первую очередь при совпадении их имен или псевдонимов с таковыми шрифтов, не имеющих символов кириллицы.

Примечание

Шрифты производства Cronyx содержат ограниченное число гарнитур. Кроме того, они являются растровыми и вообще далеки от эстетического совершенства. Поэтому их по возможности лучше дополнить (или заменить) шрифтами от независимых производителей. В качестве таковых можно рекомендовать коллекцию масштабируемых (TTF и ATM) лицензионно чистых шрифтов Валентина Филиппова, входящих в российскую сборку OpenOffice и в последние версии дистрибутивов Altlinux.

5.4. Ручная настройка клавиатуры для ввода кириллицы

К кириллизации XFree86 посредством программы xf86config целесообразно прибегать только при начальной настройке этой системы. Если же в ходе использования Gentoo Linux возникнет необходимость дополнительного конфигурирования (например, изменения положения переключателя раскладок), проще обратиться к прямому редактированию файла /etc/X11/XF86Config.

За настройку клавиатуры в нём отвечает Section "InputDevice". В ней, после указания идентификатора клавиатуры (а оконная система X в состоянии поддерживать, даже на локальной машине, более одной физической клавиатуры) и её драйвера, следует описание т.н. правил (rules), определяющих раскладку клавиатуры. Оно имеет вид вроде следующего:

Листинг 20. Описание раскладки клавиатуры

Option "XkbRules"   "xfree86"
Option "XkbModel"   "pc105"
Option "XkbLayout"  "ru"
Option "XkbVariant" "winkeys"
Option "XkbOptions" "grp:caps_toggle,grp_led:caps"


Здесь, разумеется, можно изменить всё, что угодно. Однако практически имеет смысл рассмотреть только возможные варианты значений для строки Option "XkbOptions". Значение, приведенное в примере, соответствует переключателю раскладок CapsLock (grp:caps_toggle) и индикатору CapsLock как показателю включения русской раскладки (grp_led:caps). И то, и другое можно изменить, если не устраивает. Доступные значения содержатся (вместе с их краткими описаниями) в секции ! option файла /usr/X11R6/lib/X11/xkb/rules/xfree86.lst.

Примечание

Описание раскладок клавиатуры через набор правил — лишь одно из возможных. О других способах сделать это можно прочитать на http://www.tsu.ru/~pascal/other/xkb.

Пред.: Установка часового поясаВ началоУровень выше: Руководство по русской локализации Gentoo Linux
В началоРуководство по русской локализации Gentoo Linux → Локализация оконной системы X