Ubuntu Weekly Recipe

第300回連載300回記念特別企画】Ubuntu日本語Remixについてまとめてみた

Ubuntu Japanese Team代表の小林です。当連載「Ubuntu Weekly Recipe」は、今回でちょうど300回となります。読者の皆さま、技術評論社様、これまで記事を執筆してくださった皆さまに感謝いたします。

さて、他のメンバーから「キリ番だから代表が特別企画記事を書いたらどうだ」と勧められ、記念すべき第300回の執筆を担当することとなりました。

テーマには、筆者が作成を担当している「Ubuntu日本語Remix」を取り上げます。⁠Ubuntu日本語Remix」を配布し続けるようになった経緯と、今月リリースした「Ubuntu 13.10 日本語 Remix DVD」をどのように作成したかを紹介します。

Ubuntu日本語Remixのこれまで

「日本語関連パッケージを加えたUbuntuのインストールイメージ」注1をはじめて作成、配布したのは2005年6月でした。今から8年以上前のことです。

同年3月、当時同じ職場で働いていたあわしろいくや氏にUbuntuが動くPCを見せてもらったのが、そのきっかけでした。UbuntuのWebサイトを読んだ筆者は、⁠他のLinuxディストリビューションとは違って『普通の人』にも普及させようとしてるのが興味深いな。うまくいけば『LinuxといえばUbuntu』となるかもしれん……いや『Linux』より『Ubuntu』の名前のほうが有名になる可能性すらあるぞ。これはおもしろそう。」と思いました。

とは言え、Ubuntuには日本語入力関連のパッケージが用意されていませんでした。そのため、あわしろいくや氏が日本語入力を実現するためのパッケージを作成、配布しているという状況でした。これは、UbuntuのWebサイトに記載されていた「各地域ごとの各言語でソフトウェアを利用できるべきだ」という理想から程遠い状態だったと言って良いでしょう。

そこで、あわしろいくや氏や池添浩之氏らと共に作成し、配布を開始したのが「Ubuntu 5.04 Japanese Install CD Image」です。インストールすればすぐに日本語入力が使え、日本語の表示も美しくなるよう変更したものでした。

図1 8年前のUbuntuデスクトップ
図1 8年前のUbuntuデスクトップ

そのときは、まさか8年後もUbuntuのインストールイメージを作成しているとは思いませんでした。Ubuntuの日本語サポートが充実すれば、必要無くなるだろうと考えていたからです。

しかし、2006年2月にUbuntuの創始者であるマーク・シャトルワース氏が来日された際に直接お聞きした話で、筆者の認識は大きく変わりました。それまで筆者は、⁠自分たちの作成している『Ubuntuのなんちゃって日本語版』は緊急避難的なものであり、できるだけ早くUbuntu本体に取り込んでもらって消滅させていくべきものだ」と考えていました。しかしながら、マーク・シャトルワース氏は「各国で使われているものを中に入れるということも大事ですが、ローカル版を作ることも重要」⁠各地で必要とされる要素は、それぞれの地域の人にしか分からない部分もある」といったことを述べられました。また、⁠そうした取り組みにも使える開発プラットフォームやビルドプラットフォームを開発していく」とも述べられました注2、3⁠。

これを聞き、日本向けのインストールイメージを提供し続けたほうがいいのかな、と考えるようになりました。

Ubuntuで日本語入力がサポートされたのは、2006年6月にリリースされた6.06からです。これで、日本語Remixを作る理由の1つは失われました。しかし、たとえばzipファイルを展開したときに日本語ファイル名が化ける問題など、いくつかの点で変更が必要な部分は残りました。また、日本語環境で便利だと思われるソフトウェアを追加インストールしたり、各種設定を調整するためのアプリ「セットアップヘルパー」をプリインストールするなど、独自に機能追加していた部分もありました。とは言え、⁠ささいな問題しか残っていない」と判断し、日本語Remixの作成をやめてしまうという選択肢もあったでしょう。とくに近年は、日本語Remixでの変更点も少なくなり、オリジナルのUbuntuと大きく変わらない状態が続いていました。

