☆WinXPのFirefox3.6でフォントがガクガク?

Ubuntu Weekly Recipe 第108回 HYBRID W-ZERO3を使いこなす(1)をWindows XP上のFirefox3.6で閲覧して、ふとなんだかフォントがガクガクしていると思ったので画面のキャプチャを取ってみました。
向かって左がIE8、右がFirefox3.6です。(画像をクリックして大きく表示すると結構違います。)

ちなみにフォントの設定は下図のとおりです。(設定はデフォルトのままです。)
Twitterなどほかのサイトはそんなことないので、gihyo.jpさんのCSS設定のせいでしょうか?

☆SLiMの削除

WindowsXPでVirtualBox3.12のGuest Additionsを導入するとSLiMの起動時にエラーが発生するようです。

当然、この場合SLiMのパッケージを削除するのですが、 dpkgやapt-get removeでSLiMのパッケージを削除すると再起動してもGDMは立ち上がらず、 コンソールへのログインになってしまいます。

これは /etc/default-display-manager の内容が /usr/bin/slim のままになっているせいです。
viで /usr/sbin/gdm に書き換えればGDMが立ち上がるようになります。

☆さよならLunascape6、そしてこんにちはLunascape4 LiteとFirefox3.6

今日Lunascape6をアンインストールしました。

Lunascapeを使い始めたのはLunascape5から。トリプルエンジン、Gekkoを使用した場合に本家Firefoxより高速というような文句に引かれたこと。
そして何よりも、新規タブを現在のタブの横に開ける、タブを閉じたとき直前に見ていたタブをアクティブにする設定が可能なところに惹かれました。
(確か当時試してみてSleipnirはできなかったと記憶しています。)
IEで多数のタブを開いて作業をしていると際にタブ閉を閉じると、直前どのタブを見ていたかわからなくなることが多かったからです。

