UTF-8 и консоль на FreeBSD

Oct 15, 2008 14:55

В наш век повсеместного 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.
Previous post Next post
Up