VD UNICON のメンテナンスは 2009/10/26 に 2.6.31 対応 patch を最後に終了しました。長らくのご利用ありがとうございました。
現在、UTF-8 対応コンソールとして utf-8 kernel が開発されています。なお、一切関与していません。
UNICON は Linux のフレームバッファ上で CJK(中国語/日本語/韓国語)を表示するための仕組みです (UTF-8 には未対応)。TurboLinux 北京オフィス にて開発されていましたが、長らく更新が停止した状態になっています。dai が非公式に VD UNICON の名称でメンテナンスを続けていましたが、2009/10/26 に 2.6.31 対応 patch を最後に終了しました。
この文章およびパッチなどは無保証です。UNICON による Linux 日本語 console テストに際し、UNICON を使って日本語コンソールを実現しよう および UNICON を参考にさせて頂きました。多謝。
kernel に フォントのパッチと VD UNICON 本体のパッチの両方を当てる。
これらのパッチは Turbolinux の kernel SRPM に含まれている UNICON パッチを元に、UNICON を使って日本語コンソールを実現しよう、Okpos.com:: Unicon にて提供されているパッチ、dai による修正を加えてある。
% cd /usr/src/linux-2.*.* # font patch % bzcat .../vd_unicon-kernel-fonts-YYYYMMDD.patch.bz2 | patch -p1 # unicon patch % cat .../vd_unicon-kernel-YYYYMMDD-2.*.patch | patch -p1
実験的機能のサポート、ローダブルモジュールのサポート、フレームバッファサポートをそれぞれ有効にし(詳細は Framebuffer HOWTO を参照)、 UNICON サポートを組み込み、表示したい言語のフォントをモジュールとする。
CONFIG_UNICON=y CONFIG_UNICON_GB=m CONFIG_UNICON_GBK=m CONFIG_UNICON_BIG5=m CONFIG_UNICON_EUCJP=m CONFIG_UNICON_JIS=m CONFIG_UNICON_SJIS=m CONFIG_UNICON_KSCM=m
通常は EUCJP のみでかまわないだろう。 (GB/GBK は簡体字中国語、BIG5 は繁体字中国語、 EUCJP/JIS/SJIS は日本語、 KSCM は韓国語それぞれのフォントサポート)
UNICON はフレームバッファ上で動作するため、フレームバッファを利用するように bootloader で設定を行う。詳細は Framebuffer HOWTO、コンソールを高解像度で表示するには(GRUB編, LILO編)を参照。
2.6.24 以降、boot option に「vt.default_utf8=0」が必要となる場合がある。
GNU GRUB では kernel 行に
kernel /boot/vmlinuz root=/dev/sda1 ro video=vesafb vga=0x305 vt.default_utf8=0
LILO では append 行に
append="vt.default_utf8=0"
のように追加する。
unicon-tools-0.0.0.20050707.tar.gz を拾ってくる。
これは unicon-3.0.4-20010924.tar.gz (Turbolinux 北京オフィスではもう配布されていないようなのでここで配布) に vd_unicon-userland-20031122.patch (UNICON を使って日本語コンソールを実現しよう、UNICON にて提供されているパッチ及び dai による修正)を当て、必要な部分のみを取り出したものである。
% ./configure --prefix=/usr % make # make install
devfs, udev を使っていれば必要ない。
# mknod /dev/unikey c 10 202 # chmod 640 /dev/unikey
以下を適当な boot script に追加。
#!/bin/sh # # VD UNICON for EUC-JP if [ \( -f /lib/modules/`/bin/uname -r`/kernel/drivers/video/unicon/unikey.o \ -o -f /lib/modules/`/bin/uname -r`/kernel/drivers/video/unicon/unikey.ko \) \ -a -x /usr/bin/uniconctrl \ -a -e /dev/fb0 ]; then /sbin/modprobe unikey /sbin/modprobe encode-eucjp # console-tools if [ -x /usr/bin/consolechars ]; then /usr/bin/consolechars --sfm /usr/lib/unicon/direct.uni # kbd elif [ -x /usr/bin/setfont ]; then /usr/bin/setfont -u /usr/lib/unicon/direct.uni # kbd (obsoleted) elif [ -x /usr/bin/loadunimap ]; then /usr/bin/loadunimap /usr/lib/unicon/direct.uni fi /usr/bin/uniconctrl --eucjp tty1 /usr/bin/uniconctrl --eucjp tty2 /usr/bin/uniconctrl --eucjp tty3 /usr/bin/uniconctrl --eucjp tty4 /usr/bin/uniconctrl --eucjp tty5 /usr/bin/uniconctrl --eucjp tty6 fi
元々の UNICON が GPL2 なので、この非公式パッチ VD UNICON も GPL2 として公開しています。
UTF-8 には対応していません。例えば UTF-8 でのかな漢字は 3バイトありますが、UNICON は実装上の仕様により 2バイトまでしか扱えないため、UTF-8 を扱うことができません。かつて UNICON を Unicode Console と紹介している文書が散見されたことや、UNICON という語感から UTF-8 も扱えるという誤解があるようですが、UNICON は正確には Universal Console です。
このページへのリンクは http://vdr.jp/d/unicon.html として頂けると覚えやすいし閲覧時の見栄えもよいと思います。
あまりテストしていませんが deb パッケージを準備してあります。
deb https://vdlinux.osdn.jp/ experimental kernel-patch-vd-unicon unicon-tools deb-src https://vdlinux.osdn.jp/ experimental kernel-patch-vd-unicon unicon-tools
boot 時に IDE のあたりでクラッシュするマシンがある。
EIP は do_open または bd_acquire。
mplayer1.0pre5-gtk2-20040730.patch.bz2 が当たらなくなっているので、Gentoo のほうからもらってきた patch をちょっと改変して vd_mplayer-1.0-pre6-gtk2.patch を作成、vd_bmp_mplayer-3.patch を当て、GTK+2 化して作成。
ちょっと大きめのデータを流すとすぐ
pptp[XXXXX]: anon log[pptp_read_some:pptp_ctrl.c:543]: read returned zero, peer has closed pptp[XXXXX]: anon log[callmgr_main:pptp_callmgr.c:255]: Closing connection (shutdown) pptp[XXXXX]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request' pptp[XXXXX]: anon log[pptp_read_some:pptp_ctrl.c:543]: read returned zero, peer has closed pptp[XXXXX]: anon log[call_callback:pptp_callmgr.c:78]: Closing connection (call state) pppd[XXXXX]: Modem hangup
となって切れてしまう。
本家の Diagnosis HOWTO に
manually restrict the MTU on the interface, by adding mtu 1404 or some smaller value as an option to the pppd program, either in the peers file for the tunnel, in the options file, or on the command line. You can also restrict the MTU on the interface after the tunnel has connected, using a command like ifconfig ppp1 mtu 1400.
The effect is that new TCP connections from your host will use an maximum segment size (MSS) that is lower. This may prevent path MTU discovery from being necessary.
[Connections via tunnel freezeより引用]
とあったので、MTU を落としてみる。そこに書かれている 1400 ではだめで、1000 でもだめだったので、ダイヤルアップの 576 を指定してみると、嘘のように安定した。
なんか途中うまくいかなかったけど #1027342 の真似して ruby-serverspec の #1027353 を forcemerge で close した。
Fix failures since Ruby 3.0 を取ってきて #1027066 を修正。
前 | 1970年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]
書いてる人: dai
パッチ等(無保証)