iPod touch/iPhoneのSafariでデフォルトの表示幅を指定する

meta (HTMLタグ リファレンス)

 iPod touchのSafariでは、携帯電話向けに作った横幅の狭いページもデフォルトではやたら縮小されて表示されてしまいます。せっかくドットバイドットで表示できる画像を用意してもわざわざ小さく縮小表示してくれやがります。bodyタグやpタグにwidthとか指定してみてもダメ。そこでググってみると、上記のリファレンスページにmetaタグでの指定方法が載っていました。

<meta name=”viewport” content=”width=300″>

のように記述しておけば良いことが判明。

<meta name=”viewport” content=”initial-scale=0.75″>

のようにズーム率で指定することもできるようですが、どっちを使うべきかは不明。とりあえず前者にしときます。

 現状ではPCのブラウザでは無視されるっぽいので、iPod touchでアクセスする可能性のあるページに気軽に埋め込んでおけそうです。

 他にも、最小倍率、最大倍率、ピンチ禁止などができるようです。

CerntOS5 64bit環境にText::MeCabを導入するとmake testが通らない件

 日経Linuxの2008/2月号の特集を見ながら、SpamAssasinを導入する経過で、MeCabという形態素解析エンジンを利用するCPANモジュールText::MeCabを入れる段でつまづきました。makeやmake testが通らない。どうも64bit環境であることが問題っぽい。

 以下に解決法を書いておきます。

cpan -fi Text::MeCab

をしてエラーになった後で、/root/.cpan/build/Text-MeCab-0.20001に移動します。そこにあるMakefile.PLを編集し、

