\documentclass[12pt,openany,notitlepage,a4paper,oneside]{scrartcl} 
%\documentclass[10pt,openany,notitlepage,a4paper,oneside]{article} 
\usepackage[warn]{mathtext}
%\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{indentfirst}%first paragraph indent
\usepackage{cmap}
\usepackage[unicode=true]{hyperref}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{srcltx}
\usepackage{textcomp}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage{afterpage}
%Переопределение : в . для подписи к рисунку
\usepackage{ccaption}
\captiondelim{. }
\usepackage{xspace}
\usepackage{listings}
\lstloadlanguages{[LaTeX]TeX,csh,Lisp,Clean,perl}
\lstset{extendedchars=true,
        commentstyle=\it,
        stringstyle=\bf }

%TeX Live
\newcommand{\TeXLive}{\TeX \textbf{Live}\xspace}

%backslash
%\newcommand{\bs}{\symbol{'134}}
\newcommand{\bs}{\textbackslash}
%degree
\newcommand{\grad}{\ensuremath{{}^{\circ}}\xspace}


\author{\textcopyleft{} Балдин Е.М.}
\title{Доработка напильником. \\(Debian Sarge) }
\date{06 ноября 2005}

\begin{document}
\maketitle
\begin{flushright}
  Там же в инструкции написано:\par
  <<После сборки доработать напильником>>.\par
  \emph{Окончание старого анекдота}.
\end{flushright}
\vspace{1cm}
%\newpage

\begin{abstract}
  Если просто лежать на диване и ничего не делать, то даже в этом
  случае мозг потребляет 10\% от общей энергии, а если хоть что-то
  делать, например, читать документацию, то энергопотребление
  возрастает более чем в два раза. Поэтому, обычно у человека
  вырабатывается отрицательный рефлекс на умственную работу.  Очень
  часто много времени и усилий теряется из-за нежелания остановиться и
  подумать. Для \emph{эффективной} работы необходимо выбирать
  эффективные приёмы и отказываться от ненужных привычек. И то и
  другое требует размышлений и дополнительных усилий. При доработке
  напильником надо учитывать, что очень часто требуется дорабатывать
  не программы, а самого себя. Это не просто, так как вредные
  привычки, как правило, и самые любимые.

  Эта статья была опубликована в 4ом декабрьском номере русскоязычного
  журнала Linux Format (\url{http://www.linuxformat.ru}). Текст статьи
  доступен под лицензией FDL. Все вопросы по содержанию и по доступу к
  исходникам статьи следует задавать мне по электронной почте
  E.M.Baldin@inp.nsk.su.
\end{abstract}

\newpage

\tableofcontents

\section{Введение}
\label{sec:intro}




К первому русскоязычному номеру журнала Linux Format прилагался DVD
диск с Debian 3.1. Это событие наложилось на плановое обновление
железа моего домашнего компьютера\footnote{Я наконец-то упёрся в
  ограничение по скорости для Celeron 766: задачник по физике
  <<Кинематика>> долго <<собирался>>. Это не сильно тормозило работу
  над ним, но серьёзно раздражало.}. Желание сменить дистрибутив Linux
в конце концов выиграло бой с ленью. Кстати, лень часто оказывается права.

% Предыдущий дистрибутив, который стоял у меня на компьютере относился к
% семейству Alt Linux Master. Версия 2.0 была куплена мной из желания поддержать
% это полезное начинание. Далее был переход на версию 2.2 и обновление до 2.4. В
% процессе перехода внутри семейства Alt Linux случались странные вещи, такие
% как: исчезновение звука, \mbox{X Window} перестала запускаться из консоли, в
% какой-то момент отказался работать CVS-сервер. Какие-то проблемы удалось
% решить, к каким-то приспособиться, но всегда приходилось предпринимать усилия.
% С другой стороны <<кириллизация из коробки>> у этого дистрибутива на очень
% высоком уровне "--- по крайней мере меня она полностью устраивала.

% С момента выпуска дистрибутива Alt Linux Master 2.0 прошло довольно
% много времени и большинство проблем кириллизации были решены и в
% других дистрибутивах в том числе и силами русскоязычного сообщества.
% Кириллизация дистрибутива перестала быть основным камнем преткновения
% при создании удобной <<среды обитания>>, но по прежнему она является
% одной из важнейших проблем для русскоязычных пользователей.


% \section{Для чего нужен напильник}
% \label{sec:phylosophy}

% Если просто лежать на диване и ничего не делает, то даже в этом случае мозг
% потребляет 10\% от общей энергии, а если хоть что-то делать, например, читать
% документацию, то энергопотребление возрастает более чем в два раза. Поэтому,
% обычно у человека вырабатывается отрицательный рефлекс на умственную работу.
% Очень часто много времени и усилий теряется из-за нежелания остановиться и
% подумать. Для \emph{эффективной} работы необходимо выбирать эффективные приёмы
% и отказываться от ненужных привычек. И то и другое требует размышлений и
% дополнительных усилий. При доработки напильником надо учитывать, что очень
% часто требуется дорабатывать не программы, а самого себя. Это не просто, так
% как вредные привычки, как правило, и самые любимые.

%Далеко не всегда желания и привычки человека являются разумными.

В этом тексте я не только представил список проблем, обнаруженных мной
при настройке подходящей <<среды обитания>>, но и попытался описать,
как я их решил, попытался решить или перестал их считать проблемами.
Предупреждаю, что я не гуру и что, прежде чем следовать моим советам,
необходимо понимать что Вы хотите.

Никогда не стремился разбираться в системе. Страшно люблю быть
<<простым пользователем>>. Но если мне неудобно, то приходится
разбираться. По прошествии какого-то количества лет и множества
перепробованных методов я пришёл к выводу, что общепринятые в Unix
методы работы и подходы удобнее <<наработанных>> привычек. И я
поставил цель научиться этому для \emph{автоматизации} своей
деятельности. Ниже приведён список программ, которые я однажды
запланировал освоить:
\begin{description}
\item[emacs] По началу я, следуя привычке, приноровился к
  \texttt{fte}, но довольно быстро упёрся в ограничение этого
  редактора. Для отвыкания потребовался перевод <<Руководства по GNU
  Emacs>> от Алекса Отта и неделя времени. Нисколько не жалею. Это
  была одна из самых удачных <<доработок напильником>> над собой.
\item[\LaTeX{}] Одно время я считал себя <<мастером визуальной
  разметки>>. Я знал все необходимые комбинации клавиш для быстрого
  набора формул, я пользовался стилями, отличал шрифты друг от друга.
  Но все эти <<наработанные>> навыки не остановили меня от перехода на
  \LaTeX. Это решение дало мне в руки инструмент с помощью которого я
  самостоятельно мог верстать книги на вполне приличном уровне. Для
  перехода хватает одной русскоязычной книги по \LaTeX: достаточно
  перевода от Бориса Тоботраса <<Не очень краткого введения в \LaTeX>>
  и примера заголовка для включения русского языка.
%%\item[CVS] Проблем с обучением не возникло, так как до этого никогда системой
%%  контроля версий не пользовался. Сейчас есть желание поглядеть в сторону
%%  \texttt{subversion}.
%%\item[mutt] Пока не получается уйти с \texttt{pine}. Пальцы <<загнуты>> под
%%  привычную программу чтения электронной почты в прямом смысле этого слова.
%%  Вероятно, отсутствие \texttt{pine} в Debian поспособствует переходу.
\item[fvwm] Делал всё возможное, чтобы не пользоваться этим
  <<управляющим окнами>>. Привык к \texttt{icewm}, имею там любимую
  тему Urbicande. Но \emph{надо}.  Перешёл в процессе установки и
  настройки Debian Sarge. Приобрёл множество впечатлений.
\item[Сказать нет mc] Всячески пытаюсь избавиться, но как человеку
  <<отравленному>> клонами идеи Питера Нортона сделать это тяжело.
  Отвыкание проходит постепенно на протяжении множества лет. Заставляю
  себя делать простые операции манипулирования файлами более
  естественными командами.
\end{description}

Этим, естественно, список не исчерпывается. В нём постоянно что-то
появляется или исчезает по мере необходимости и привыкания.
<<Доработка напильником>> это не действие "--- это состояние души.

\section{Установка}
\label{sec:install}

Установка нового дистрибутива с нуля происходит не часто и, как
следствие, всё забывается. Поэтому первый шаг, который я таки не
сделал вовремя: необходимо прочитать <<Руководство по установке Debian
GNU/Linux>>. Позже я нашёл там много интересного. Если Вы не знаете
что такое \texttt{apt}, то потратьте время на изучение этой технологии
управления пакетами.

Собственно говоря, процесс установки протекает гладко. Надо только
внимательно читать подсказки и везде выбирать русский. В качестве
кодировки я всегда выбираю \texttt{koi8-r}, поэтому здесь Вы не
найдёте советов как жить и бороться с \texttt{unicode}. Понятно, что в
будущем другой альтернативы не будет, но если хочется спокойствия, то
пока следует держаться от этого будущего подальше.  Единственное, что
хотелось бы отметить: при автоматической разметки диска для программ
по умолчанию выделяется слишком мало места. Для полного спокойствия
надо хотя бы десять гигабайт.


\section{Настройка}
\label{sec:tuning}

Считаем, что установка прошла нормально и осталось довершить создание
удобного для вас окружения. Нет никакой возможности заранее разглядеть
все возможные грабли на пути к обустройству. Здесь перечислены только
те проблемы, на которые я наткнулся самостоятельно.

В случае возникновения проблем для расследования причин следует
использовать \texttt{apt-cache}, \texttt{dpkg} и \texttt{locate}. Про
чтение документации даже упоминать не хочется: сколько времени я
потерял, не прочитав тот или иной кусочек текста, надеясь найти ответ
<<методом тыка>>. Правда, случаются ситуации когда найденные Вами
<<грабли>> не документированы, тогда остаётся последняя надежда:
\url{www.google.com} и списки рассылки.

\subsection{sudo}
\label{sec:sudo}

Первое, что следует сделать, это настроить \texttt{sudo}, или другую
подобную программу. Цель: свести действия под личиной \texttt{root} к
минимуму.

Для настройки \texttt{sudo} следует отредактировать файл
\texttt{/etc/sudoers}, чтобы он выглядел примерно следующим образом:
\begin{lstlisting}[frame=tb,language=csh]
# 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
\end{lstlisting}
Здесь вы пользователю <<пользователь>> разрешаете пользоваться
программами для установки и настройки пакетов. Например,
<<пользователь>> может выполнить следующую команду:
\begin{lstlisting}[language=csh]
> sudo apt-get install xfonts-bolkhov-koi8r-misc
\end{lstlisting}
Вы можете настроить и другой набор команд, который Вам временами
приходится исполнять под суперпользователем. В дальнейшем я буду
упускать приставку \texttt{sudo} при описании команд, но лучше чтобы
она у Вас была, так как роль <<суперпользователя>> потенциально
опасна. Если команды требуют прав суперпользователя, то перед ними
будет ставиться значок приглашения <<\texttt{>}>>.


\subsection{Console}
\label{sec:console}

\emph{Занести в список:} перестать работать в <<консоли>>.

Но если очень хочется, то для работы в консоли достаточно установить
пакет \texttt{console-cyrillic}. Если Вас не устраивают настройки, то
пакет можно перенастроить:
\begin{lstlisting}[language=csh]
> dpkg-reconfigure console-cyrillic
\end{lstlisting}
Далее следует выбрать из предлагаемых вариантов необходимые Вам. Я
выбрал в качестве шрифта \texttt{UniCyr} размера \texttt{14} и
\texttt{CapsLock} для переключения между раскладками.

\subsection{X Window}
\label{sec:X}

Если в процессе установки последовательно указывать Ваше желание
увидеть русский язык <<из коробки>>, то почти всё настраивается. За
исключением некоторых моментов:
\begin{itemize}
\item Стандартные сокращения для шрифтов, такие как \texttt{fixed},
  \texttt{10x20}, указывают на шрифты без кириллицы. То есть
  запущенный без настроек \texttt{xterm} не воспринимает кириллицу.
\item Настройка клавиатуры предполагает старую <<досовскую>>
  \mbox{раскладку}.
\end{itemize}

Для устранения проблем со шрифтовыми сокращениями необходимо
установить пакеты \texttt{xfonts-bolkhov-koi8r-misc},
\texttt{xfonts-bolkhov-koi8r-75dpi}.  Далее следует раскомментировать
в файле \texttt{/etc/X11/fonts/misc/xfonts-bolkhov-koi8r-misc.alias}
все определения шрифтов, которые можно раскомментировать, как то:
\texttt{fixed}, \texttt{10x20} и т.\,д., а в файле
\texttt{/etc/X11/fonts/misc/xfonts-base.alias}, наоборот следует все
стандартные сокращения закомментировать.

То же самое необходимо проделать  с файлами\\
\texttt{/etc/X11/fonts/75dpi/xfonts-bolkhov-koi8r-75dpi.alias} и\\
\texttt{/etc/X11/fonts/75dpi/xfonts-75dpi.alias}, соответственно.

Теперь ваши изменения следует зафиксировать:
\begin{lstlisting}[language=csh]
> update-fonts-alias misc 
> update-fonts-alias 75dpi
\end{lstlisting}

Для настройки раскладки клавиатуры следует отредактировать\\
\texttt{/etc/X11/XF86Config-4}. Для этого надо найти раздел
\texttt{InputDevice} и изменить/добавить следующие строчки:
\begin{lstlisting}[frame=tb,language=Clean]
Option "XkbLayout"  "us,ru" 
Option "XkbVariant" ",winkeys" 
Option "XkbOptions" "grp:shift_toggle,grp_led:scroll"
\end{lstlisting}
Эти строки означают, что английская раскладка включается по умолчанию,
для русской раскладки следует учесть <<winkeys>>, а переключение
происходит по нажатию двух клавиш \texttt{Shift} и при этом загорается
\texttt{\mbox{Scroll Lock}}.

По умолчанию в Debian настраивается запуск X Window через \texttt{xdm}
или его аналоги \texttt{kdm}/\texttt{gdm}. Но иногда требуется
запустить второй сеанс \mbox{X Window}\footnote{Это важно в случае
  многопользовательской домашней машины.}. Для этого можно
воспользоваться, например, командой:
\begin{lstlisting}[language=csh]
startx -- :2
\end{lstlisting}
2 "--- это номер X-консоли в которой запустится эта сессия. 

Для того чтобы запускался ваш любимый Window Manager или wm, а не то, что стоит
по умолчанию\footnote{Умолчание можно сменить с помощью команды
  \texttt{update-alternatives}.} можно указать это следующим образом:
\begin{lstlisting}[language=csh]
echo fvwm > ~/.Xsession
\end{lstlisting}




\subsection{Кириллица в разных программах}
\label{sec:cyrillic-prog}

Особых проблем не обнаружено, но в процессе обустройства натолкнулся
на некоторые проблемы c кириллицей.


\subsubsection{Open Office}
\label{sec:open-office}

\emph{Проблема:} в KDE "--- вместо меню одни квадратики.

\emph{Решение:} в \texttt{/etc/openoffice/openoffice.conf} следует
установить
\begin{lstlisting}[language=csh]
export OOO_FORCE_DESKTOP=none
\end{lstlisting}

\emph{Комментарий:} Почему-то этот эффект проявляется не у всех.
Причину выяснять не особо то и хотелось.


\subsubsection{a2ps}
\label{sec:a2ps}


\emph{Проблема:} при указании кодировки \texttt{-X koi8-r} не находит
русских шрифтов.

\emph{Решение:} Установить пакет \texttt{t1-cyrillic}. Добавить в
\texttt{/etc/a2ps.cfg} в \texttt{LibraryPath} путь
\texttt{/usr/share/fonts/type1/cyrillic/}. Запустить
\begin{lstlisting}[language=csh]
/usr/share/a2ps/afm/make_fonts_map.sh 
\end{lstlisting}
Получившийся файл \texttt{fonts.map.new} следует переместить в
\verb|~/.a2ps| как \texttt{fonts.map}.

\emph{Комментарий:} Решение наверняка неправильное, но работает.  Если
Вы не хотите печатать преобразованный текст сразу на принтер, то в
\texttt{a2ps-site.cfg} можно добавить:
\begin{lstlisting}[frame=tb,language=csh,escapechar=|]
 Option: --encoding=koi8-r
 DefaultPrinter: > |\textdollar|N.ps 
\end{lstlisting}


\subsubsection{ispell}
\label{sec:ispell}


\emph{Проблема:} При проверке с русским словарём \texttt{-i russain}
не отличает <<ё>> от <<е>>. Когда же гонения на <<ё>> закончатся?

\emph{Кто виноват:} Можно посмотреть в \texttt{changelog.Debian} к
пакету.

\emph{Что делать:} <<Пинать>> текущего хозяина пакета или самому стать
им. Проще собрать локально для себя, но это не выход.


\subsubsection{jpilot}
\label{sec:jpilot}


\emph{Проблема:} Возможна порча баз с русскими именами на palm при
синхронизации.

\emph{Решение:} <<Забить>> на \texttt{jpilot}. Портить базы, это
ошибка в ДНК разработчиков.

\emph{Комментарии:} Так жестоко поломали поддержку русского, похоже в
процессе перехода с \texttt{gtk1} на \texttt{gtk2}. Воистину: <<Лучшее
"--- враг хорошего>>.

\emph{Альтернатива:} Использовать для синхронизации и установки
программ консольную утилиту \texttt{pilot-xfer}. Оно и более
правильно.

\subsection{fvwm}
\label{sec:fvwm}

Если запустить \emph{fvwm} с настройками по умолчанию, то, мягко
говоря, то что Вы увидите, выглядит страшно. Это тонкий намёк на то,
что надо заводить свой личный файл настроек \texttt{\$HOME/.fvwm/config}.

Лучше утащить файл настроек у своего друга, которого Вы будете
донимать вопросами. А можно взять в сети: благо, файлов с подробными
описании предостаточно. Например, можно заглянуть на
\url{www.fvwm.org}

На \url{dotfiles.com} можно взять файл настроек от Дональда Э.  Кнута.
Файл сильно отличается по виду от настроек по умолчанию, немного
устаревший, зато имеет свою философию и подробные комментарии. Без
редактирования не обойтись.

Здесь бессмысленно давать советы, так как у каждого своё представление
как должно быть и \texttt{fvwm} может стать чем угодно. Потратьте
какое-то время на его настройку и привыкание.

Обратите внимание на <<Наиболее часто задаваемые вопросы>> в FAQ к
fvwm:
\begin{description}
\item[0.1] При запуске \texttt{fvwm} не работают клавиатурные
  комбинации. Что делать?

  \emph{Решение:} Добавьте в \texttt{\$HOME/.fvwm/config} команду:
\begin{lstlisting}[frame=tb,language=csh]
IgnoreModifiers L25
\end{lstlisting}
  L это \texttt{CapsLock}, 2 это \texttt{NumLock} и 3 это ScrollLock

\item[0.2] xmms ведёт себя не так, как должен вести в соответствии с
  заданными правилами.

  \emph{Ответ:} \texttt{xmms} слишком умный, поэтому игнорирует все
  ваши настройки. За подробностями следует обращаться к разработчикам
  \texttt{xmms}.

\end{description}

Удобно для проверки настроек использовать модуль \texttt{FvwmConsole}
"--- он позволяет интерактивно менять настройки задавая их в командной
строке \texttt{FvwmConsole}.



\subsection{\LaTeX}
\label{sec:latex}

Для начала работы с \LaTeX{} следует установить пакеты
\texttt{tetex-bin}, \texttt{tetex-base} и \texttt{tetex-extra}. Для
того чтобы печатать на русском в преамбулу достаточно вставить что-то
вроде:
\begin{lstlisting}[frame=tb,language=TeX]
\usepackage[T2A]{fontenc}
\usepackage[koi8-r]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{indentfirst}% first paragraph indent
\end{lstlisting}

\subsubsection{\TeXLive}
\label{sec:texlive}

Как я понял из рассылки Debian, поставляемый стандартным образом
дистрибутив \LaTeX{} \texttt{tetex} довольно стар и его поддержка под
большим вопросом. Основные усилия \LaTeX-сообщества сосредоточены на
дистрибутиве \TeXLive и в будущем этот дистрибутив станет базой для
Debian. А пока приходится только <<облизываться>>. Но не всё потеряно:
\TeXLive можно установить отдельно. Для этого надо забрать последнюю
версию \TeXLive с сайта \url{http://www.tug.org/texlive/}.

Для установки следует смонтировать CD-образ \TeXLive и запустить
программу установки:
\begin{lstlisting}[language=csh]
> bash install-tl.sh
\end{lstlisting}
Для установки \TeXLive лучше выбрать директорию \texttt{/usr/local} и
попросить сделать ссылки на программы в \texttt{/usr/local/bin}. Чтобы
заработала программа \texttt{xdvi} необходимо поставить пакет
\texttt{libxaw6}.

После установки достаточно установить \texttt{/usr/local/bin} в переменной
\texttt{PATH} в начало и наслаждаться современным \LaTeX. Проблем с
кириллизацией у \TeXLive не замечено.

\emph{Предупреждение:} Размер установки по умолчанию почти 1 гигабайт.



\subsubsection{latex2html}
\label{sec:latex2html}

Для того чтобы программа \texttt{latex2html} заработала более-менее
стабильно после установки \TeXLive необходимо изменить некоторые
из переменных, отредактировав файл
настроек \texttt{/usr/share/latex2html/l2hconf.pm}:
\begin{lstlisting}[frame=tb,language=perl]
$LATEX = '/usr/local/bin/latex';        # LaTeX                                 
$DVIPS = '/usr/local/bin/dvips';        # dvips                                 
$TEX = "/usr/local/bin/tex";            # TeX                           
$INILATEX = "/usr/local/bin/initex \"&latex\""; 
\end{lstlisting}

\emph{Комментарий:} Весьма странная программа, но для быстрой
трансляции вполне годится. На код смотреть не рекомендуется "--- лучше
спать будете. %Улучшению не поддаётся "--- только лёгкой модификации.

\subsection{Emacs}
\label{sec:emacs}

Подробно про кириллизацию \texttt{emacs} можно прочитать в Cyrillic
HOWTO (russian). Последнюю версию можно найти по адресу
\url{http://www.linux.org.ru/books/HOWTO/}. Для того, чтобы
\texttt{emacs} <<заговорил>> по русски необходимо в \texttt{.emacs}
установить языковое окружение:
\begin{lstlisting}[frame=tb,language=Lisp]
(set-language-environment "Cyrillic-KOI8")
\end{lstlisting}
И настроить шрифты, например, так:
\begin{lstlisting}[frame=tb,language=Lisp]
;; Подстановка шрифтов
(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"))
\end{lstlisting}
Можно так же подменить шрифты и в меню. Для этого достаточно добавить
соответствующие указания в \verb|~/.Xresources|, примерно, так:
\begin{lstlisting}[frame=tb,language=Clean]
!Emacs
Emacs.*.font: <Ваш любимый шрифт>
Emacs.pane.menu*.font: <Ваш любимый шрифт>
Emacs.pane.dialog*.font: <Ваш любимый шрифт> 
Emacs.pane.menubar.font: <Ваш любимый шрифт> 
Emacs.pane.menubar.*.fontList: <Ваш любимый шрифт> 
Emacs.pane.menubar.popup_*.fontList: <Ваш любимый шрифт> 
\end{lstlisting}
Для меня любимый шрифт, это:
\texttt{-rfx-courier-medium-r-*-*-18-*-*-*-*-*-koi8-r}.

Для того чтобы русская проверка работала наверняка, потребуем
использовать русски словари везде, где только можно:
\begin{lstlisting}[frame=tb,language=Clean]
;;Словарь для ispell - подставьте свой
(setq spell-command "ispell")
(setq ispell-dictionary "russian")
(setq flyspell-default-dictionary "russian")
(setq ispell-local-dictionary "russian")
\end{lstlisting}

\texttt{Примечание:} Для проверки <<на лету>> следует включить
\texttt{flyspell-mode}.


\subsubsection{xxkb}
\label{sec:xxkb}



\texttt{Emacs} "--- очень умная программа, поэтому даже переключение
между раскладками он берёт на себя. Система интернационализации
\texttt{Mule} по умолчанию предполагает переключение раскладок с
помощью клавиатурной комбинации [Ctrl]+\bs. В самом начале, когда я
начал использовать \texttt{emacs}, мне показалось, что это <<дикость>>
какая-то. Теперь же мне этот способ представляется самым удобным.

Единственное, что \texttt{emacs} не может сделать сам "--- это
объяснить \mbox{X Window}, что в его окне нет необходимости
переключать регистр. Решить эту проблему помогает программа
\texttt{xxkb}, написанная Иваном Паскалем. К программе прилагается
\texttt{README} на русском языке. 

% Перед использованием имеет смысл
% ознакомиться, дабы представлять все возможности этой замечательной
% программы.

Для того, чтобы заставить X Window игнорировать \texttt{emacs},
следует создать файл \verb|~/.xxkbrc|, примерно, такого вида:
\begin{lstlisting}[frame=tb,language=Clean]
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
\end{lstlisting}
\texttt{XXkb.button.geometry} следует подобрать таким образом, чтобы кнопка
индикации раскладки в окошке не перекрывала стандартные кнопки обрамления окна.
\texttt{xxkb} позволяет переключать раскладки для каждого из окон независимо
как с помощью стандартной комбинации клавиш, так и с помощью мышки. Кнопку
индикации раскладки можно убрать средней кнопкой мыши, а если при этом
активировать клавишу \texttt{Ctrl}, то это приложение будет занесено в список
игнорируемых на постоянной основе.



\subsubsection{\LaTeX}
\label{sec:emacs-latex}

Для работы с \LaTeX{} в \texttt{emacs} лучше всего подходит пакет
\texttt{auctex}. Этот пакет не входит в стандартную поставку
\texttt{emacs}, поэтому его следует установить отдельно через
\texttt{apt-get}. Чтобы использовать этот пакет необходимо в
\texttt{.emacs} вставить следующие команды:
\begin{lstlisting}[frame=tb,language=Lisp]
;; 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)
\end{lstlisting}

\subsubsection{xdvi}
\label{sec:xdvi}

С моей точки зрения для быстрого предпросмотра \LaTeX-файлов лучше
всего подходит программа \texttt{xdvi}. Пакет \texttt{auctex}
позволяет вызвать \texttt{xdvi} по [Ctrl]+C [Ctrl]+C. Для организации
же <<обратной связи>> (возможности перехода из \texttt{xdvi} в нужную
точку текста в \texttt{emacs} по [Ctrl]+\\{} +[левая кнопка мыши])
необходимы следующие \mbox{настройки}:
\begin{itemize}
\item В \texttt{.emacs} добавить команду:
\begin{lstlisting}[frame=tb,language=Lisp]
(server-start) ;;emacsclient
\end{lstlisting}
\item В \texttt{.Xresources} прописать ресурсы \texttt{xdvi}:
\begin{lstlisting}[frame=tb,language=Clean]
xdvi.editor: emacsclient --no-wait +%l %f
xdvi.wwwBrowser:  mozilla
\end{lstlisting}
\item В преамбулу \LaTeX{}-документа вставить:
\begin{lstlisting}[frame=tb,language=TeX]
\usepackage{srcltx}
\end{lstlisting}
\end{itemize}


\subsection{Экзотическое оборудование}
\label{sec:exotic}

Обычно, при обновлении домашнего компьютера остаётся ворох
комплектующих, которые выбросить жалко, а использовать проблематично.
Ниже я приведу пример как не надо делать. На вопрос: <<Как надо
делать?>> "--- отвечу: <<Выбросить>>.

Обсуждаемый предмет: софт-модем с чипом Lucent. \emph{Никогда не
  покупайте эту бяку!!!} 

\emph{Проблема:} после установки последних драйверов с
\texttt{http://linmodems.org} соединяется без коррекции ошибок
\texttt{NoEC}.  Это видно в журнале \texttt{kppp}\footnote{Для запуска
  \texttt{kppp} или другой <<звонилки>> необходимо, чтобы Вы были
  включены в группу \texttt{dialout}.}.

\emph{Причина:} в 2004 году вышла новая версия закрытого драйвера и
там что-то <<улучшили>>. Видимо, на эти улучшение наложилась плохая
связь.

\emph{Решение:} Следует устанавливать версию драйвера (alk-версия) от
Алексея Кондратенко (\texttt{alk(at)tut(dot)by}).  В поставке есть старая
версия перед сборкой установить ссылку на неё.
\begin{lstlisting}[language=csh]
ln -sf ltmdmobj.o-pre-8.31 ltmdmobj.o 
\end{lstlisting}
Перед установкой почитать \texttt{/docs/README} и
\texttt{/docs/udev-setup} для настройки \texttt{udev}.

Почему я привёл этот случай: да потому что ни в документации, ни в
списке рассылки не было ни слова про эту ошибку. Точнее были какие-то
советы, но они ни к чему не приводили и только в одном сообщении
обмолвка Алексея Кондратенко о возможных проблемах с новыми
<<улучшенными>> драйверами поставило всё на свои места. Поиски решения
заняли больше суток. Это не нормально.

Не стоит покупать и использовать экзотическое оборудование. Всегда
смотрите что покупаете на предмет совместимости с \texttt{Linux}. Не
следует покупать <<брошенное>> железо. Исключением, пожалуй, является
звуковые карточка от <<умершей>> Aureal "--- всё что надо, теперь есть
в ядре.


\section{Послесловие}
\label{sec:epilogue}

Понятно, что хочется, чтобы всё было хорошо с самого начала. Но, к
сожалению, так не бывает. И подходу <<подстраивать себя>> под
стандартизованное кем-то окружение я, лично, предпочитаю подстраивать
окружение под себя. И если окружение не хочет подстраиваться, то его
надо менять без каких-либо сожалений. Это заставляет думать, что
тяжело, но ведь мы не ищем \emph{лёгких путей}. Удачи в поисках!



\end{document}















