8.10. Не работает ввод русских букв в xterm, запущенном на локальной консоли в XFree86.

Это связано с ошибкой локализации в дистрибутиве X Window, поставляемой с 2.2.8-RELEASE. xterm ищет файлы локализации в каталоге ${X11BASE}/lib/X11/locale, а например, ports/russian/X.language, устанавливает их в ${X11BASE}/lib/X11/nls. Соответственно нужно просто переписать файлы локализации в нужный каталог.

Самый простой способ: Закомментарить в файле ${X11BASE}/lib/X11/locale/koi8-r/XLC_LOCALE строчку encoding_name KOI8-R

Если вы можете пересобрать XFree86 из портов, то должен помочь следующий патч:


    - --- lib/X11/imConv.c    Sat Oct 24 09:50:13 1998
    +++ lib/X11/imConv.c.new    Thu Dec  3 18:20:07 1998
    @@ -429,7 +429,7 @@
     #endif
         {sUTF8,    "utf8",     "\033%B"},
         /* Non-standard */
    -    {sCyrillic,    "KOI8-R", "\033%/1\200\210koi8-r\002"},
    +    {sKoi8,    "KOI8-R",   "\033%/1\200\210koi8-r\002"},
         {sLatin9,  "ISO8859-15",   "\033%/1\200\213iso8859-15\002"},/*
    a.k.a. Latin-0 */
     };


Нужно просто положите его в /usr/ports/x11/XFree86/patches и пересобрать XFree86.

Еще способ: Изменить в /etc/XF86Config строчку XkbLayout с su на ru

Еще один способ: Запускать xterm, не имея установленных значений для LANG/LC_ALL

Есть предположение, что xterm в locale.aliases ищет первое минимальное соответствие на LANG, в случае ru бралось ISO. Нужно изменить запись для ru на нужное (koi8-r).