«前の日(12-31) 最新 次の日(01-02)»

vdrめも

検索キーワード:
[PR]:「Chef活用ガイド コードではじめる構成管理 (大型本), (Kindle版)」発売中です。


1970-01-01(木) UNICON による Linux 日本語 console

_ 重要なおしらせ

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 編

Kernel にパッチを当てる

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

Kernel の再構築

実験的機能のサポート、ローダブルモジュールのサポート、フレームバッファサポートをそれぞれ有効にし(詳細は 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 は韓国語それぞれのフォントサポート)

bootloader の設定

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"

のように追加する。

_ Userland 編

unicon-tools を取得

unicon-tools-0.0.0.20050707.tar.gz を拾ってくる。

これは unicon-3.0.4-20010924.tar.gz (Turbolinux 北京オフィスではもう配布されていないようなのでここで配布) に vd_unicon-userland-20031122.patch (UNICON を使って日本語コンソールを実現しようUNICON にて提供されているパッチ及び dai による修正)を当て、必要な部分のみを取り出したものである。

unicon-tools の make

% ./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 パッケージを準備してあります。

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

_ 貢献者(順不同,敬称略)

YAMAGUCHI Shingo

OHNO Tetsuji

Katsumi Kikuchi

Toshi

_ 関連リンク

_ 変更履歴

  • 2009/10/26 - メンテナンス終了。
  • 2009/10/21 - kernel patch 2.6 を 20091021 版に更新。
  • 2009/06/15 - kernel patch 2.6 を 20090615 版に更新。
  • 2009/03/24 - kernel patch 2.6 を 20090324 版に更新。
  • 2009/01/23 - kernel patch 2.6 を 20090123 版に更新。
  • 2008/10/19 - kernel patch 2.6 を 20081019 版に更新。
  • 2008/08/19 - bootloader 設定例を追加。
  • 2008/08/06 - boot script にて consolechars (console-tools)、setfont (kbd)、loadunimap (古い kbd) のどれかあるほうを利用するように変更。
  • 2008/07/18 - kernel patch 2.6 を 20080718 版に更新。
  • 2008/04/18 - kernel patch 2.6 を 20080418 版に更新。
  • 2008/01/27 - kernel patch 2.6 を 20080127 版に更新。
  • 2007/10/11 - kernel patch 2.6 を 20071011 版に更新。
  • 2007/07/09 - kernel patch 2.6 を 20070709 版に更新。
  • 2007/04/29 - kernel patch 2.6 を 20070429 版に更新。
  • 2007/02/05 - kernel patch 2.6 を 20070205 版に更新。
  • 2006/12/01 - kernel patch 2.6 を 20061201 版に更新。
  • 2006/11/30 - kernel patch 2.6 を 20061130 版に更新。
  • 2006/09/20 - kernel patch 2.6 を 20060920 版に更新。
  • 2006/06/18 - kernel patch 2.6 を 20060618 版に更新。
  • 2006/03/20 - kernel patch 2.6 を 20060320 版に更新。
  • 2006/01/03 - kernel patch 2.6 を 20060103 版に更新。
  • 2005/10/29 - kernel patch 2.6 を 20051029 版に更新。
  • 2005/08/29 - kernel patch 2.6 を 20050829 版に更新。
  • 2005/07/07 - unicon-tools を配布
  • 2005/07/06 - patch を整理
  • 2005/06/29 - kernel patch 2.6 を 20050629 版に更新。
  • 2005/04/15 - kernel patch 2.6 を 20050415 版に更新。
  • 2005/04/13 - kernel patch 2.6 を 20050413 版に更新。
  • 2005/04/12 - kernel patch 2.6 を 20050412 版に更新。
  • 2005/01/04 - kernel patch 2.6 を 20050104 版に更新。
  • 2004/12/29 - kernel patch 2.6 を 20041229 版に更新。
  • 2004/10/19 - kernel patch 2.6 を 20041019 版に更新。
  • 2004/08/23 - kernel patch 2.6 を 20040823 版に更新。tdiary に引越し。
  • 2004/06/18 - kernel patch 2.6 20040510 20040616 両版を追加。
  • 2004/04/04 - kernel patch 2.6 を 20040404 版に更新。
  • 2004/03/27 - kernel patch 2.6 を 20040327 版に更新。 /dev/unikey の作成についての説明を追加。
  • 2004/02/19 - kernel patch 2.4, 2.6 を 20040219 版に更新。
  • 2004/02/16 - boot script にて insmod を modprobe に変更。 /dev/fb0 の存在を調べるように変更。
  • 2004/02/01 - kernel patch 2.4 を 20031218 版に更新。
  • 2003/11/22 - patch を 20031122 版に更新。
  • 2003/11/05 - 2.6 対応に向けて、patch を分割。
  • 2003/09/10 - boot script にて loadunimap (kbd) ではなく consolechars (console-tools) を利用するように変更。
  • 2003/09/02 - kernel 2.4.22 に対応
  • 2003/08/19 - 公開


