Возможно вы искали: 'E.X. Troopers'

May 15 2025 19:16:32
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » RedHat Linux 8.0 - решение проблем кириллизации консоли (linux redhat rus unicode)

RedHat Linux 8.0 - решение проблем кириллизации консоли (linux redhat rus unicode)

Ключевые слова: linux, redhat, rus, unicode, (найти похожие документы)

From: Валентин Синицын <Valentine.Sinitsyn@usu.ru>
Subject: RedHat Linux 8.0 - решение проблем кириллизации консоли

http://belen.pp.ru/other.php?id=16
Red Hat Linux 8.0: проблемы кириллизации консоли

30 сентября компания Red Hat, Inc. выпустила восьмую версию своего
дистрибутива Linux. Как известно, "точка-ноль" дистрибутивы приносят
не только новые возможности, но и новые проблемы...

Не обошла сия печальная доля и Red Hat Linux 8.0. Цель этой статьи -
помочь Вам обойти "подводные камни" в процессе русификации консоли
(далее под этим термином мы будем понимать экран монитора в текстовом
режиме, отодвигая таким образом клавиатуру на второй план).

Мы начнем с "незыблемых основ" русификации Linux, после чего перейдем
к тонкостям, относящимся только Red Hat 8.0. Поскольку каждое
приложение имеет свою специфику, мы ограничимся, пожалуй, самым
популярным из них - файловым менеджером Midinght Commander.
Русификация остальных программ происходит либо автоматически (ls, rpm
и другие "простые" утилиты), либо не представляет существенной
проблемы (lynx). В любом случае, подробную информацию по каждой
конкретной программе (а также многое другое) всегда можно найти в
Cyrillic-HOWTO Е.М. Балдина.

Азбука кириллизации

