LXF73:Русификация Debian 3.1
|
|
|
Содержание |
Доработка напильником Debian Sarge
- Евгений Балдин пытается устроить свою жизнь с очаровательной иностранкой по имени Debian
- Там же в инструкции написано: «После сборки обработать напильником».
- Окончание старого анекдота
- Там же в инструкции написано: «После сборки обработать напильником».
Введение
K первому русскоязычному номеру журнала Linux Format прилагался DVD диск с Debian 3.1. Это событие наложилось на плановое обновление моего домашнего компьютера. Желание обновить наконец-то дистрибутив Linux в конце концов выиграло неравный бой с ленью.
Предыдущий дистрибутив, который стоял у меня на компьютере, относился к семейству Alt Linux Master. Версия 2.0 была куплена мной из желания поддержать это полезное начинание. Далее был переход на версию 2.2 и обновление до 2.4. В процессе перехода внутри семейства Alt Linux случались странные вещи: исчезал звук, X Window переставала запускаться из консоли, в какой-то момент отказался работать CVS-сервер. какие-то проблемы удалось решить, к каким-то приспособиться, но всегда приходилось предпринимать усилия. С другой стороны, «кириллизация из коробки» у этого дистрибутива на очень высоком уровне – по крайней мере меня она полностью устраивала.
С момента выпуска дистрибутива Alt Linux Master 2.0 прошло довольно много времени, и большинство проблем кириллизации были решены в этом и других дистрибутивах, в том числе и силами русскоязычного сообщества. Kириллизация дистрибутива перестала быть основным камнем преткновения при создании удобной «среды обитания», но она по-прежнему является одной из важнейших проблем для русскоязычных пользователей.
Для чего нужен напильник
Даже если просто лежать на диване и ничего не делать, мозг потребляет 10% от общей энергии, а если хоть что-то делать, например, читать документацию, то энергопотребление возрастает более чем в два раза. Поэтому обычно у человека вырабатывается отрицательный рефлекс на умственную работу. Очень часто много времени и усилий теряется из-за нежелания остановиться и подумать. Для эффективной работы необходимо выбирать эффективные приёмы и отказываться от ненужных привычек. И то, и другое требует размышлений и дополнительных усилий. При «доработке напильником» надо учитывать, что очень часто требуется «пилить» не программы, а самого себя. Это не так-то просто, ибо вредные привычки, как правило, и самые любимые.
В этом тексте я не только представил список проблем, обнаруженных мной при настройке подходящей «среды обитания», но и попытался описать, как я их решил, попытался решить или перестал считать их проблемами. Предупреждаю, что я не гуру и что прежде чем следовать моим советам, необходимо понимать, что вы сами хотите.
Я никогда не стремился разбираться в системе. Я страшно люблю быть «простым пользователем». Но если мне неудобно, то приходится разбираться. По прошествии какого-то количества лет и множества перепробованных методов я пришёл к выводу, что общепринятые в Unix методы работы и подходы удобнее «наработанных» привычек. И я поставил цель научиться этому для автоматизации своей деятельности. Ниже приведён список программ, которые я однажды запланировал освоить:
- emacs: Поначалу я, следуя привычки, приноровился к fte, но довольно быстро столкнулся с oграничениями этого редактора. для отвыкания потребовался перевод «руководства по GNU Emacs» от Aлекса Отта и неделя времени. Нисколько не жалею. Это была одна из самых удачных «доработок напильником» над собой.
- LaTeX: Одно время я считал себя «мастером визуальной разметки». Я знал все необходимые комбинации клавиш для быстрого набора формул, пользовался стилями, отличал шрифты друг от друга. Но все эти «наработанные» навыки не остановили меня от перехода на LaTeX. Такое решение дало мне в руки инструмент, с помощью которого можно самостоятельно верстать книги на вполне приличном уровне. Для перехода хватает одной русскоязычной книги по LaTeX: достаточно перевода от Бориса Тоботраса «Не очень краткое введение в LaTeX» и примера заголовка для включения русского языка.
- fvwm: делал всё возможное, чтобы не пользоваться этим «управляющим окнами». Привык к icewm, имею там любимую тему Urbicande. Но – надо. Перешёл в процессе установки и настройки Debian Sarge. Получил множество впечатлений.
Сказать нет mc: Всячески пытаюсь избавиться, но как человеку, «отравленному» клонами идеи Питера Нортона, сделать это тяжело. Отвыкание проходит постепенно на протяжении множества лет. Заставляю себя делать простые операции манипулирования файлами более естественными командами.
Этим, естественно, список не исчерпывается. В нём постоянно что-то появляется или исчезает по мере необходимости и привыкания. «доработка напильником» это не действие – это состояние души.
Установка
Установка нового дистрибутива с нуля происходит не часто и, как следствие, всё забывается. Поэтому первый шаг, который следует сделать и который я не сделал вовремя: необходимо прочитать «руководство по установке Debian GNU/Linux». Позже я нашёл там много интересного. Eсли вы не знаете что такое apt, то потратьте время на изучение этой технологии управления пакетами.
Собственно говоря, процесс установки протекает гладко. Надо только внимательно читать подсказки и везде выбирать русский язык. В качестве кодировки я всегда использую koi8-r, поэтому здесь вы не найдёте советов, как жить и бороться с unicode. Понятно, что в будущем другой альтернативы не будет, но если хочется спокойствия, то пока следует держаться от этого будущего подальше. Eдинственное, что хотелось бы отметить: при автоматической разметке диска для программ по умолчанию выделяется слишком мало места. для полного спокойствия нужно хотя бы 10Гб дискового пространства.
Настройка
Считаем, что установка прошла нормально и осталось довершить создание удобного для вас окружения. Нет никакой возможности заранее разглядеть все возможные грабли на пути к обустройству. Перечислю только те проблемы, на которые я наткнул- ся самостоятельно.
В случае возникновения проблем для расследования причин следует использовать apt-cache, dpkgи locate. Про чтение документации даже упоминать не хочется: сколько времени я потерял, не прочитав тот или иной кусочек текста, надеясь найти ответ «методом тыка». Правда, случаются ситуации, когда найденные вами «грабли» не документированы, тогда остаётся последняя надежда: http://www.google.com/ и списки рассылки.
sudo
Первое, что следует сделать – это настроить sudo или другую подобную программу. Цель: свести действия под личиной root к минимуму.
Для настройки sudo следует отредактировать файл /etc/sudoers, чтобы он выглядел примерно следующим образом:
# Host alias specification Host_Alias HOME = localhost # User alias specification User_Alias ADMIN = «пользователь» # Cmnd alias specification Cmnd_Alias APT = /usr/sbin/synaptic, /usr/bin/apt-get, \ /usr/bin/dpkg, /usr/sbin/dpkg-preconfigure,\ /usr/bin/aptitude # User privilege specification root ALL = (ALL) ALL ADMIN HOME = NOPASSWD: APT
Здесь вы разрешаете пользователю «пользователь» запускать программы для установки и управления пакетами. Например, «пользователь» может выполнить следующую команду:
>sudo apt-get install xfonts-bolkhov-koi8r-misc
Вы можете настроить и другой набор команд, который Вам временами приходится исполнять под суперпользователем. В дальнейшем приставка sudo при описании команд будет опускаться, но лучше, чтобы она у Вас была, так как роль «суперпользователя» потенциально опасна. если команды требуют прав суперпользователя, то перед ними будет ставиться значок приглашения «>».
Kонсоль
Занести в список: перестать работать в «консоли».
Но если очень хочется, то для работы в консоли достаточно установить пакет console-cyrillic. Eсли Вас не устраивают настройки, то пакет можно перенастроить:
> dpkg-reconfigure console-cyrillic
Далее следует выбрать из предлагаемых вариантов необходимые Вам. Я выбрал в качестве шрифта UniCyr размером в 14 пунктов и CapsLock для переключения между раскладками.
X Window
Eсли в процессе установки последовательно указывать ваше желание увидеть русский язык «из коробки», то почти всё настраивается. За исключением некоторых моментов:
- Стандартные сокращения для шрифтов, такие как fixed, 10x20, указывают на шрифты без кириллицы. То есть запущенный без настроек xterm не воспринимает кириллицу.
- Настройка клавиатуры предполагает старую «досовскую» раскладку.
Для устранения проблем со шрифтовыми сокращениями необходимо установить пакеты xfonts-bolkhov-koi8r-misc, xfonts-bolkhov-koi8r-75dpi. Далее следует раскомментировать (для этого надо убрать «!» в начале строки) в файле /etc/X11/fonts/misc/xfonts-bolkhov-koi8r-misc.alias все определения шрифтов, которые только можно раскомментировать, как то: fixed, 10x20 и так далее, а в файле /etc/X11/fonts/misc/xfonts-base.alias, наоборот, следует закомментировать все стандартные сокращения.
То же самое необходимо проделать с файлами /etc/X11/fonts/75dpi/xfonts-bolkhov-koi8r-75dpi.alias и /etc/X11/fonts/75dpi/xfonts-75dpi.alias, соответственно.
Теперь ваши изменения следует зафиксировать:
> update-fonts-alias misc > update-fonts-alias 75dpi
Для настройки раскладки клавиатуры следует отредактировать /etc/X11/XF86Config-4. Для этого надо найти раздел InputDevice и изменить/добавить следующие строчки:
Option “XkbLayout” “us,ru” Option “XkbVariant” “,winkeys” Option “XkbOptions” “grp:shift_toggle,grp_led:scroll”
Эти строки означают, что английская раскладка включается по умолчанию, для русской раскладки следует учесть «winkeys», а переключение происходит по нажатию двух клавиш Shift и при этом загорается Scroll Lock.
По умолчанию в Debian настраивается запуск X Window через xdm или его аналоги kdm/gdm. Но иногда требуется запустить второй сеанс X Window. Для этого можно воспользоваться, например, командой:
startx -- :2
2 – это номер X-консоли, в которой запустится эта сессия.
Для того чтобы запускался ваш любимый Window Manager или wm, а не то, что стоит по умолчанию можно указать это следующим образом:
echo fvwm > ~/.Xsession
Кириллица в разных программах
- Особых проблем не обнаружено, но в процессе обустройства натолкнулся на некоторые проблемы c кириллицей.
OPEN OFFICE
Проблема: в KDE – вместо меню одни квадратики.
Pешение: в /etc/openoffice/openoffice.conf следует установить export OOO_FORCE_DESKTOP=none
Комментарий: Почему-то этот эффект проявляется не у всех. Причину выяснять не особенно и хотелось.
A2PS
Проблема: при указании кодировки -X koi8-r не находит русских шрифтов.
Решение: Установить пакет t1-cyrillic. Добавить в /etc/a2ps.cfg в LibraryPath путь '/usr/share/fonts/type1/cyrillic/. Запустить /usr/share/a2ps/afm/make_fonts_map.sh Получившийся файл fonts.map.new следует переместить в ~/.a2ps как fonts.map.
Комментарий: решение наверняка неправильное, но работает. если вы не хотите печатать преобразованный текст сразу на принтер, то в a2ps-site.cfg можно добавить:
Option: --encoding=koi8-r DefaultPrinter: > $N.ps
ISPELL
Проблема: При проверке с русским словарём -i russian не отличает «ё» от «е». Kогда же гонения на «ё» закончатся?
Кто виноват: Можно посмотреть в changelog.Debian к пакету.
Что делать: «Пинать» текущего хозяина пакета или самому стать им. Проще собрать локально для себя, но это не выход.
JPILOT
Проблема: Возможна порча баз с русскими именами на palm при синхронизации.
Решение: Забыть про jpilot. Портить базы -- это непростительно.
Комментарии: Так жестоко поломали поддержку русского, похоже, в процессе перехода с gtk1 на gtk2. Воистину: «Лучшее – враг хорошего».
Альтернатива: Использовать для синхронизации и установки программ консольную утилиту pilot-xref. Оно и более правильно.
LATEX2HTML
Для того чтобы программа latex2html заработала более-менее стабильно после установки TeX Live необходимо отредактировать файл настроек /usr/share/latex2html/l2hconf.pm, изменив некоторые из переменных:
$LATEX = ‘/usr/local/bin/latex’; # LaTeX $DVIPS = ‘/usr/local/bin/dvips’; # dvips $TEX = “/usr/local/bin/tex”; # TeX $INILATEX = “/usr/local/bin/initex \”&latex\””;
Комментарий: Весьма странная программа, но для быстрой трансляции вполне годится. На код смотреть не рекомендуется – лучше спать будете.
FVWM
Eсли запустить fvwm с настройками по умолчанию, то, мягко говоря, то, что вы увидите, выглядит страшно. Это тонкий намёк на то, что надо заводить свой личный файл настроек .fvwm2rc.
Лучше утащить файл настроек у своего друга, которого вы будете донимать вопросами. A можно взять в сети: благо, файлов с подробными комментариями предостаточно. Например, можно заглянуть на http://www.fvwm.org/
Я «пошёл» на http://dotfiles.com/ и взял там файл настроек от Дональда Э. кнута. Не сильно отличается по виду от настроек по умолчанию, немного устаревший, зато имеет свою философию и подробные комментарии. Без редакции не обойтись.
Здесь бессмысленно давать советы, так как у каждого своё представление, как должно быть, так что fvwm может стать чем угодно. Потратьте какое-то время на его настройку и привыкание.
Обратите внимание на «Наиболее часто задаваемые вопросы» в FAQ к fvwm:
•!• При запуске fvwm не работают клавиатурные комбинации. Что делать?
Решение: добавьте в .fvwm2rc команду:
IgnoreModifiers L25
L – это [CapsLock], 2 – [NumLock] и 3 – [ScrollLock]
•!• xmms ведёт себя не так, как должен вести в соответствии с заданными правилами.
Ответ: xmms слишком умный, поэтому игнорирует все ваши настройки. За подробностями следует обращаться к разработчикам xmms.
Удобно для проверки настроек использовать модуль FvwmConsole – он позволяет интерактивно менять настройки задавая их в командной строке FvwmConsole.
TEX LIVE
как я понял из рассылки Debian, поставляемый стандартным образом дистрибутив LaTeX tetex довольно стар и его поддержка находится под большим вопросом. Основные усилия LaTeX-сообщества сосредоточены на дистрибутиве TeX Live, и в будущем этот дистрибутив станет базой для Debian. A пока приходится только «облизываться». Но не всё потеряно: TeX Live можно установить отдельно. для этого надо забрать последнюю версию TeX Live с сайта http://www.tug.org/texlive/.
Для установки следует смонтировать CD-образ TeX Live и запустить программу установки:
> bash install-tl.sh
Для установки TeX Live лучше выбрать директорию /usr/local и попросить сделать ссылки на программы в /usr/local/bin. Чтобы заработала программа xdvi, необходимо поставить пакет libxaw6.
После установки достаточно установить /usr/local/bin в переменной PATH в начало и наслаждаться современным LaTeX. Проблем с кириллизацией у TeX Live не замечено.
Предупреждение: размер установки по умолчанию почти 1 гигабайт.
LATEX
Для начала работы с LaTeX следует установить пакеты tetex-bin, tetex-base и tetex-extra. Чтобы печатать на русском, в преамбулу достаточно вставить что-то вроде:
\usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[english,russian]{babel} \usepackage{indentfirst}% first paragraph indent
EMACS
Подробно про кириллизацию emacs можно прочитать в Cyrillic HOWTO (russian), последнюю «замороженную» версию которого можно найти по адресу http://www.linux.org.ru/books/hOWTO/. Чтобы emacs «заговорил» по-русски, необходимо в .emacs установить языковое окружение:
(set-language-environment “Cyrillic-KOI8”)
И настроить шрифты, например, так:
;; Подстановка шрифтов (create-fontset-from-fontset-spec “-rfx-courier-medium-r-*-*-18-*-*-*-*-*-fontset-Vasja” t) ;; по умолчанию (set-default-font “fontset-Vasja”) ;; по умолчанию для фреймов (add-to-list ‘default-frame-alist ‘(font . “fontset-Vasja”))
Можно также подменить шрифты и в меню. для этого достаточно добавить соответствующие указания в ~/.Xresources, примерно, так:
!Emacs Emacs.*.font: <Ваш любимый шрифт> Emacs.pane.menu*.font: <Ваш любимый шрифт> Emacs.pane.dialog*.font: <Ваш любимый шрифт> Emacs.pane.menubar.font: <Ваш любимый шрифт> Emacs.pane.menubar.*.fontList: <Ваш любимый шрифт> Emacs.pane.menubar.popup_*.fontList: <Ваш любимый шрифт>
Мой любимый шрифт – это: -rfx-courier-medium-r-*-*-18-*-*-*-*-*-koi8-r.
Для того, чтобы русская проверка орфографии работала наверняка, потребуем использовать русские словари везде, где только можно:
;;Словарь для ispell – подставьте свой (setq spell-command “ispell”) (setq ispell-dictionary “russian”) (setq flyspell-default-dictionary “russian”) (setq ispell-local-dictionary “russian”)
Примечание: для проверки «на лету» следует включить flyspell-mode.
LATEX
Для работы с LaTeX в emacs лучше всего подходит пакет auctex. Этот пакет не входит в стандартную поставку emacs, поэтому его следует установить отдельно через apt-get. Чтобы использовать этот пакет необходимо в .emacs вставить следующие команды:
;; auctex (require ‘tex-site) (setq TeX-auto-save t) (setq TeX-parse-self t) (setq-default TeX-master nil) ;; автовставка ёлочек по нажатию клавиши “ (setq TeX-open-quote “<<”) (setq TeX-close-quote “>>”) ;; reftex - ref, labels и т.д. В LaTeX (add-hook ‘LaTeX-mode-hook ‘turn-on-reftex) (setq reftex-plug-into-AUCTeX t)
XDVI
С моей точки зрения, для быстрого предварительного просмотра LaTeX-файлов лучше всего подходит программа xdvi. Пакет auctex позволяет вызвать xdvi по [Ctrl]+C [Ctrl]+C. Для организации же «обратной связи» (возможности перехода из xdvi в нужную точку текста в emacs по [Ctrl]+[левая кнопка мыши]) необходимы следующие настройки:
– в .emacs добавить команду:
(server-start) ;;emacsclient
– в .Xresources прописать ресурсы xdvi:
xdvi.editor: emacsclient --no-wait +%l %f xdvi.wwwBrowser: mozilla
– в преамбулу LaTeX-документа вставить:
\usepackage{srcltx}
XXKB
Emacs – очень умная программа, поэтому даже переключение между раскладками он берёт на себя. Система интернационализации Mule по умолчанию предполагает переключение раскладок с помощью клавиатурной комбинации [Ctrl]+\. В самом начале, когда я начал использовать emacs, мне показалось, что это «дикость» какая-то. Теперь же мне этот способ представляется самым удобным.
Eдинственное, что emacs не может сделать сам – это объяснить X Window, что в его окне нет необходимости переключать регистр. Pешить эту проблему помогает программа xxkb, написанная Иваном Паскалем. к программе прилагается README на русском языке.
Для того, чтобы заставить X Window игнорировать emacs, следует создать файл ~/.xxkbrc, примерно такого вида:
Xxkb.mainwindow.enable: No Xxkb.controls.add_when_change: Yes XXkb.controls.focusout: Yes XXkb.app_list.wm_class_class.ignore: *emacs* *Emacs* XXkb.app_list.wm_class_class.alt_group1: *emacs* *Emacs* Xxkb.button.enable: Yes Xxkb.button.geometry: 15x15-60+10
XXkb.button.geometry следует подобрать таким образом, чтобы кнопка индикации раскладки в окошке не перекрывала стандартные кнопки обрамления окна. xxkb позволяет переключать раскладки независимо для каждого из окон, как с помощью стандартной комбинации клавиш, так и с помощью мыши. Kнопку индикации раскладки можно убрать средней кнопкой мыши, а если при этом активировать клавишу Ctrl, то это приложение будет занесено в список игнорируемых на постоянной основе.
Послесловие
Понятно, что хочется, чтобы всё было хорошо с самого начала. Но, к сожалению, так не бывает. И подходу «подстраивания себя» под стандартизованное кем-то окружение я предпочитаю подстраивание окружение под себя. а если окружение не хочет подстраиваться, то его надо менять без каких-либо сожалений. Это заставляет думать, это трудно, но ведь мы не ищем лёгких путей. Удачи в поисках!