KOI8-R for FreeBSD

Locale Setup

Put the following lines into your ~/.login_conf file:

 me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R: 
or ask sysadmin to add russian login class to your account entry using vipw(8), like that:
 user:password:1111:11:russian:0:0:User Name:/home/user:/bin/sh 

Console Setup

  • Add the following line to your /etc/rc.conf file:

  • Also, use following settings in /etc/rc.conf:

     keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8" 
  • For each ttyv* entry in /etc/ttys, use cons25r as the terminal type.

Printer Setup

Since most printers with Russian characters come with hardware code page CP866, a special output filter is needed to convert from KOI8-R to CP866. Such a filter is installed by default as /usr/libexec/lpr/ru/koi2alt. A Russian printer /etc/printcap entry should look like:

 lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: 

MS-DOS FS and Russian File Names

The following example fstab(5) entry enables support for Russian filenames in mounted MS-DOS filesystems:

 /dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0 

The option -L selects the locale name used, and -W sets the character conversion table. To use the -W option, be sure to mount /usr before the MS-DOS partition because the conversion tables are located in /usr/libdata/msdosfs.

X11 Setup

  1. Do non-X locale setup first as described.

  2. If you use Xorg, install x11-fonts/xorg-fonts-cyrillic package.

    Check the "Files" section in your /etc/X11/xorg.conf file. The following line must be added before any other FontPath entries:

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

    Note: See ports for more cyrillic fonts.

  3. To activate a Russian keyboard, add the following to the "Keyboard" section of your xorg.conf file:

     Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:toggle" 

    Also make sure that XkbDisable is turned off (commented out) there.

    For grp:toggle the RUS/LAT switch will be Right Alt, for grp:ctrl_shift_toggle switch will be Ctrl+Shift. For grp:caps_toggle the RUS/LAT switch will be CapsLock. The old CapsLock function is still available via Shift+CapsLock (in LAT mode only). grp:caps_toggle does not work in Xorg for unknown reason.

    If you have Windows keys on your keyboard, and notice that some non-alphabetical keys are mapped incorrectly in RUS mode, add the following line in your xorg.conf file:

     Option "XkbVariant" ",winkeys" 

    Note: The Russian XKB keyboard may not work with non-localized applications.

Note: Minimally localized applications should call a XtSetLanguageProc (NULL, NULL, NULL); function early in the program.

See KOI8-R for X Window for more instructions on localizing X11 applications.


Examine FreeBSD Handbook, Russian Language (KOI8-R encoding) section for detailed description of FreeBSD tuning for KOI8-R. See also how to tune various applications ported to FreeBSD for KOI8-R .

Немного устаревшие странички про то, как русифицировать систему.