Рассмотрим схематически процесс вывода на экран некоторого символа
"x":
* Прикладная программа, желая вывести "x" на экран, записывает в
стандартный поток вывода соответствующую ему последовательность
байт, которая в конечном счете достигает драйвера консоли (часть
ядра Linux). Если драйвер консоли в этот момент находится в режиме
UTF, он предполагает, что входные данные были записаны именно в
этой кодировке, и использует стандартный алгоритм для
преобразования UTF в Unicode (внутренняя кодировка ядра). В
противном случае (т.н. "однобайтовый" или "ASCII" режим) драйвер
использует таблицу перекодировки символов (Application Character
Map, ACM) для перевода входного потока в Unicode. В ядре Linux
отведено место для четырех таблиц ACM: cp437, vt100, iso01 и
user-defined. Последнюю из них как раз и можно использовать для
вывода однобайтовых кириллических кодировок (например, KOI8-R).
Выбор пользовательской кодировки осуществляется
ESC-последовательностью "33(K" (как правило, она генерируется
автоматически соответствующими утилитами, хотя есть нюансы - см.
bug #76470 в RedHat Bugzilla).
* Теперь, когда драйверу консоли известен Unicode-код "x", он должен
определить, какой глиф в текущем шрифте ему соответствует. Для
этого используется таблица экранного шрифта (Screen Font Map,
SFM). Для большинства современных шрифтов таблица SFM хранится в
том же файле, что и глифы (признаком этого является расширение
.psfu у файла шрифта).
* После определения номера глифа, ядро дает команду видеоподсистеме.
Знакогенератор, используя загруженный в него шрифт, воссоздает на
экране изображение "x"

Для кириллизации консоли в Linux используются два конкурирующих
пакета: kbd и consoletools. Последний применялся в Red Hat версий
6.x-7.x, в более ранних и более поздних используется kbd. Оба пакета
имеют сходную функциональность. Все необходимые для работы этих
пакетов файлы хранятся в директории /lib/kbd: /lib/kbd/consolefonts
(файлы шрифтов), /lib/kbd/consoletrans (ACM), /lib/kbd/unimaps (SFM) и
/lib/kbd/keymaps (клавиатурные раскладки).

В дальнейшем по понятным причинам будем предполагать, что используется
пакет kbd. Утилита setfont из этого пакета позволяет как загружать
шрифты, так и устанавливать таблицы перекодировки ACM (параметр
командной строки -m) и SFM (-u). Параметры можно комбинировать. Так,
например, команда setfont Cyr_a8x16 -m koi2alt устанавливает шрифт
Cyr_a8x16 и ACM-таблицу koi2alt.

Рассмотрим теперь, как организован процесс русификации в Red Hat 8.0.
В первую очередь обратимся к файлу /etc/sysconfig/i18n. В нем
определяются значения следующих переменных:
* SYSFONT - имя шрифта. Расширение указывать необязательно.
* SYSFONTACM - имя ACM-таблицы.
* UNIMAP - имя SFM-таблицы.
* LANG - определяет локаль (locale). Если название локали
заканчивается на "UTF-8" (например, "ru_RU.UTF-8"), драйвер
консоли переводится в режим UTF. Список установленных в системе
локалей возвращается командой locale -a.

В процессе инициализации системы сценарий rc.sysinit выполняет
/etc/sysconfig/i18n, после чего происходит запуск скрипта
/sbin/setsysfont, загружающего шрифт и указанные таблицы
перекодировки. Одновременно устанавливается клавиатурная раскладка,
имя которой хранится в файле /etc/sysconfig/keyboard(переменная
KEYTABLE).

Теперь, когда мы представляем себе общую схему русификации консоли,
рассмотрим два конкретных способа научить Red Hat говорить по-русски.

Путь первый, новаторский

Предпочтительной кодировкой в Red Hat 8.0 является UTF-8.
Устанавливаемые по умолчанию шрифт "latarcyrheb-sun16" и локаль
"en_US.UTF-8" позволяют корректно отображать символы латинского,
русского и арабского алфавитов, а также иврита. Обратите внимание, что
для многобайтовых UTF-локалей не столь важно, к какому языку они
относятся: единственным ощутимым изменением при использовании
"ru_RU.UTF-8" будет смена формата представления даты, времени, валюты
и языка интерфейса некоторых программ (собственно, UTF-8 и Unicode и
были созданы для того, чтобы обеспечить единообразие работы с любым
алфавитом). Таким образом, если Вы собираетесь русифицировать консоль
Red Hat в UTF-режиме, Вам можно позавидовать - всю необходимую работу
за Вас уже проделали разработчики дистрибутива. И посочувствовать: Вам
это особенно не поможет.

Разъясним последнее утверждение. Используемый по умолчанию шрифт уже
содержит символы кириллицы, а консоль работает в режиме UTF, поэтому
символы русского алфавита должны выводиться без дополнительных усилий.
К сожалению, в данной схеме возникает неприятный побочный эффект -
сильно затрудняется вывод данных в не-UTF кодировке (например KOI8-R).
И если с кириллицей в именах файлов на vfat-разделах справиться
достаточно легко (в параметрах монтирования в /etc/fstab необходимо
указать "codepage=866,iocharset=utf8" вместо традиционного
"codepage=866,iocharset=koi8-r"), с русскоязычными документами
придется основательно повозиться: Midnight Commander 4.5.55 не умеет
перекодировать в UTF-8 "на лету". Кроме того, некоторые приложения
могут некорректно работать в UTF-локали, поскольку не поддерживают
многобайтовые кодировки (за примером далеко ходить не надо - взять все
тот же Midnight Commander). В других программах могут пропасть символы
псевдографики. В довершение всего, консоль теряет возможность
отображать цвета с кодом больше 7 (т.е. все "яркие"), так что файлы и
директории на панелях MC оказываются совершенно неразличимыми. Если
все это Вас не смущает, Вам остается только поставить соответствующую
раскладку клавиатуры (например, ua-utf), и - поздравляем! Ваша консоль
успешно русифицирована.

Путь второй: старый, проверенный

Данный способ является своеобразным "шагом назад", поскольку
подразумевает, что Вы будете использовать устаревшую кодировку KOI8-R
вместо современной UTF. Если Вы занимались русификацией предыдущих
версий Red Hat,часть нижеизложенного будет Вам знакома. Остальные
читатели в случае необходимости могут обратиться за детальной
информацией к Cyrillic-HOWTO

Итак, попробуем применить хорошо известное решение:
SYSFONT="Cyr_a8x16" и SYSFONTACM="koi2alt" (о его плюсах написано все
в том же HOWTO). К сожалению, в таком виде оно не работает. Причина
кроется в скрипте /sbin/setsysfont, который почти не менялся со времен
consoletools. Любой заглянувший в него не может не обратить внимания
на вопиющую дискриминацию - для kbd (setfont) не поддерживается
переменная SYSFONTACM! Я отправил сообщение об этой ошибке (включая
исправленную версию сценария) на bugzilla.redhat.com, исправление
должно появиться в initscripts 6.96-1 или более поздней версии. После
исправления этой ошибки (например, путем скачивания моей версии
setsysfont) и установки вашей любимой клавиатурной раскладки
(что-нибудь типа ru*, но никак не *-utf!) не забудьте удалить
подстроку "UTF-8" из имени локали, поскольку иначе консоль
переключится в режим UTF и откажется принимать Вашу KOI8-R.

После всех этих манипуляций файл /etc/sysconfig/i18n будет иметь
следующий вид:
LANG="en_US"
SUPPORTED="по умолчанию"
SYSFONT="Cyr_a8x16"
SYSFONTACM="koi2alt"

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

Для окончательной русификации (установки российского формата даты,
времени, валюты, русскоязычных сообщений в отдельных программах)
следует установить соответствующую локаль, например "ru_RU.koi8r". К
сожалению, здесь нас опять поджидают проблемы - в такой среде у
Midnight Commander и некоторых других программ (setuptools, например)
пропадет псевдографика. MC, помимо этого, опять отказывается выводить
русские буквы где-либо, кроме меню, да и в нем - в искаженном виде.
"Корень зла" во всех случаях один - используемые библиотеки (NCurses,
S-Lang) скомпилированы с поддержкой Unicdoe, в то время как она нам
совсем не нужна. Необходимо перекомпилировать их в однобайтовом режиме
(вот он, истинный шаг назад - мы, по сути, устраняем изменения,
внесенные в Red Hat Linux после версии 7.3). Рассмотрим эту процедуру
на примере Midnight Commander. Его "излечение" проходит в два этапа:
* Откомпилируйте NCurses в без поддержки UTF (./configure
--disable-widec)
* Перекомпилируйте MC с использованием NCurses вместо традиционного
S-Lang (./configure --with-ncurses)

Подробную информацию о других ключах компиляции ищите в документации к
соответствующим пакетам.

На мой взгляд, наиболее приемлемым вариантом русификации является
"пан-европейский" KOI8-R. UTF-режим, безусловно, удобен, но еще
недостаточно отлажен. Думается, что им вполне можно будет пользоваться
в версиях 8.2-8.3. Полная русификация в не-UTF режиме - слишком
трудоемкая операция. Если русскоязычный интерфейс для вас превыше
всего, имеет смысл обратить внимание на KDE, благо с ее русификацией
особых проблем не возникает.

Автор выражает благодарность Шабунио Ю.А. за ценные идеи и
плодотворную дискуссию.

Автор: Валентин Синицын <Valentine.Sinitsyn@usu.ru>
792 Прочтений •  [RedHat Linux 8.0 - решение проблем кириллизации консоли (linux redhat rus unicode)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• RedHat Linux 8.0 - решение проблем ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка