В наш век повсеместного UTF-8 даже у самых суровых бородато-пузатых одминов изредка возникают мысли что неплохо бы уже забыть про извращённый секс с локалями и перевести все сервера на Правильную Кодировку (тм). Вот и меня после пары дней геморроя "блин-этот-файл-опять-не-в-той-кодировке-сохранился" посетила похожая мысля.
Так уж сложилось что работать мне приходится с FreeBSD, которая известна некоторыми... кхм.. задержками в развитии. Это выразилось в том, что консоль (монитор\клавиатура) в бзде утф не поддерживает. Совсем.
Без консоли грустно. От идеи взгромоздить обычные иксы я отказался, очень уж они громоздкие, а альтернативы (tinyx и т.п.) отказались компиляться под бздой. Драйвер системной консоли бзды кто-то там пытается ковырять но как-то очень вяло и неохотно.
В общем, затосковал я, закручинился, выпил с горя водки, да и забил на это дело. Не стоит, мол, овчинка выделки.
Однако ж, как-то раз, читая новости с opennet.ru наткнулся на каммент какого-то дядьки, который говорил, что в бздшной консоли утф давно уже работает безо всяких проблем посредством фреймбуфера, такой-то матери и маленькой утилитки, и имя этой утилитке jfbterm.
И вы знаете, оказалось что да, действительно, работает, да действительно пока что без проблем.
Jfbterm работает через framebuffer, поддерживает VESA-разрешения и 256 цветов, позволяет поставить в фон терминала картинку, работает с мышью и т.д.
В общем, качаем, ставим и компилим.
% fetch
http://www.ac.auone-net.jp/~baba/jfbterm/jfbterm-FreeBSD-0.5.1.tar.gz% tar xvzf jfbterm-FreeBSD-0.5.1.tar.gz
% cd jfbterm-FreeBSD-0.5.1
% aclocal
% autoconf
% automake --add-missing
% ./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib --prefix=/usr/local --mandir=/usr/local/man
% make
% su
# make install
Выставляем параметры терминала
# cat /usr/local/share/jfbterm/termcap.jfbterm >> /usr/share/misc/termcap
# cap_mkdb /usr/share/misc/termcap
Создаём конфиг
# cp /usr/local/etc/jfbterm.conf.sample /etc/jfbterm.conf
Качаем и ставим уникодный шрифт
# fetch
http://www.ac.auone-net.jp/~baba/gnu-unifont/unifont.pcf.gz# mkdir -p /usr/local/lib/X11/fonts/local/
# cp unifont.pcf.gz /usr/local/lib/X11/fonts/local/
Запускам (в консоли)
# jfbterm
Если утф не отображается, то меняем в конфиге /etc/jfbterm.conf строчку
encoding: locale
на
encoding: UTF-8
В качестве домашнего задания - прикрутить ввод русских букв через uim-m17nlib.