しかしながら、最新の13.10では日本語キーボード設定や日本語入力まわりに問題があり、リリースまでに修正することができませんでした。そこで日本語Remixでは、あわしろいくや氏の作成したスクリプトをプリインストールして回避する、という手段をとっています。数年来の大きな独自対応だと言えるでしょう。リリース時に問題が残るのは嬉しいことではありませんが、日本語Remixでの対応という「最後の手段」を維持することは、日本においてUbuntuを快適に利用していただくためには必要なことだと最近は感じています。

Ubuntu日本語Remixの作成

ここで、実際に「Ubuntu 13.10 日本語 Remix DVD」の64bit版をどのように作成したのかを紹介しましょう。

Ubuntuのインストールメディアである「Desktop DVD」には、圧縮されたファイルシステムが含まれています。以前は、この圧縮ファイルシステムをディスク上に展開してカスタマイズ作業をしていました。これは、ミスをするたびに圧縮ファイルシステムとisoファイルを作り直すという面倒なものでした。

しかし、Ubuntu 11.10で追加された「ubuntu-defaults-builder」というパッケージにより、コマンド1つでカスタマイズした圧縮ファイルシステムを含むisoファイルが生成できるようになりました。ubuntu-defaults-builderの使い方については、第196回第290回で紹介されていますので、詳しくはそちらをご覧ください。

さて、日本語Remix DVDのテンプレートとなる「ubuntu-defaults-ja」パッケージを作り、⁠ubuntu-defaults-image」コマンドを実行するだけで配布用isoファイルが生成されれば本当に簡単なのですが、実際にはリリースごとに、いくらか筆者のほうで手を入れています。ubuntu-defaults-imageで作って気になった部分を直し、他の方にテストをしてもらって指摘された内容に基づいてやり直して……という形で進めており、決まった手順というものはありません。リリースごとの状況に応じて「いきあたりばったり」な面も大きいです。

2013年11月5日にリリースした「Ubuntu 13.10 日本語 Remix DVD」の64bit版では、以下の点で単純にubuntu-defaults-imageコマンドを使って生成したものと異なります。

1.im-setup-helperパッケージの追加

先にも書きましたとおり、13.10の日本語Remixにはあわしろいくや氏が作成したスクリプトを追加してあります。このスクリプトは「im-setup-helper」というパッケージになっているのですが、ubuntu-defaults-imageコマンドで追加指定できるのは1つのパッケージだけです。⁠ubuntu-defaults-ja」は必ず指定しなければならないので、そのままではim-setup-helperを追加することができません。オプションにJapanese TeamのPPAを指定すれば両方インストールできそうですが、そうするとできあがったイメージにPPAの設定が残ってしまいますし、ubuntu-defaults-jaを作り直すたびにPPAにアップロードするのも面倒です。そこで、ubuntu-defaults-imageコマンドを一部変更し、複数のパッケージを指定できるようにしました。

/usr/bin/ubuntu-defaults-imageから抜粋
変更前
        --package)
            PACKAGE="$2"
 (中略)
   cp "$PACKAGE" config/packages.chroot/


変更後
        --package)
            if [ -z "$PACKAGE" ]; then
              PACKAGE="$2"
            else
              PACKAGE="$PACKAGE $2"
            fi
 (中略)
    cp $PACKAGE config/packages.chroot/

このように変更したうえで、以下のコマンドを実行してisoイメージを生成しました。

ubuntu-defaults-image --package ubuntu-defaults-ja_13.10-0ubuntu1~ja1_all.deb --package im-setup-helper_0.7_all.deb --release saucy --components main,restricted,universe

今考えてみれば、ubuntu-defaults-imageコマンドに手を入れるのではなく、ubuntu-defauts-jaに含まれるスクリプトにim-setup-helperの追加処理を加えるという方法のほうがスマートだったかもしれません。

2..disk/infoにバージョン番号を追記

生成されたbinaryディレクトリ以下にある.disk/infoにバージョン番号が抜けていたため追記しました。

変更前
Ubuntu "Saucy Salamander" - Build amd64 LIVE Binary 20131024-17:53


変更後
Ubuntu 13.10 "Saucy Salamander" - Build amd64 LIVE Binary 20131024-17:53

3.リリースノートURLの設定

ここからは、binaryディレクトリ(isoファイルのルートとなるディレクトリ)以下のファイルを変更します。まず、binary/.disk/release_notes_urlを作成して以下のURLを記述しました。

https://wiki.ubuntu.com/SaucySalamander/ReleaseNotes/Ja