しかしLunascape6はこのタブ周りの挙動がおかしいのです。
大抵のブラウザはリンクをCtrl+左クリックですると新しいタブで対象を開きますが、Trident使用時はフォルト状態ではこれが機能しません。
そこでCtrl+左クリックの設定をリンクを新しいタブで開くように設定すると、Geckoエンジン使用時にタブが2つ開いてしまいます。
(これは不具合掲示板 http://ja.bbs.luna.tv/viewtopic.php?f=70&t=2614 に報告されていますがまだ直らないようです。)
ためしにWebkitを入れて試してみると、設定はまったくむしされて現在のタブで開かれます。
これではトリプルエンジンも意味がありません。

それではVer5に戻そうと思ったのですが、既にダウンロードができません。古いインストーラは手元にあるのですが、アップデートを行うとVer6に更新されてしまいます。すでにVer5はセキュリティパッチの提供がされないということでしょう。さすがに使い続けるには不安が残ります。
フリーソフトとはいえ、新バージョンがリリースされると旧バージョンのアップデートが一切なくなるというのは考え直して頂きたいものです。

そこでまだインストーラーが提供されているLunascape4 Liteを入れてみました。(アップデートが提供されるのか不明ですが、4LiteはIEエンジンだけなのでWindowsアップデートしていれば大丈夫と判断しました。) 一応、新規タブを現在のタブの横に開ける、タブを閉じたとき直前に見ていたタブをアクティブにする設定が可能です。 (設定画面の表現が紛らわしいのです。[新しいブラウザでリンクを開く]という設定で新しいタブでリンクを開くようになります。)

BloggerやGoogle SiteがTridentでうまく動かないところがあるので、Firefox3.6を入れました。
http://www.lunascape.jp/Products/tabid/163/Default.aspxでは

また、多くのGeckoアドオンを利用するユーザーのために、ウェブブラウザの起動速度も改善しました。複数のGeckoアドオンインストール時の起動速度は同数のGeckoアドオンをインストールしたFirefox3.5.5よりも高速になっています。
と記述がありますが、とりあえずプラグインが2つだけのFirefox3.6のほうがLunascape6より断然高速に起動していると感じます。

さらにディスクの使用量は半分程度になったと思います。
Program Files以下の要領は、Lunascape6が68.3 MBです(Webkitなし)。
Lunascape4 Liteは7.35 MB、Firefox3.6が27.2 MBです。(ともにディスク上のサイズ)

☆scrotで連続スクリーンショット

前回の投稿はscrotで約一秒毎のスクリーンショットを取りました。
ターミナルで適当なディレクトリを作って移動し、以下のコマンドラインを実行。
停止はCtrl+Cです。(忘れると大変なことになりますが....)

while true; do sleep 1;scrot -b -u 'usplash-%j-%T.png'; done

出来上がるファイル名は後で選別する際にわかりにくいので、まとめてリネームします。
いきなりはリネームは怖いので、まずは表示して確認、そのごシェルに渡して実行です。
以下のようなperlスクリプト"ren_scrot.pl "を作り、実行権限をつます。

#!/usr/bin/perl
my($prefix) = shift;
my($i) = 0;
while(<>){
    chomp;
    next if /^$/;
    $i++;
    $file = sprintf "${prefix}-%03d.png", $i ;
    print "mv $_ $file\n";
}

使い方は

ls *.png | ren_scrot.pl hoge
(hogeはプレフィクス) 出力を確認して問題なければ
ls *.png | ren_scrot.pl hoge | bash -s
でリネームを実施します。

一旦投稿してから

i=0; while true; do sleep 1;i=$(($i + 1)); scrot -b -u `printf 'hoge-%03d.png' $i`; done
でもOKだと思いました。つどprintfコマンドを起動するところが若干重いような気もしますが。
ren_scrot.pl は別の用途でも使えますし。(完全に自分に対する言い訳ですねこれは。)

☆Karmicのusplashをカスタマイズ

Karmicでは高速化のためにusplashのプログレスバーが無効になっています。
(ソースに "/* disable progress bar in Ubuntu 9.10 due to faster boot */" と書いてあります。)
このために起動の進捗具合が分かりにくくなっています。起動にかかる時間を短縮することも重要ですが、プログレスバーが表示された方が良いと思っている方も多いのではないでしょうか。

プログレスバーを出すだけならばusplash-theme-ubuntu-colorパッケージを導入すればjauntyと同じ状態になります。
しかし、私はKarmicのモノトーンが好きなのでusplash-theme-ubuntu-colorでは満足出来ません。そこでusplash-theme-ubuntuのソースパッケージを取得してプログレスバーを有効にします。
ついでにgrubの設定を少しいじってusplashの下側に実行しているプロセスを表示するようにします。

百聞は一件に如かず。まずはスクリーンショット

usplash表示前
変更前はこのとき画面が真っ黒
usplash表示初期
インジケーターが行ったり来たり
usplash表示後期
プログレスバーが伸びて行く

ちなみにGDMを使っている場合はこのあとxsplashが少しのあいだ表示され、GDMのログイン画面が表示されます。
SLiMならxsplashなしですぐにログイン画面です。速さを求めるならSLiMよいですよ。

●grubの設定

まずは簡単な方から。/etc/defalt/grubを編集します。 変更対象のエントリは"GRUB_CMDLINE_LINUX_DEFAULT"。"quiet"を取り除きます。 変更前

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
変更後
GRUB_CMDLINE_LINUX_DEFAULT="splash"

その後、/boot/grub/grub.cfgを作り直します。

sudo update-grub

●usplashのソース改変

例によって、作ったパッケージをUpしました。
作業過程に興味のない方や開発用のパッケージを入れたくない方はこちらをどうぞ。
https://sites.google.com/site/midspeclowload/files/usplash-theme-ubuntu-mono_0.27_i386.deb?attredirects=0&d=1

一通り自分で作業される場合は、Ubuntu Weekly Recipe 第16回を参照して必要なパッケージを導入します。
作業用のディレクトリでusplash-theme-ubuntu のソースを取得。

sudo apt-get source usplash-theme-ubuntu
usplash-theme-ubuntu-0.27の下にあるusplash-theme-ubuntu.cをusplash-theme-ubuntu-mono.c にリネームします。
Makefile, debian/rules, debian/changelog, debian/control, debian/postinstに含まれている文字列”usplash-theme-ubuntu”をすべて”usplash-theme-ubuntu-mono”に置き換えます。

usplash-theme-ubuntu-mono.cをエディタで開いて"#if 0"を検索します。ここから"#endif"までがプログレスバーの処理をする関数のようです。そのさらに下に中身がからっぽの関数が定義してあります。
空っぽの方を"#if 0"、"#endif"で挟んで無効化し、ちゃんと中身のある方を有効にします。

このままではロゴとプログレスバーが重なってしまうので、ロゴのY座標を調整します。usplash-theme-ubuntu-colorのソースを取得して、Y座標だけusplash-theme-ubuntu-color.cと同じにします。

改変したソースは
https://sites.google.com/site/midspeclowload/files/usplash-theme-ubuntu-mono_0.27_i386.deb?attredirects=0&d=1
にあるのでオリジナルと比べて見てください。

パッケージをビルドします。

debuild -r fakeroot
一つ上のディレクトリにパッケージが作成されます。

●usplashの導入、設定

作成したパッケージを導入します。

sudo dpkg -i usplash-theme-ubuntu-mono_0.27_i386.deb

これでupdate-initramfsが走っているのですが、なぜかこれだけでは新しいusplashに変わってくれません。
update-alternativesに指定している優先度の問題かもしれませんが、ここはツールに頼ります。startupmanagerを導入します。

2010/02/28 この件に関するフォローを投稿しました。☆Startup- Managerに頼らないUsplashの変更

sudo apt-get install startupmanager
gksudo startupmanager &
設定画面の[外観]タブのリストボックスから導入したusplashを選択します。[閉じる]を押すとupdate-initramfsが起動されます。

ちなみにstartupmanagerの[起動オプション]タブにある[その他]以下の2項目は"GRUB_CMDLINE_LINUX_DEFAULT"ではなく"GRUB_CMDLINE_LINUX"を変更するようです。
"GRUB_CMDLINE_LINUX"はrecovery modeのオプションを設定する項目みたいです。
こちらをいじっても通常の起動には影響しません。