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

Posted by nogajun - 2013/10/16

_

週2日派遣社員で、週2日大学の先生でちょっとしんどいですな。

_ WebConvergerで日本語を使えるようにする

WebConvergerというDebian派生のProgress LinuxベースのWebブラウザしか起動しないキオスク端末ディストリビューションがあります。 それを日本語が使えるようにしたのでメモっておきます。

日本語化の記事がありますが、状況が変わっているので役に立ちません。

- 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にあります
デバッグモードについて
  1. syslinuxのメニューでtabキーを押して「debug」をつけて起動。
  2. dwmの画面になるので、alt+shift+enterキーでターミナル起動。
  3. sudo -iでrootになる
  4. /etc/webc/extensions/webconverger/chrome.manifestのconfigの入っている4-5行目削除
  5. firefoxにabout:configで調整する。
検索エンジンをDuck Duck Goから別の検索エンジンに変更

/opt/firefox/browser/searchpluginsの下にxmlファイルを置く。