2004-01-01(木) 賀正

_ [comp] スクリーンセーバを切るには

xawtv で、操作せずにぼーとテレビを見ていると、スクリーンセーバのせいで真っ暗になることがしばしば。

xset s off

でスクリーンセーバを切れるようだ。


2005-01-01(土) 迎春

_ [comp] kernel 2.6.10 変

boot 時に IDE のあたりでクラッシュするマシンがある。

  • 2.6.7 ... OK
  • 2.6.9 ... OK
  • 2.6.10 ... NG
  • 2.6.10-ac2 ... NG

EIP は do_open または bd_acquire。

_ [debian] mplayer 1:1.0-pre6-0.2vd1

mplayer1.0pre5-gtk2-20040730.patch.bz2 が当たらなくなっているので、Gentoo のほうからもらってきた patch をちょっと改変して vd_mplayer-1.0-pre6-gtk2.patch を作成、vd_bmp_mplayer-3.patch を当て、GTK+2 化して作成。

_ [movie] スタンド・バイ・ミー, ラストマン・スタンディング


2006-01-01(日) 新年

_ [movie] ギャング・オブ・ニューヨーク


2007-01-01(月) 賀正

_ [comp] 続・VPN 実験再び

ちょっと大きめのデータを流すとすぐ

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 を指定してみると、嘘のように安定した。

_ [movie] オースティン・パワーズ:デラックス, ラスト サムライ, 沈黙の標的


2008-01-01(火) 迎春

_ [movie] マグノリア, クリムゾン・リバー, サドン・デス


2009-01-01(木) 賀正

_ [movie] ギャング・オブ・ニューヨーク, 恋する遺伝子, あなたのために


2010-01-01(金) 迎春

_ [vdr] work カテゴリ補完

2009/02 以降の work カテゴリの記事を補完した。

_ [movie] キング・アーサー, サハラ -死の砂漠を脱出せよ-


2011-01-01(土) 迎春

_ [movie] スパイキッズ, キューティ・ブロンド2/ハッピーMAX, クリフハンガー


2012-01-01(日) お年玉

_ [debian] NM process その25: New Debian developer

アカウント作成のメールが届いた。

_ [movie] リーグ・オブ・レジェンド/時空を超えた戦い, 戦国自衛隊1549, アンドリューNDR114


2013-01-01(火) 賀正

_ [movie] ライラの冒険 黄金の羅針盤, 天使のくれた時間, アース, 風が強く吹いている


2014-01-01(水) 元日

_ [movie] 燃えよドラゴン, 英国王のスピーチ


2015-01-01(木) 冬休み6日目

_ [debian] mikutter 3.2.1+dfsg-1

unstable に upload。

_ [movie] 白夜行, 夢売るふたり, 間宮兄弟, さよならドビュッシー


2016-01-01(金) 元日

_ [movie] 洋菓子店コアンドル, ナルニア国物語/第3章:アスラン王と魔法の島, 白雪姫と鏡の女王


2017-01-01(日) 新年

_ [movie] 英国王のスピーチ, ソラニン, ナルニア国物語/第2章:カスピアン王子の角笛


2018-01-01(月) 迎春

_ [debian] 続々・uim-gtk3: Segfaults under Wayland

#810739 のタグを変更した。

_ [movie] ひみつのアッコちゃん, 佐藤家の朝食、鈴木家の夕食, ミッション:インポッシブル


2019-01-01(火) 迎春

_ [movie] マイノリティ・リポート, ミッション:インポッシブル, M:I-2, M:i:III, ミッション:インポッシブル/ゴースト・プロトコル, ミッション:インポッシブル/ローグ・ネイション, エージェント・マロリー


2020-01-01(水) 区切りの日

_ [movie] ダ・ヴィンチ・コード, 宇宙戦争, グラン・ブルー, 昼下りの情事, ティファニーで朝食を, シャレード, バック・トゥ・ザ・フューチャー Part 2, フィレンツェ、メディチ家の至宝 ウフィツィ美術館, レオナルド・ダ・ヴィンチ 美と知の迷宮


2023-01-01(日)

_ [debian] 続・ruby-specinfra 2.83.4-2

なんか途中うまくいかなかったけど #1027342 の真似して ruby-serverspec の #1027353 を forcemerge で close した。

_ [debian] atig 0.6.1-8

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

パッチ等(無保証)

GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E