2010-01-30

サイバーショット、罠×2

普段使いのコンパクトデジカメを買うことになり、量販店へ。下調べと価格の相場はネットのほうが便利ですが、持った感じ(重さや薄さ)とか色味、操作感は触ってみないと。

春の新機種が発表後・発売前という微妙な時期でしたが、適当に値下がりした旧機種のサイバーショット DSC-W270 を購入。
SDカードの使えない最後のサイバーショット(メモステのみ対応)」なので、もうちょっと待てばもっと値下がりするのは目に見えてましたが、いま必要なので仕方ないです。
ヤマダと激しい価格戦争を繰り広げている池袋ビックカメラで15,800円のポイント還元6%。価格.comの最安値よりちょっと高いくらい。価格.com掲示板を見ると、年末には同じ池袋で9,980円のときもあったみたいで、見なきゃよかったという気にさせられます。

画質や操作感は概ね満足。
ただ、驚いたことが二つ。

(1) メーカーのユーザー登録は、カメラをPCにUSB接続して、専用ソフトでネット経由でおこないます。

専用ソフトの動作環境はWindows XP以降、Mac OS X 10.3以降。ネット端末はケータイとかLinuxとかPS3しか持ってない! という人は登録できないのだそうです。
確かにシリアル番号を手入力するのは、入力間違いとかありそうで前時代的かもしれませんが……。まぁ、私は普段からWindows使ってるから構わないけど。

(2) microSD→メモステDuo変換アダプタを使うといちいちワーニングが出ます。

PSPで使っていた変換アダプタが遊んでいたのでサイバーショットに入れてみたら、「このメモステは記録/再生できない可能性があります」という警告表示が出ます。電源入れたり、再生モードから撮影モードに切り替えたりするたびに出ます。
記録/再生できないわけじゃないので、メッセージを無視すればいいだけなのですが、ちょっとイラッときます。

確かにメモステの場合、中国製の低品質な偽造品や粗悪な変換アダプタが出回ったりするので、「撮ったのに記録されてない!」というような不幸な事態を防ぐために、こういう警告が出るのでしょうが……。


――と、どちらも「困る」というほどではないですし、メーカー側のサポートコストを考えると仕方ないかなという気もしますが(これだけの性能のカメラが1.5万円で買えるってスゴい時代だと思う)、こだわる人には受けが悪そうだなと感じた次第。まあ、こだわる人はもっといいカメラ買ったり、そもそもソニー製品は買わなかったりするのかも。

2010-01-08

GmailをIMAPで使うときは言語設定をコロコロ変えない

IMAPでGmailのバックアップを取ると便利なのだけど…

メールはGmailをメインで使っています。
便利なのですが、メールのアーカイブが手元にない(Googleのサーバー上にしかない)というのもなぁ…ということで、たまにバックアップを取っています。

バックアップ専用ソフトもあるみたいですが、汎用性を考えて、普通のメールソフト(Thunderbird)で受信するようにしています。
これまではPOP3で取っていたのですが、IMAPで取るように変えてみました。

POP3を使う場合と比べてIMAPの利点は色々あります。
・POPだと一度に250通くらいしか取得できず、たまにまとめてバックアップしようとすると何度も受信操作をしないといけない。IMAPだと何万通あろうと一気に取得してくれて便利
・IMAPだとGmailのラベル分類を「フォルダ」という形でバックアップできる
・IMAPだと送信済みメールもバックアップできる

というわけで、なんでもっと早くIMAPにしなかったんだろうと思っていた矢先のこと。
バックアップを開始したら、手元の数万通のメールが消失しました。

Gmailのサーバー上にはメールは残っているので、消えたと言っても取得し直せばいいのですが、しかし一体なぜ!?

Gmailの言語設定を変えるとIMAPのフォルダ名が変わり、同期が失われる

そういえば最近、Gmailの言語設定を英語から日本語に変えたのでした。
そのため、Gmailサーバー上のフォルダ名が全部変わってしまい、ローカルのメールソフトとしては、
「あれ? 今まであったフォルダが全部消えて、新しいフォルダができてる! 同期しなきゃ!」
という動作になってしまったのでしょう。

たとえば、
 Inbox → 受信トレイ
 Starred → スター付き
 Sent Mail → 送信済みメール
 Drafts → 下書き
 All Mail → すべてのメール
 Spam → 迷惑メール
 Trash → ゴミ箱
