派遣社員と先生の二足のわらじ

週2日派遣社員で、週2日大学の先生でちょっとしんどいですな。
_ WebConvergerで日本語を使えるようにする
WebConvergerというDebian派生のProgress LinuxベースのWebブラウザしか起動しないキオスク端末ディストリビューションがあります。 それを日本語が使えるようにしたのでメモっておきます。
- Webconverger - Opensource Web Kiosk PC Operating System: http://webconverger.com/
- Webconverger wiki: http://webconverger.org/
日本語化の記事がありますが、状況が変わっているので役に立ちません。
- Restoring Japanese support: http://webconverger.org/blog/entry/Restoring_Japanese_support/
ビルド環境
Debian Liveを使ってるのでWheezy以上のDebian環境を用意します。 ビルドにはlive-buildのほかにリポジトリがgithubにあるのでgitなどをインストールしておきます。
$ sudo apt-get install live-build git build-essential sudo squashfs-tools syslinux genisoimage librsvg2-bin
ビルドしてみる
WebConvergerのカスタマイズに必要なベース環境は、live-buildのようにdebootstrapから作成するのではなく、githubに置いてあります。それをクローンするため、一度ビルドします。
$ git clone https://github.com/Webconverger/Debian-Live-config.git
$ cd Debian-Live-config/webconverger/
$ make
ディレクトリ構造
Debian-Live-config/
├── LICENSE
├── README.md
└── webconverger
├── Makefile
├── auto (live-configの設定)
│ ├── build
│ ├── clean
│ └── config (ブートパラメータなどを設定)
├── chroot (makeの中からgit cloneされるLiveのベース環境)
├── chroot.sh (chroot環境に入るためのスクリプト)
└── config (live-buildの設定)
├── bootloaders
│ └── isolinux (syslinuxの設定がある)
│ ├── isolinux.bin
│ ├── live.cfg.in
│ └── syslinux
│ ├── ldlinux.c32
│ ├── libcom32.c32
│ ├── libutil.c32
│ ├── splash.png
│ ├── syslinux.cfg
│ ├── vesainfo.c32
│ └── vesamenu.c32
├── chroot_apt
│ └── preferences
└── preseed
└── firmware-nonfree.preseed
gitのブランチを作成
Makefileからgit cloneされるchrootディレクトリですが、chroot内に入って変更後、コミットしていないと警告が出てビルドが止まります。 ビルドするだけならmasterブランチにコミットしてもいいのですが、ブランチを切っておくとあとあと便利なので、ひとまずgitのブランチを作成しておきます。
$ cd chroot/
$ git branch japanese
$ git checkout
$ cd ..
chroot環境に入る
パッケージの追加はKNOPPIXのようにchroot環境に入ってインストールしていきます。 chroot環境に入るには付属のchroot.shスクリプトを実行します。
$ ./chroot.sh
パッケージ追加の事前準備
パッケージの追加の前にProgress LinuxのGPG鍵を追加します。
# wget -qO - http://cdn.archive.progress-linux.org/packages/project/keys/archive-key-2-baureo.asc | apt-key add -
# wget -qO - http://cdn.archive.progress-linux.org/packages/project/keys/archive-key-2+-baureo-backports.asc | apt-key add -
/etc/apt/sources.listのapt-lineをftp.jp.debian.orgにします。
# http://wiki.progress-linux.org/software/apt/ Progress Linux 2.9 (baureo-backports)
# Debian
deb http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.jp.debian.org/debian/ wheezy-updates main contrib non-free
日本語環境に必要なパッケージを追加
日本語環境に必要なフォントとIMをインストールします。uimとmozc、IPAフォントをインストールしました。
# apt-get update
# apt-get install uim-gtk2.0 uim-mozc uim-utils uim-xim im-config fonts-ipafont
フォントパッケージに中華フォントとして悪名高き、fonts-droidがインストールされているのでアンインストールしておきます。
# apt-get purge fonts-droid
ロケールの再インストール
ロケールが削除されているので、インストールしなおして日本語ロケールを作ります。
# apt-get --reinstall install locales
# dpkg-reconfigure -plow locales
debconfではen_US.UTF-8のチェックを外して、ja_JP.UTF-8にチェックを入れます。
im-configの設定
im-configは「.xinitrc」があるとIMの設定をしないので「.xsession」にリネームします。
# cd /home/webc
# mv .xinitrc .xsession
フォントの設定
日本語フォントが当幅優先になるので/etc/fonts/local.confに以下のように設定。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>IPAPMincho</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>IPAPGothic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>IPAGothic</family>
</prefer>
</alias>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintnone</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>
キーボードの設定
日本語キーボードを使う場合、/etc/default/keyboardの設定を変更します。
XKBMODEL="jp106"
XKBLAYOUT="jp"
タイムゾーンを変更する
/etc/timezoneを編集して「Asia/Tokyo」にする。
Asia/Tokyo
変更をgitにコミットする
chroot環境から抜け出すにはexitと入力します。
# exit
変更が終わったら、変更をコミットします。
$ cd chroot/
$ git add -A .
$ git commit
ブートパラメータを変更する
auto/configの --bootappend-live にfirefoxの日本語と日本語キーボード、ホームページを変更にするため、ブートパラメータを追加します。
--bootappend-live "$BOOTAPPEND locale=ja xkb=-layout%20jp homepage=http://www.nofuture.tv/" \
ビルドする
カスタマイズ後、ビルドするにはmakeを実行します。
$ make
テストをする
テストをするにはqemuを使うと楽です。
$ qemu-system-i386 -cdrom binary.hybrid.iso -m 512 -boot d -enable-kvm
Tips
設定は/etc/webcと/home/webcにあります
Firefoxは/opt/firefox/firefoxにあります
デバッグモードについて
- syslinuxのメニューでtabキーを押して「debug」をつけて起動。
- dwmの画面になるので、alt+shift+enterキーでターミナル起動。
- sudo -iでrootになる
- /etc/webc/extensions/webconverger/chrome.manifestのconfigの入っている4-5行目削除
- firefoxにabout:configで調整する。
検索エンジンをDuck Duck Goから別の検索エンジンに変更
/opt/firefox/browser/searchpluginsの下にxmlファイルを置く。
- Mycroft Project: Search Engine Plugins - Firefox IE Chrome: http://mycroftproject.com/