(Initially posted on 16 April 2011)
これまでの流れ。
さて、HDD(SSD)へのインストールも終わりました。
いよいよ必要なパッケージをインストールして、デジタルフォトフレームとしてスライドショーができるようにします。
スライドショーをするためのソフトの条件ですが、以下のようになります。
- フルスクリーンで表示できること
- スライドショーの機能(複数のファイルを次々に表示する)があること
- これらを自動起動するため、上記をコマンドラインで指定できること
Tiny Core Linuxのパッケージで、画像を表示するためのプログラムで最も軽いのはおそらくflpicseeです。
これはtczファイルの状態で16kBしかありません。
しかも、スライドショーができます。
しかし、コマンドラインでスライドショーの指定ができないので、デジタルフォトフレームとしての「電源を入れたら写真を表示」が実現できません。
そのため、いくつかのソフトを調べてみました。
まず思いつくのはeog (Eye of Gnome)です。
多くの(GNOMEベースの)ディストリビューションで標準の画像ビューアになっており、スライドショーもコマンドラインで指定できます。
Tiny Coreのパッケージにもあるのですが、Gnomeベースであることもあり、とても重いのがしょんぼりです。
せっかく軽いOSを入れているのですし、単に画像を表示するだけで余計な機能はいらないので、なるべく軽いアプリケーションがよいわけです。
そこで目をつけたのがGQViewというアプリケーションです。
GQViewについては、Tiny Coreにはバージョン1と2の2種類のパッケージが提供されていますが、バージョン1はgtk1ベースで軽そうです。
容量を調べてみました。
% tce-size eog
atk.tcz 53248, 0.05 MB
bzip2-lib.tcz 28672, 0.03 MB
cairo.tcz 512000, 0.49 MB
dbus-glib.tcz 106496, 0.10 MB
dbus.tcz 315392, 0.30 MB
eog.tcz 503808, 0.48 MB
expat2.tcz 77824, 0.07 MB
fontconfig.tcz 135168, 0.13 MB
GConf.tcz 233472, 0.22 MB
gdk-pixbuf2.tcz 221184, 0.21 MB
glib2.tcz 1273856, 1.21 MB
graphics-libs-1.tcz 790528, 0.75 MB
gtk2.tcz 3088384, 2.95 MB
hicolor-icon-theme.tcz 8192, 0.01 MB
libcroco.tcz 233472, 0.22 MB
libexempi.tcz 413696, 0.39 MB
libexif.tcz 147456, 0.14 MB
libgnome-desktop.tcz 77824, 0.07 MB
libgsf.tcz 126976, 0.12 MB
libIDL.tcz 163840, 0.16 MB
librsvg.tcz 139264, 0.13 MB
libstartup-notification.tcz 16384, 0.02 MB
libxcb-util.tcz 36864, 0.04 MB
libxcb.tcz 110592, 0.11 MB
libxft.tcz 45056, 0.04 MB
libxml2.tcz 696320, 0.66 MB
openssl-0.9.8.tcz 2093056, 2.00 MB
ORBit2.tcz 241664, 0.23 MB
pango.tcz 405504, 0.39 MB
pixman.tcz 237568, 0.23 MB
python.tcz 5836800, 5.57 MB
shared-mime-info.tcz 434176, 0.41 MB
sqlite3.tcz 319488, 0.30 MB
tcl.tcz 1482752, 1.41 MB
tk.tcz 925696, 0.88 MB
Xorg-7.5-lib.tcz 221184, 0.21 MB
Total size (bytes) 21753856, 20.75 MB
+ Indicates need to download 0, 0.00 MB
% tce-size gqview1
gdk-pixbuf.tcz 155648, 0.15 MB
glib1.tcz 81920, 0.08 MB
gqview1.tcz 249856, 0.24 MB
graphics-libs-1.tcz 790528, 0.75 MB
gtk1.tcz 733184, 0.70 MB
Total size (bytes) 2011136, 1.92 MB
+ Indicates need to download 0, 0.00 MB
tczパッケージのサイズ合計で、Eye of Gnomeは20.75MB、GQView1は1.92MBです。
10倍も違います。
というわけで、GQView1をインストールします(上記のtce-sizeの表示は既にインストールされた状態でのものなので、ダウンロード必要量が0になっています)。
% tce-load -wi gqview1
また、自動起動するために、.xsessionの最後に以下を追加します。
mount /mnt/hda2
gqview1 -f -s -t /mnt/hda2/Photos/*
mountを行っているのは、私の環境で画像ファイルをWindows領域(hda2)に入れているためです。
gqview1のオプションは、-f (フルスクリーン)、-s (スライドショー)、-t (ツールウィンドウを表示しない)となります。
編集したら、filetool.sh -bでバックアップを忘れずに。
これで起動時間を計測してみました。
grubのメニューから、最初の画像が表示されるまでは約28秒です。
電源を入れてからgrubの待ち時間(3秒)も入れた、トータルの起動時間は約40秒となりました。
もちろん、起動後はちゃんとスライドショーしています。
メモリ使用量ですが、高速化のためにパッケージをすべてメモリ展開する設定で、スライドショー実行中にfree -mで見た数値はused 98MB、free 87MBでした。
私のマシンはRAMを最大の192MB積んでいますが、これなら128MBの設定でもいけますね。
もっといえば、tinycore.gzや必要なパッケージをあらかじめ展開した状態でHDDにインストールする方法もあります。
こうすれば起動時の圧縮ファイルの読み込みと展開がなくなるので、さらに高速化することが期待できます。
ただ、そうなると細かいファイルがあちこちに散らばることになり、管理やアップデートが面倒になりますし、起動時にこれらのファイルをたくさん読み込むので、逆に遅くなる可能性もないとはいえません。
また、この方法はTiny Coreの配布元でも推奨されていません。
そのため、今のところは圧縮されたままにしてあります。
なお、最終的に私の環境における/mnt/hda2/tce/onboot.lstの内容は以下のとおりとなります。
Xorg-7.5.tcz
gqview1.tcz
Tiny CoreにはXorg-7.4もあるのですが、tce-sizeで見たところ、Xorg-7.5の14.28MBに対して、25.95MBもあるので意味がありません。
本当はXvesa等のTinyXが動けばもっと小さくなるのかもしれません。
TinyXにはTrident系グラフィックチップ用のXtridentというサーバもあるので試してみましたが、Dynabook SS 3410のCyber 9525には対応していないのか、うまくいきませんでした。
残念...。
ともあれ、これで「古いノート(Dynabook, メモリ192MB)にTiny Core Linuxを入れてデジタルフォトフレームにしよう」は一応完成です。
お疲れさま~。
と、思ったのですが、さらに軽量なイメージビューアであるFehを発見。
そして最適化への欲望が沸々と...続きます。