のように。

というわけで、IMAPを使っている場合は、言語設定をコロコロ変えるのは危険なようです。

標準の言語設定を「日本語」にしつつ、iPhoneだけ英語設定で使うには

そもそもなぜ言語設定を英語にしていたかというと、英語設定じゃないと使えない新機能がGmailにはいろいろあるからです。
今はPC版のGmailはバージョンアップが落ち着いている時期のようで、日本語でも英語でも使える機能は大差ないようですが、iPhoneのSafariから使う場合、新バージョンは日本語設定では使えません。

しかし日本語設定でバックアップしちゃったしなあ……英語設定に戻したらまたバックアップ最初からやり直しってキツイなあ、と思っていたら、「標準の言語設定は日本語のまま、iPhoneだけ英語設定で使う」のは可能でした。

方法は簡単で、iPhoneのSafariから以下のURLにアクセスするだけです。
https://mail.google.com/mail/s/
これで(UIは英語ですが)新バージョンのiPhone Safari用Gmailが利用できます。

なお、Google ReaderなどをiPhoneから使っている場合、ページ上部の「Gmail」タブを選ぶと、日本語の旧Gmailに飛んでしまいます。
なので新バージョンのURLをブックマークするなり、ホーム画面にアイコンを置くなりしておくのが賢明かと。

2010-01-07

ThinkPadのトラックポイントでiTunesやSafariもスクロール可能に(Windows 7篇)

ThinkPadの象徴とも言えるトラックポイント(TrackPoint)。
マウスポインタを動かすのに使いますが、左右のクリックボタンの間にある「スクロールボタン」を押しながらだとウィンドウのスクロールもできるので便利です。

ところがiTunesやSafariだとスクロールしてくれません。
Firefoxだと縦スクロールはできますが、横スクロールができません。

というわけでググると解決策が見つかるのですが、ThinkPadの機種やWindowsのバージョンによって扱うファイルが違う模様。私の場合はどうだったか、まとめておきます。

対象環境

【機種】ThinkPad R400
【OS】Windows 7(Home Premium)

Vistaプリインストールモデルでしたが、Lenovoの優待アップグレードキャンペーンによるアップグレードキットのディスクからクリーンインストールしています。
(なぜアップグレードインストールではなくクリーンインストールかというと、Win7RCを入れていたからです…。Win7製品版はRCからのアップグレードインストールができないので)

編集するファイル

tp4table.dat というファイルを編集するのですが、在処は C:\Program Files\Synaptics\SynTP\ でした。

このファイルはただのテキストファイルで改行もCRLFなので、メモ帳でも編集できます。
ただし Program Files 配下ですので、UACに引っかかります。管理者権限で編集しましょう。

うっかり管理者権限なしで編集してしまった場合は、
C:\Users\*\AppData\Local\VirtualStore\Program Files\Synaptics\SynTP\tp4table.dat
として保存されているはずなので、それを C:\Program Files\Synaptics\SynTP\ に移動します。

編集内容

ファイル内の次のような場所を探して、その直前にでも書くことにします。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Pass 1 rules (These rules run last)

なぜそこに書くかというと、
; Pass 0 rules (These rules run first)
; Pass 1 rules (These rules run last)
; If no scrolling method was found with the builtin logic, then
; these rules are checked.
とあって「まずは Pass 0 rules、ダメなら Pass 1 rules」という雰囲気なので、じゃあまずは Pass 0 rules に書いてみますか、という程度の理由です。

次のように書いてみました。
; iTunes/Safari/Firefox
*,*,itunes.exe,*,*,*,WheelVkey,0,9
*,*,safari.exe,*,*,*,WheelVkey,0,9
*,*,firefox.exe,*,*,*,WheelVkey,0,9

Pass 0 rules にあらかじめ書かれているルールをコピペして、それっぽいところを書き換えただけです。
なお「WheelVkey」ではなく「WheelStd」と説明しているサイトもありますが、私が試した範囲では、「WheelStd」だと横スクロールができませんでした。

ただ、iTunesは「WheelVkey」と書いても横スクロールできませんでした。(縦スクロールはできます)
tp4table.dat には記述の意味も説明されてたので、それに従ってパラメータを変えてみたり Pass 1 rules に書いてみたりしましたが、しばらく試行錯誤してもiTunesを横スクロールさせる方法は見つからず断念。ググっても分かりませんでした。