my %INFO = (
    ABSTRACT     => ‘Alternative Interface To libmecab’,
    AUTHOR       => ‘Daisuke Maki <daisuke@endeworks.jp>’,
    CCFLAGS      => $result->{cflags},
    DEFINE       => join( ” “, @define ),
    DISTNAME     => ‘Text-MeCab’,
    INSTALLDIRS  => ‘site’,
    LIBS         => mecab-config --libs,
    NAME         => ‘Text::MeCab’,
    OBJECT       => ‘$(O_FILES)’,
    PREREQ_PM    => {
    LD           => mecab-config --cxx,
    INC          => mecab-config --cflags,

てな感じで書き換えます。下2行は丸ごと追加です。後半の括りはアポストロフィではない点に注意。/usr/bin/mecab-configコマンドをパラメーター付きで実行して、その結果を渡してる訳ですね。

 一応これでmakeもmake testも通って、無事make installした訳ですが、その前に以下も試してますので、一応書いておきます。もし上記だけでダメならお試し下さい。

 mecab-0.96とmecab-ipadic-2.7.0-2007080をコンパイルする時に、64bit環境であることを明示します。

LDFLAGS=’-m64′
CFLAGS=’-m64′
CPPFLAGS=’-m64′
CXXFLAGS=’-m64′
export LDFLAGS CFLAGS CPPFLAGS CXXFLAGS

で、./configureは元記事ではファイルパスを細かく指定してたのを、シンプルに

./configure –with-charset=utf8  (mecabの時)

./configure –with-mecab-config=/usr/bin/mecab-config –with-charset=utf8 (mecab-ipadicの時)

だけにしてみました。

 ググっていくつものページを参考にしたんですが、もう色々見過ぎてとてもまとめられないので、個別リンクはご勘弁下さいませ。それぞれを執筆された方、本当にありがとうございました。

追記:

 んが、ここにsrpmが揃ってました。こっちをリビルドすれば良かったかも…

ML115のLights-out 100、ようやく動作

 ML115を購入する時に、BTOでLights-Out 100というリモートマネジメントカードをつけました。これは、内蔵NICとは別のLANポートから、ハードウェアを監視し、万一OSがフリーズしても別ポートからログインしてリセットや電源断を行ったりできるものです。また、Virtual KVMというVNCベースの技術で、遠隔からコンソール(ターミナルではない)を利用できる機能も搭載しています。

 例えば、外部からのログインを一切受け付けなくなった遠隔地のマシンに関しても、直接モニタ出力をのぞくことで、カーネルパニックを起こしているのか等の診断ができる訳です。実際に、実家に帰省中にサーバーがとまって、わざわざリセットボタン押しに横浜までトンボ帰りしたことがあるσ(^^)には非常に有り難い機能です。前々からDELLやHPのサーバー機には搭載されていたのですが、激安のML115でも選択可能ということで、今回のサーバーリプレースの目玉でありました(ちなみに単体の外付け機器だと\10万コース。Lights-out100は2.5万位)。

 さて、このVirtual KVMですが、なぜウチの環境ではJavaがエラー吐いて動きませんでした。OperaでもIEでもFireFoxでもNG。「java.lang.NoClassDefFoundError: com/serverengines/nativeinterface/NativeInterface」となります。ググってもヒットしないし、あれだけ勢いのある2chのML115スレでもLights-out 100の話題は全くでないので聞いてもダメそう。

 マニュアルにはJava 1.4.2以降と書かれてますが、どうせJREのバージョンによる互換性の無さが原因だろうと、1.6環境に1.4.2を追加導入してみてもダメ。どうも、ブラウザが呼び出すJavaアップレット用のVMは無条件に最新版が使われてしまうようで、JavaコンパネでもIEの詳細設定画面でも1.6.0しか表示されません。

 で、結局、1.6系をすべてアンインストールして、1.5系以下のみの状態にすることで無事起動できました。もしかしたら1.6系を保持したまま1.5系を使わせる手段もあるのかも知れませんが、ざっとググった限りでは見つかりませんでした。特にJava依存のサービスと普段使ってるわけでもないので、当面は1.5系にしてアップデートをかけない運用にしてみようと思います。

2007.10.24追記: どうも1.5.0_11(=JRE 5.0 Update 11)以下でないとダメなようです。

 最近のタグ書式ではJREのバージョンを指定したりもできるようですが、Light-outが出力するHTMLではappletタグ(廃止予定の非推奨タグ)を使っているところからして、やや古い実装のようですね。

 ともあれ、なんとか動作までこぎつけたので記念写真。Vista機からXP機にリモートデスクトップ接続をし、XP機のIEからVirtual KVM接続でML115を表示し、Ml115のDomain0のX上から仮想マシンマネージャー経由でDomainUのログインプロンプトを表示したものですw。

lights-out100 動作の様子

CentOS5でpptpdはrpm一発でした。

 Xen上のCentOS5サーバーに環境を移行中です。

 実はVineやGentooでは使っていたpoptopが、なぜかCentOS4ではずっと使えずにいて、PacketiXなどで代用していました。が、ディストリをバージョンアップした機会に再挑戦。

 結論から言えば、随分簡単にできました。以前は、kernelにMPPEパッチ入れたりだのが一苦労だったんですが、今のkernelはそういうの不要みたいですね。

 CentOS5でも使える、RHEL用パッケージは、poptop公式のyumレポジトリにありました。ちゃんとx86_64版もあります。ppp-2.4.4は多分最初から入っているので、pptpd-1.3.4-1.rhel5.1.x86_64(32bitの人はi386).rpmだけとってきてrpm -ivhすればOKです。

 あとは普通に、/etc/pptpd.confや/etc/ppp/options.pptpdなどを編集すればOKです(設定例はあちこちに書かれているので割愛)。

 自分が「CentOS5 pptpd」でググってみた時点ではあまり情報がなかったので、これから入れる誰かの参考にメモっと。

ML115をAthlon X2 BE-2400に換装

 仕事帰りに何ヶ月ぶりかの秋葉原に立ち寄ってみました。で、その勢いで先週出たばかりのAthlon X2 BE-2400を購入。ML115のAthlon 64/3500+と換装してみました。

 当初、LinuxでメールやWebなどの対外サーバーにつかう予定だったんですが、せっかくXenを入れたので欲がでてWindows Media Serverを入れてみたりしだしたので、デュアルコアにしてみると良いかなと。また、ついてきたAthlon 64/3500+はOrleansコアなので1.35V駆動でTDPが62W。対してBE-2400は1.25Vで45Wとデュアルコアになってるのに消費電力、発熱面ではむしろ有利になってるので、借りにパワーをもてあましたとしてもメリットはあるかなと。

 ML115での実績はBE-2350までで、まだ2400までは情報がなかったんですが、人柱になってみました。

 で、結果はイマイチ。動くことは動いてるんですが、CPUIDが認識されずunknownになり、倍率が11.5倍(2,300MHz)にならなければいけないところ11倍(2,200MHz)で動いちゃってます。手動指定の選択肢でも11倍までしか出てこない。BIOS画面上ではMaximux 11.5という表示も見えるので、倍率自体は認識してるが、対応する倍率が11x止まりってことですかね?1つ下で\2,000位安いBE-2350が2,100MHz駆動なので、一応損はしてないんですが…

 まぁ、BIOS更新で対応すると期待しましょう。