今年の KOF 2014:関西オープンフォーラム2014 に向けて RubyLive を作成しています。 fork 元の no6v 版 との違いをまとめていきます。
カスタマイズの基本
README から今回に関係する部分を引用しておくと以下のようになっています。
- config/hooks/
- インストールの最後の方で実行するフックスクリプトを置くディレクトリ。
- 拡張子を .chroot にして実行権限を付けておく。
- config/includes.chroot/
- このディレクトリを root に見立てて LiveCD 環境にコピーしたいファイルを置くディレクトリ。
- config/package-lists/
- 特別にインストールしたいパッケージのリストを置くディレクトリ。
- 拡張子を .list.chroot にしてパッケージ名を列挙する。
壁紙などの変更
resources.yml
で設定されたファイルは url
から自動ダウンロードして path
に置くようになっています。
size
と sha256sum
をチェックするだけで違っていても削除はしないようなので、 ダウンロードに失敗した時はpath
のファイルは手動で削除する必要がありました。
path
を変更した時も古いファイルが残ってしまうので、削除する必要がありました。
dconf の設定
config/includes.chroot/etc/skel/.config/dconf/user
に設定変更後のバイナリが置かれていて、 これはひどいと思ったので、 config/includes.chroot/etc/skel/.gnomerc
で gsettings set
を使って設定するようにしました。
壁紙の変更
起動後の dconf-editor
で選択肢を確認しつつ、 gsettings set org.gnome.desktop.background picture-options centered
にしたり、 gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/images/desktop-base/RubyKaigi2014-commonLogo.svg
にしたりしました。
2014-07-13 追記: 生成後のイメージに CC-BY 3.0 の説明がないのは良くないと思って、 config/includes.chroot/etc/skel/README.txt
に説明を追加することにしました。
デスクトップのアイコン
以前は gnome-panel
(上のバーのところ) に起動用のアイコンを追加していたようですが、 gsettings set
で設定しようとすると org.gnome.gnome-panel.layout object-id-list
の他に org.gnome.gnome-panel.layout.objects.object-0
や org.gnome.gnome-panel.layout.objects.object-0.instance-config
などの 複数設定が必要で管理の手間もかかりそうだったので、 gsettings set org.gnome.desktop.background show-desktop-icons true
でデスクトップのアイコンが見えるように変更しました。
スクリーンセーバーの停止
gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
で止めました。
chm の変更
Rubyリファレンスマニュアル chm版リミックス の標準テーマのRuby 2.1.0向け chm に差し替えました。 zip ファイルなので、先ほどの .gnomerc
でデスクトップに展開するようにしました。
xCHM v. 1.20 で背景画像や色とかがつかないようなので、サイズが小さい標準を選びました。
パッケージ変更
jfbterm
の代わりに fbterm
にしたり、 ruby-build
でビルドに必要なパッケージを追加したり、 config/includes.chroot/etc/iceweasel/profile/prefs.js
の代わりに iceweasel-l10n-ja
を追加したり、 bash-completion
などを追加したりしました。
ruby-build で ruby 2.1.2 のインストール
[ReVIEW Tips] DockerでRe:VIEW - Qiita を参考にして rbenv は使わずに ruby-build だけ使って /usr/local
に ruby 2.1.2 をインストールしました。
localepurge
locale の設定は live-config で起動時にやっていて hook の中で DEBIAN_FRONTEND=noninteractive dpkg-reconfigure localepurge
としても起動後と違って ja locale の設定がなかったので、 起動後や設定した後に debconf-show localepurge
で確認した値を使って、 localepurge/nopurge
が NEEDSCONFIGFIRST
のままなら echo localepurge localepurge/nopurge string "ja, ja_JP.UTF-8" | debconf-set-selections
で設定することにしました。
これで約 200MB ぐらい小さくなりました。