これで、インストーラからリリースノートのリンクをクリックした際、日本語のリリースノートページが開くようになりました。

4.インストーラの言語選択画面を出さないようにするための対応

Ubuntu 13.10のリリース直前、インストーラの言語選択画面が出ると日本語キーボードの設定が不正に書き換えられ、日本語入力がデフォルトでONになってしまう、という問題が見つかりました。そもそも日本語Remixでは言語選択画面を出す必要がないため、デフォルトでライブセッションを起動するよう以下の変更を行いました。

以下のコマンドで、gfxboot-theme-ubuntuパッケージのソースコードを取得しました。

apt-get source gfxboot-theme-ubuntu

作成されたディレクトリに入り、common.incから、maybe-ubiquityという文字列を削除しました(1箇所⁠⁠。

makeコマンドを実行しました。

生成されたinstall/bootlogoを、ubuntu-defaults-imageを実行したディレクトリのbinary/isolinux/bootlogoに上書きしました。

5.インストール時に選択可能な言語を日本語だけに制限

binary/isolinux/langlistを「ja」1行だけにしました。これで、起動時に選択可能が言語が「日本語」だけになります。

6.UFEI対応isoの生成

今回から64bit版の日本語Remixを配布することになったのですが、ubuntu-defaults-imageはUFEIに対応したisoを生成できません。そのため、以下の作業を行いUFEI対応としました。

http://www.ubuntu.com/からダウンロードした「ubuntu-13.10-desktop-amd64.iso」をマウントし、以下のファイルおよびディレクトリをbinaryディレクトリにコピーしました。

  • EFI/
  • README.diskdefines
  • boot/
  • dists/
  • pool/
  • preseed/
  • .disk/base_installable
  • .disk/cd_type

boot/grub/grub.cfgのlinuxで始まる行に、以下のオプションを追記しました。

debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106

以下のコマンドでubuntu-13.10-desktop-amd64.isoのmbrを別ファイルにコピーしました。

dd if=ubuntu-13.10-desktop-amd64.iso of=ubuntu-13.10-desktop-amd64.iso.mbr bs=512 count=1

以下のコマンドでmd5sum.txtを生成しました(binaryディレクトリ内で実行⁠⁠。

sudo find . -type f -exec md5sum {} \; |grep -v isolinux|grep -v md5sum.txt|sudo tee md5sum.txt

以下のコマンドでisoファイルを生成しました。

sudo xorriso -as mkisofs \
-J \
-l \
-isohybrid-mbr ubuntu-13.10-desktop-amd64.iso.mbr \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-eltorito-alt-boot \
-e boot/grub/efi.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V "Ubuntu 13.10 ja amd64" \
-o ubuntu-ja-13.10-desktop-amd64.iso \
binary/

これで、Ubuntu日本語Remixのisoファイルができました。

Ubuntuと日本語Remixの今後

前述のとおり、⁠Linux』より『Ubuntu』の名前のほうが有名になるかもしれない」と思ってUbuntuに関わるようになったのですが、8年が経過して「Linux」より有名になったLinuxベースのOSは「Android」でした。8年前にはiPhoneもAndroidも存在しなかったのですが、今やスマートフォンやタブレットの普及がすさまじい速さで進んでいます。ノートPCの販売台数とタブレットの販売台数がほぼ同等になるとのニュースも流れていますし、PCではなくタブレットを選ぶ人が今後も増えていくのでしょう。

このような情勢の変化に対応するため、Canonical社はUbuntu Touchの開発を進めています。その影響で、将来的にはUbuntu Desktopのディスプレイサーバも「Mir」に移行するなど、大きな変化が予定されています。そんな中、Ubuntu日本語Remixを今後どうしていくべきかについては、まだわかりません。Ubuntu Touchをインストールしたタブレットやスマートフォンを使う人が増えれば、そちらへの対応を重点的に行う必要があるかもしれませんし、タブレットよりもPC用OSとしての需要が高いままなら、現在のようにインストール用のDVDイメージや、VirtualBox用の仮想ハードディスクイメージの提供に力を入れ続けることになるでしょう。

いずれにしましても、Ubuntuをできるだけ多くの方に使っていただけるよう、Ubuntu Japanese Teamのメンバーで議論を重ね、最適だと思われる方針を採りたいと考えています。

おすすめ記事

記事・ニュース一覧