Osgeo Live8.0 の日本語化 Modication for Japanese on FOSS4G 20141101

Preview:

DESCRIPTION

OSGeo Live 8.0 correspond to a multilingual mode. But you cannot input Japanese characters and its design is not so better in Japanese. This is about how to modify the OSGeo Live 8.0 for Japanese mode.

Citation preview

OSGeo-Live 8.0の日本語化

FOSS4G 2014 Tokyo

2014年11月1日(土) 15:00~東大駒場リサーチキャンパスAn棟

羽鳥 健太郎

【緊急】サーバ攻撃のご報告と パスワード変更のお願い

● 本Webサイト(openstreetmap.jp)では、コンテンツコンテンツ管理ソフトウエア(CMS)のDrupalを使用しています。

● 10月15日に発表されましたDrupalにおける極めて高い脆弱性の情報および修正情報につきまして、即日対応できず、対応が遅れました。

● その結果、本サイトに対する攻撃を許し、Webサイトのコンテンツ・ユーザ管理権限を奪取されるに至りました。

● 10月25日より、本サイトを停止し、新規Webサイトを再構築し、提供することを決定、本日(11月1日)再開いたします。

https://openstreetmap.jp/node/744?utm_medium=twitter&utm_source=twitterfeed

5

OSGeo-Live日本語化の背景

● SlackwareベースのLive版の日本語化● Slax/Porteus

● Debian/UbuntuベースのLive版に挑戦● OSGeo-Live7.9(ちょっと古い)● 日本語入力ができない● Remastersysで自動化してるのか● Ubuntuで手動方法が解説● トライ&エラーでやってみたら成功● 日本語環境でOSGeo-Live7.9が利用

6

OSGeo-Live8.0がリリース

8

OSGeo-Live8.0での印象

● 各国語対応の数が増えた● 英語表記の部分が増えた● 起動直後の言語&キーボード選択が面倒● やっぱり日本語入力できない● 日本語フォントが間延びして美しくない

10

基本的な作業工程

1. 必要なツールのインストール

2. CDの.isoの内容を抽出

3. デスクトップ・システムを抽出

4. 準備とchroot

5. カスタマイズ

6. デフォルトのキーボードの変更

7. クリーンアップ

8. gfxbootのデフォルト言語を変更

9. isoイメージの作成

11

必要なツールのインストール

● 作業環境はできるだけベースと同じ● OSGeo-Live8.0:Lubuntu14.04LTS● 自分の環境:Ubuntu14.04LTS

● 必要なパッケージをインストール

$ sudo apt-get install squashfs-tools genisoimage

12

CDの.isoの内容を抽出

● 作業ディレクトリを作って抽出

$ mkdir livecdtmp

$ cd livecdtmp

$ mv ~/Donwload/osgeo-live-8.0.iso .

$ mkdir mnt

$ sudo mount -o ro,loop osgeo-live-8.0.iso mnt

$ mkdir extract-cd

$ rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

13

デスクトップ・システムを抽出

● 圧縮してあるファイルを解凍

$ sudo unsquashfs mnt/casper/filesystem.squashfs

$ sudo mv squashfs-root edit

14

準備とchroot

● 解凍した環境を変更するための下準備

$ cp /etc/resolv.conf edit/etc/

$ cp /etc/hosts edit/etc/

$ sudo mount --bind /dev/ edit/dev

$ sudo chroot edit

# mount -t proc none /proc

# mount -t sysfs none /sys

# mount -t devpts none /dev/pts

# export HOME=/root

# export LC_ALL=C

15

カスタマイズ(1)

● パッケージをアップグレードして日本語環境をインストール・設定

# apt-get update

# apt-get upgrade

# apt-get install ibus-mozc im-config

# locale-gen ja_JP.UTF-8

# update-locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8

# export LANG=ja_JP.UTF-8

16

カスタマイズ(2)

● 日本語・英語以外の言語パックを削除

# dpkg -l | grep language-pack

# apt-get purge language-pack-hoge

注)言語数が多いので丹念に削除

● 日本語の言語パックを追加

# apt-get install language-pack-gnome-ja-base

# apt-get install language-pack-gnome-ja

# apt-get install firefox-locale-ja

17

カスタマイズ(3)

● 次のディレクトリ以下にある.desktopまたは.directoryファイルを日本語訳を追加● /etc/skel/Desktop● /usr/share/applications● /usr/share/desktop-directories

# vi hoge.desktop

# vi hoge.directory

Name[ja]=hogehoge を追加

注)あまりに多いのでちょっと手抜き (^^ゞ

18

カスタマイズ(4)

● /local/share/osgeo-desktop/welcome_message-ja.txt に日本語訳を追加

# vi welcome_message-ja.txt

注)Google翻訳にほとんど手伝ってもらいました (^^ゞ

● /etc/skel にもあるのでとりあえずコピー

19

カスタマイズ(5)

● usr/local/share/osgeo-desktop/welcome_message.sh を編集

# vi welcome_message.sh

if [ "$LANG" = "ja_JP.UTF-8" ] ; then

gxmessage -file /usr/local/share/osgeo-desktop/welcome_message-ja.txt -title "ようこそ" -center

else

gxmessage -file /usr/local/share/osgeo-desktop/welcome_message.txt -title "Welcome" -center

fi

20

デフォルトのキーボードの変更

● 次の2つのファイルのmodelとlayoutを日本語仕様のために行を追加

# cd /etc/skel

# vi .xinitrc

setxkbmap -layout jp -model jp106

# cd /etc/skel/gisvm/desktop-conf/menus/

# vi xkb-plugin-363.rc

model=jp106

layout=jp

21

クリーンアップ

● 作成するDVDに余計なファイルを入れないためにクリーンアップ

# apt-get clean

# rm -rf /tmp/*

# rm /etc/hosts

# rm /etc/resolv.conf

# umount /proc || umount -lf /proc

# umount /sys

# umount /dev/pts

# exit

$ sudo umount edit/dev

22

デフォルト言語を変更

● gfxboot でデフォルトの言語を ja に変更

$ sudo apt-get install dpkg-dev uck

$ sudo apt-get source gfxboot-theme-ubuntu gfxboot

$ cd gfxboot-theme-ubuntu*/

$ sudo make DEFAULT_LANG=ja

$ sudo cp -af boot/* ../extract-cd/isolinux/

$ cd -

23

Live用ファイル圧縮の前処理

● filesystem.manifest を生成

$ sudo chmod +w extract-cd/casper/filesystem.manifest

$ sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest

$ sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop

24

Live用ファイルを圧縮

● filesystem.squashfs を生成

$ sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop

$ sudo sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop

$ sudo rm extract-cd/casper/filesystem.squashfs

$ sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -comp gzip -b 131072

25

Live用ファイル圧縮の後処理

● filesystem.size を生成

$ sudo -i

# cd /home/user/livecdtmp

# printf $(sudo du -sx --block-size=1 edit | cut -f1) > extract-cd/casper/filesystem.size

# exit

26

isoイメージの作成

● md5sum を生成して isoイメージを作成

$ cd extract-cd

$ sudo rm md5sum.txt

$ sudo find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt

$ sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../osgeo-live-8.0-ja.iso .

28

参考文献

● LiveCD Customizationhttps://help.ubuntu.com/community/LiveCDCustomization