再起動するプロセス

設定ファイルを編集しただけではトラックポイントの動作は変わりません。
OSを再起動すれば新しい設定が反映されるのですが、それだと面倒なので、トラックポイントを司るプロセスだけ再起動させます。

プロセスを tp4serv.exe と説明しているサイトが多いのですが、私の環境ではそんなプロセスはなく、代わりに SynTPEnh.exe を再起動してみたらうまくいきました。SynTPEnh.exe は tp4table.dat と同じフォルダにあります。

ちなみに「再起動」の手順は、「タスク マネージャーで強制終了」→「エクスプローラーから起動」です。

2009-12-27

カスタムMSS2のSambaを「ごみ箱」対応にする

カスタムファームウェアを入れたNAS「Maxtor Shared Storage II」(MSS2)にSambaを入れてみます。
参考過去記事:
 MSS2にカスタムファームウェアを入れる
 カスタムMSS2のパッケージ管理システム(optwareとipkg)について

Sambaは標準で入ってるのに、なぜ自分で導入するの?

純正MSS2にもSambaは入っています。というかNASですから、Sambaこそがメイン機能です。
じゃあどうしてわざわざ改めてSambaを入れるかと言うと…、デフォルトで入ってるSambaには「ごみ箱」(recycle bin)機能がないのです。
ごみ箱機能は――削除操作したファイルをいきなりHDDから消してしまわずに、いったん一時的な場所に格納しておく…という説明をするまでもないポピュラーなものですが――PC上ではローカルなHDDにしか使えません。
そのため、NASでごみ箱を使うには、PC側ではなくNAS側で仕組みを用意する必要があるのです。

ipkgを使ってoptwareのSambaをインストール

ではSambaをインストールします。
# /opt/bin/ipkg list | grep samba
samba - 3.2.15-1 - Samba suite provides file and print services to SMB/CIFS clients.
samba2 - 2.2.12-1 - Lightweight Samba suite provides file and print services to SMB/CIFS clients.
samba3-dev - 3.2.15-1 - development files for samba3
samba3-swat - 3.2.15-1 - the Samba Web Admin Tool for samba3

現在の安定版が3.4系で、その前の安定版が3.3系なので、optwareで入手できる3.2系は「前の前の安定版」ということになりますが、ごみ箱を使うぶんには差し支えありません。

