2009年10月31日土曜日

VAIO X 購入しました

薄くて、軽くて、電池が長持ち、SonyのネットブックVAIO Xを購入しました。
  • CPU Intel Atom Z540 (1.86GHz)
  • メモリー2GByte
  • SSD 64GByte
  • Lバッテリで約10時間駆動
  • 重量 0.765kg
  • 厚み 13.9mm
  • 無線 IEEE802.11b/g/n
  • LAN 1000Base-T
スペックは必要にして十分。CPUが64ビット対応でないのだけが残念。(仕事で必要なので。)

写真は、Let’s note T7と、大きさを比較したもの。Let's noteも1.2kgで電池の持ちも良かったんですが、VAIO Xはそれよりも上を(下を?)行く大きさと、軽さです。

本当にノートを持ち歩く感覚です。

ソニーの宣伝文句は「余分はいらない。十分がほしい。」ということみたいなので、
早速、Windows 7を消して、Debianを入れました。

2009年10月27日火曜日

[備忘録] テキストコンソールでWeb閲覧

LinuxのテキストコンソールでWeb閲覧したい件
結局、/dev/tty1ならば、ssh-agent -> jfbterm -> screenと自動起動するようにしました。

export LC_ALL=ja_JP
export LANG=ja_JP.UTF-8

if [ `tty` == "/dev/tty1" ] ; then
exec ssh-agent jfbterm -e screen
fi

screenのwindowでemacsを開き、そこで'M-x w3m'とすれば、Webが閲覧できる。
日本語入力もemacs+skkのおかげでほぼ問題無さそうです。

screenの中からstartxでXが起動できないので、Xを使いたい時は、Alt+F[2-6]で他のttyに切り替えて使用することにします。

2009年10月26日月曜日

[備忘録] jfbterm終了時に固まることがある件

ここを参考に、以下のように変更

ktaka@lets:~/SRC$ diff -c jfbterm-0.4.7_orig/term.c jfbterm-0.4.7/term.c
*** jfbterm-0.4.7_orig/term.c 2003-09-16 00:45:31.000000000 +0900
--- jfbterm-0.4.7/term.c 2009-10-26 23:09:54.000000000 +0900
***************
*** 76,82 ****
void sigchld(sig) int sig; {
int st;
int ret;
! ret = wait(&st);
if (ret == gChildProcessId || ret == ECHILD) {
tvterm_unregister_signal();
tterm_final(&gTerm);
--- 76,82 ----
void sigchld(sig) int sig; {
int st;
int ret;
! ret = waitpid(gChildProcessId, &st, WNOHANG);
if (ret == gChildProcessId || ret == ECHILD) {
tvterm_unregister_signal();
tterm_final(&gTerm);


但し、asm/page.hが無といわれたり、コンパイルが通らないので、
最新のデビアン用のパッチを当て、コンパイルを通す。

今のところ直っているようにみえる。

[備忘録] ノートパソコンの起動時間の短縮をしたい

Let's note T7に Debianを入れたものを外出先で使っているのですが、Grubでカーネルを選択してから、Xが立ち上がるまでに1分近くかかっていました。その後emobileに接続したりと、メールやWebが見れるまでにはさらに時間がかかっていました。これだと、ちょこっと情報を確認したい時にはちょっと面倒です。
そこでiPhoneを導入し、それはそれで快適に使えているわけですが、ノートパソコンの方ももう少し起動時間短縮できるよう頑張ってみたいと思います。

方針は
  1. 余分なサービスの停止
  2. X windowが無くても何とかなるように
    • フレームバッファを使えるようにする
    • テキストコンソールでメールの読み書きができるように。候補emacs+wanderlust
    • テキストコンソールでWebの閲覧検索ができるように。候補はemacs+w3m
    • 切換えはscreenで
  3. カーネルをスリムに
  4. SSD化、IntelのX-25M 80GB辺りを物色中
先ず、色々といらないサービスを起動しないようにします。
update-rc -f dhcpd3-server remove
update-rc -f tftpd-hpa remove
update-rc -f hogehoge remove

/etc/init.d/rcで
CONCURRENCY=none → CONCURRENCY=shell

フレームバッファを使えるようにする
lspci
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
とあるので、intelfbを使うことにします。

おそらく関係するのはこの辺り
ktaka@lets:~/Kernel/linux-2.6.31.5$ egrep FB .config|egrep -v "^#"
CONFIG_FB=y
CONFIG_FB_DDC=y
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_BOTH_ENDIAN=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_INTEL=y
CONFIG_FB_INTEL_DEBUG=y
CONFIG_FB_INTEL_I2C=y

上記設定確認後、カーネルを再コンパイルしました。

そしてカーネルのオプションは、
video=intelfb:accel=0 vga=0x318
とすれば上手く行くことがわかりました。intelfbのデフォルトだとaccel=1になっていて、上手くいかないようです。

コンソールで日本語を表示する為に、jfbtermを使ってみる。

環境変LC_ALL=ja_JPでないと、日本語が表示できなかったりする。
コンソールでjfbtermを使わずにmanページを見ることもあるので、普段はLC_ALL=Cで使いたい。
.bashrcで、TERM=jfbtermの時のみLC_ALL=ja_JPにするよう設定します。

if [ `tty|sed -e 's/.*tty.*/tty/g'` == "tty" ] ; then
export LC_ALL=C
fi

if [ $TERM == "jfbterm" ] ; then
export LC_ALL=ja_JP
export LANG=ja_JP.UTF-8
fi

以上の設定の後、
コンソールログイン→screen起動→emacs/M-x w3mで日本語ページが表示できるようになりました。

このページもその環境から編集していますが、bloggerにログインする際、クッキーが使えないと叱られた。
.emacsに
(setq w3m-use-cookies t)
と書くことで解決しました。

残りは、後日。

2009年10月19日月曜日

巷で評判のiPhone 3GSを購入しました。

外出先から会社のメールを確認する際、今までemobileでネット接続していました。
しかし、パソコンをブートするに時間がかかり、移動中の接続が面倒に感じていたので、思い切ってiPhoneを購入しました。

スマートフォンの類は、表示に問題があったり文字入力が使い難かったりであまり期待していなかったのですが、iPhoneは私にとって問題のないレベルです。
Gmailと会社のメールが両方ともIMAPで簡単に使えるということも重要なポイントです。
会社のメールサーバはSSL/TLSを使っているのですが、特にポート番号を指定しなくても、勝手に探して繋がってしまいました。

2009年10月8日木曜日

keepalived-1.1.19がリリースされました

10/1にkeepalived-1.1.19がリリースされました。

keepalivedのvrrpの実装では、ネットワークリンクがダウンするとFAULT Stateに入ります。
ネットワークリンクがアップすると、FAULT StateからいきなりMASTERに昇格してしまい、コネクタの接触不良などの場合に、MASTERがバタバタ入れ替わってしまうという、かなり致命的な危険性がありました。

nopreemptオプションを有効にすることで、リンクの復旧時にBACKUPステートに入るようにでき、その様な危険性がなくなりました。

http://www.keepalived.org/changelog.html