ChromeOS をビルド

日経Linux 10月号を参考に、ChromeOS をビルドしてみた。
もの好きしかやってみないとは思うのですが、少々記事が雑でした。

まず、図4の?ですが、exit の前に以下のコマンドが必要でした。

# chmod +x /usr/bin/repo

同じく図4の?、改行マークが有りますが、実際は1行です。

$ repo init -u http://src.chromium.org/git/manifest -m minilayout.xml

それから図5の「依存関係にある開発パッケージを自動インストール」の次に、文章中にある以下のコマンドを実行します。

$ ./enter_chroot.sh

初心者の方は最後まで辿り着けないかもしれません。
せっかく ChromeOS の現状がわかる良い記事なのに残念です。

その後、”x86-generic” を “x86-geniric” とタイプミスしてはまったりしましたが、それ以外は順調に作業できました。

けっこう時間が必要なので、仮想マシンを用意して半分放っておくのをお勧めします。
推奨環境を構築出来ますし、安心して別の作業を行えます。
あきらは仮想マシンを 4CPU、メモリ2GB、HDD80GB、Ubuntu 10.04 LTS AMD64 で作成して実行しました。

必要な時間は、合計4時間ぐらいだと思います(半分放っておいたので正確な時間はわかりません)。
Lenovo IdeaPad S12 の USBブートで試してみたいと思います。

PHP で、なぜわざわざ自前で HTML をパースするのか

JAPRO Template Engine の PHP 版では、わざわざ自前で HTML をパースしています。
それにはこんな理由があります。

loadHTML/loadHTMLFile/saveHTML/saveHTMLFile

タグのインデントなど、空白文字が無視されてしまいます。
正確なパースとは言えません。
HTMLを書いた人の意図を無視することは良い事とは思えません。
saveHTML が出力する HTML もゴチャゴチャです。
XHTML は対応出来ないようです。

load/loadXML/save/saveXML

HTMLを読み込ませると、href/src 属性に & がある場合にワーニングとなります。
scriptタグの中も & があるとワーニングとなります。
コメントの終了は –> の前に空白文字がないとワーニングとなります。

とにかくワーニングだらけになります。無理があります。

結局自前で

HTMLの実情に合ったパースを行うには、結局自前でパースする必要があります。
出力の際も自分でツリーをたどって表示する必要があります。

自前でパースする際のヒント

mb_internal_encoding( ‘UTF-8’ )
mb_regex_encoding( ‘UTF-8’ )
mb_regex_set_options( ‘pr’ )

テキスト部分/タグ/残りに分解する正規表現
A(.*?)(<.*?>)(.*)z

jQuery UI の Dialog でフェード効果を実現する方法

最近、 jQuery UI の Dialog を良く使うのですが、開く・閉じる時のエフェクトが IE で安定しないため、エフェクトなしで表示していました。
でも、エフェクトがあったほうがメリットがあるんです。

エフェクトによって Dialog が目立つため、自然に誘導しやすくなります。
エフェクトの時間が余分と思われるかも知れませんが、かえって突然表示されるより自然に感じるため、ストレスを感じません。

そして、操作が楽しくなります。

IEでも安定して動作するエフェクトには、フェード効果があるのですが、jQuery UI 1.8.1 現在で開発版にしか含まれていません。

しかし、以下のように Dialog のオプションを指定することにより実現できました。

$( '#dialog' ).dialog( {
title: 'タイトル',
bgiframe: true,
modal: true,
show: { effect: 'pulsate', duration: 1000, times: 1 },
hide: { effect: 'pulsate', duration: 1000, times: 1 },
....
} ) ;

show, hide オプションにちょっと見慣れない設定をしています。

けっこう満足しています。

JQuery UI の CSS を調整

修正メモ。
自分以外の人の役に立てばいいなぁと思って。

サイトのデザインを優先するように修正。

jquery.ui.theme.css (font-family をコメントに)

.ui-widget { /*font-family: Verdana,Arial,sans-serif*//*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }

ダイアログのタイトルを目立つように修正。

jquery.ui.dialog.css (.ui-dialog-title)

.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; font-size: 1.5em; line-height: 100%; }

openSUSE 11.2

openSUSE 11.2 をインストールして触ってみました。
デスクトップのみ使うならまあいいんじゃないでしょうか。

あきらははっきり言ってお手上げです。

VMware Player 3.0 はまともにインストールできませんでした。
再起動すると /etc/init.d/vmware は実行されませんでした。
パッケージアップデート後に実行しようとすると、カーネルヘッダーのバージョンが異なると言われてしまいますが、どのパスを指定すれば良いのか途方に暮れました。

Apache2 のドキュメントルートは /srv/www/htdocs/ だったかな?
パッケージはrpmですが、yum や apt-get はありません。
とにかく独自路線過ぎます。

ちょっと openSUSE での案件は勘弁して欲しいです。

WindowsPager 0.84

WindowsPager は、いわゆる仮想デスクトップといわれるソフトウェアです。
仮想デスクトップと言うと、シンクライアントと混同されるので、個人的にはマルチデスクトップと呼ぶほうが正確ではないかと思います。

さて、Windows 7 で WindowsPager 0.77 では、壁紙のスライドショーが機能しませんでした。
一旦設定できたように見えて、再起動すると壁紙が単一の画像になってしまっていました。

WindowsPager 0.84 ではこの問題も解決されています。
32/64ビット共に問題ありません。

素晴らしいです。

Windows 7 ProfessionalではRDPでAeroが有効にならない

Windows 7 の RDP は 7.0 となって Aero が使えるのがウリなんですが、落とし穴があります。
Professional では Aero が有効になりません。
ネットで調べたところ、Enterprise か Ultimate が必要とのこと。

Windows7のリモートデスクトップでAeroにならない件

あきらは VMware Player 3.0 で確認しました。

Windows 7 では Aero が有効でないと使い辛いと思います。
RDP を使いたい方には Ultimate をお勧めします。