# /opt/bin/ipkg install samba
Installing samba (3.2.15-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/samba_3.2.15-1_arm.ipk
package samba suggests installing cups
Installing popt (1.15-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/popt_1.15-1_arm.ipk
Installing readline (6.0-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/readline_6.0-1_arm.ipk
Installing openldap-libs (2.3.43-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/openldap-libs_2.3.43-1_arm.ipk
Installing openssl (0.9.7m-5) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/openssl_0.9.7m-5_arm.ipk
Installing libdb (4.2.52-3) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/libdb_4.2.52-3_arm.ipk
Installing gdbm (1.8.3-2) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/gdbm_1.8.3-2_arm.ipk
Installing cyrus-sasl-libs (2.1.23-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/cyrus-sasl-libs_2.1.23-1_arm.ipk
Configuring cyrus-sasl-libs
Configuring gdbm
Configuring libdb
Configuring openldap-libs
Configuring openssl
Configuring popt
Configuring readline
Configuring samba
The original samba version 2 config (/etc/samba/smb.conf) is no longer
working with this version of samba.
Please create a new samba version 3 config (/opt/etc/samba/smb.conf).
After verify your smb.conf file, modify and execute /opt/etc/init.d/S08samba
to activate the samba version 3.
Successfully terminated.

Sambaパッケージだけでなく、依存しているパッケージもいくつか自動でインストールされたようです。

これでごみ箱が使えるようになったかというと、最後のメッセージを見るに、いま入れたSambaは自動的には使用可能にならない模様。
指示に従い、/opt/etc/samba/smb.conf を作成してから /opt/etc/init.d/S08samba を書き換えることにします。

smb.confの設定

smb.confを一から作るのも大変なので、デフォルトのsmb.confを流用します。
/etc になくて探しましたが、/usr/lib で発見。
(ちなみにSambaが使うディレクトリは、smbd -b としてビルドオプションを表示させれば分かります)

元のSambaのバージョンは 3.0.10 だったので(smbd -Vで確認できます)、設定ファイルの互換性的には問題ないでしょうということで、ごみ箱に関する部分だけ書き加えます。

ユーザーの共有リソースのセクションに、下記赤字部を追加しました。
[***]
comment = ***
path = /share/***
invalid users =
read list =
write list = "***"
printable = no
vfs objects = recycle
recycle:repository = .recycle
recycle:keeptree = yes
recycle:versions = yes

init.d/S08sambaの編集

次に /opt/etc/init.d/S08samba を編集します。
とりあえず中身を見てみると、
#!/bin/sh

# set samba_active=1 to activate samba
samba_active=0

[ 1 = $samba_active ] || exit 0

if [ -n "`pidof smbd`" ] ; then
    echo "Stopping smbd:"
    killall smbd
fi

if [ -n "`pidof nmbd`" ] ; then
    echo "Stopping nmbd:"
    killall nmbd
fi

sleep 2

echo "Starting nmbd:"
/opt/sbin/nmbd -D
echo "Starting smbd:"
/opt/sbin/smbd -D

なるほど、このままではSambaが起動しないようになっています。
「samba_active=1」と書き換えます。他は触る必要はなさそう。

デフォルトのSambaを無効化

新しいSambaを起動する前に、古いSambaを止めましょう。
Web管理画面を Advanced Features > Advanced Configuration >Services と進み、nmbd と smbd のチェックボックスをoffにします。

Sambaの認証ファイルをコピー

このままでも新しいSambaは動きますが、共有フォルダにアクセスしようとしても認証が通りません。パスワードが格納されているファイルもコピーします。
# cp /usr/private/secrets.tdb /usr/private/smbpasswd /opt/etc/samba

新しいSambaを起動

# /opt/etc/init.d/S08samba

これでごみ箱も使えるようになったはずです。ファイルを削除すると、.recycleフォルダの中に出現するはず。

カスタムMSS2のパッケージ管理システム(optwareとipkg)

カスタムファームウェアを入れたNAS「Maxtor Shared Storage II」(MSS2)では、optwareというパッケージシステムが使えるようになります。

パッケージ管理コマンドipkgの使い方

パッケージ管理には ipkg というコマンドを使います。/opt/bin に入ってますが、パスは通ってないかも。
引数なしで実行すれば使い方が表示されます。とりあえず次の3つを知っておけば何とかなりそう。
# ipkg update
利用可能なパッケージの一覧をサーバーから取得
# ipkg list
利用可能なパッケージの一覧を表示
# ipkg install <パッケージ名>
指定したパッケージをダウンロードしてインストール

ipkg installでは依存するパッケージも自動的にダウンロードしてくれます。
大体Debianのパッケージ管理システムに似てるので、dpkgとかaptに慣れている方はすんなり使えるかと。

ちなみにどれくらいの数のパッケージがあるかと言うと、
# /opt/bin/ipkg list | wc -l
1423

なんと4桁です。ipkg list | grep *** みたいな使い方が現実的。

ディレクトリ構成

optware関係は /opt 以下に入ってるみたいです。なお、
# mount
/dev/sda6 on /share type ext3 (data=writeback)
none on /var/spool/cron type ramfs (rw)
/share/.optware on /opt type ext3 (rw)
/dev/sda2 on /mnt/__mxo_sda2 type ext3 (rw)
というわけで実体は /share すなわち /dev/sda6 に置かれており、システムの入っている sda1/2 とは別のパーティションです。
そのおかげで、たとえばカスタムファームウェアがバージョンアップした場合、イメージファイルを dd of=/dev/sda1 としても、インストールしたoptwareが消えたりせず安心です。

デーモン系はどうなっているかと言うと、

 起動時に /etc/init.d/rcS が実行される
   ↓
 rcS内で /etc/init.d/rc.optware start が実行される
   ↓
 rc.optware内で /opt/etc/rc.optware が実行される
   ↓
 rc.optware内で /opt/etc/init.d/S??* が実行される

という流れなので、optware関係は /opt 内で完結できる仕組みになっているようです。

パッケージをインストールしてみる

次記事で実際にパッケージをインストールしてみます。

[おまけ] ipkg update の実行結果

# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/armel
Downloading http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/mssii
Successfully terminated.