MacBookのファームウェア・パスワードを解除する

知り合いが、MacBookのファームウェア・パスワードを忘れてしまって起動できないと相談に来ました。試しに起動してみると、たしかに下のような画面が表示されて起動できません。

アップルのサイトによると、Open Firmware Password Protection はインストールディスクの /Applications/Utilities/ に収録されていて次のように各種操作が無効になるらしい。

Intel ベースの Macintosh で Open Firmware Password Protection をオンにすると、次のように動作します。
  • 「C」キーを使って CD-ROM ディスクから起動する機能を無効にします。
  • 「N」キーを使って NetBoot サーバから起動する機能を無効にします。
  • 「T」キーを使って (この機能を利用できるコンピュータ上で) ターゲットディスクモードで起動する機能を無効にします。
  • 「D」キーを使ってインストール DVD の Diagnostic ボリュームから起動する機能を無効にします。
  • 起動時に「command」キーと「S」キーを同時に押してシングルユーザモードで起動する機能を無効にします。
  • 起動時に「command」、「option」、「P」、「R」の各キーを同時に押してパラメタ RAM (PRAM) をリセットする機能を無効にします。
  • 起動時に「option」キーを押して「Startup Manager」にアクセスするときにパスワードを要求します。

パスワードが分からないので、本当にDVDからのブートもPRAMクリアさえもできない…
なかなか手強いなぁと思いつつ、しばらく格闘し続けること数十分、最終的に以下の方法でリセットすることができました。

  1. メモリを1枚抜いて、メモリ搭載量を変更する。
  2. 「command」、「option」、「P」、「R」の各キーを同時に押して起動する。
  3. ずっと押しっぱなしにしていると、画面が黒くなって再起動する。
    これを3回繰り返す(この間ずっと押しっぱなし)。

メモリの搭載量を変えるところがポイントみたいで、今回は2枚刺さってたので1枚抜いたらOKでした。1枚しか刺さっていない場合は、別途メモリを追加する必要があるようです。
ついでにHDDも容量の大きい物に交換して作業完了。問題なく動作してるようでホッとしました。というわけで、今回の教訓は、「BIOS(EFI)パスワードをかけたくらいで安心してはいけません」ということ。

# ちなみにThinkPadは専用のセキュリティチップを積んでいてもっと手強いんだけど、マザーボードの配線をショートさせるとリセットできるらしい(危険)。

Mac mini Pro


 

Mac Mod Lab. New Mac Mini Pro:

Mac Mod Lab.の新作「Mac mini Pro」
Mac mini用のケースなんだけど、とても綺麗に収まっていてProの雰囲気を醸し出している。見た目だけじゃなくて、ちゃんと実用性も考えられていて、3.5インチHDDをケースに内蔵可能だったり、電源スイッチやUSBポートが前面にあったりする。

これはいいなぁ、ぜひ売り出して欲しい。

Macでコマンドラインからサウンド再生

Macで音声ファイルを再生しようとすると、いちいちiTunesが立ち上がってうざいです。それにコマンドラインから再生したくても、標準ではそういうコマンドは入っていないんですね。
仕方がないので、play.pyというPythonスクリプトを書いて再生できるようにしました。

#!/usr/bin/env python
import sys
from AppKit import NSSound

class Sound:
    """ ref. http://nodebox.net/code/index.php/PyObjC """
    def __init__(self, file):
        self._sound = NSSound.alloc()
        self._sound.initWithContentsOfFile_byReference_(file, True)
    def play(self): self._sound.play()
    def stop(self): self._sound.stop()
    def is_playing(self): return self._sound.isPlaying()

if __name__ == '__main__':
    sound = Sound(sys.argv[1])
    sound.play()
    while True:
        if not sound.is_playing():
            break
$ python play.py test.wav

というわけで、無事にこのファイルをメール着信時に鳴らすことに成功したのでした。

http://lorien.sdsu.edu/~carroll/audio/ni.wav

Ni!

unison-2.13.16のMacPortfile

MacPorts の Unison が 2.27.57 にバージョンアップしてて、Ubuntu や Fedora と整合性がとれなくて困ったので下の Portfile を用意してインストールしました。Unison はバージョンが違うと同期できないのが玉に瑕。上位互換にしてくれると嬉しいのですが。。

# $Id: Portfile 21859 2007-02-10 17:04:17Z rhwood@macports.org $

PortSystem        1.0
name              unison
version           2.13.16
categories        net
maintainers       eridius@macports.org
description       Unison File Synchronizer
long_description  Unison is a file-synchronization tool for Unix and \
                  Windows. It allows two replicas of a collection of \
                  files and directories to be stored on different hosts \
                  (or different disks on the same host), modified \
                  separately, and then brought up to date by propagating \
                  the changes in each replica to the other.
homepage          http://www.cis.upenn.edu/~bcpierce/unison/
master_sites      ${homepage}download/releases/unison-${version}/
platforms         darwin openbsd
checksums         md5 a79bf5f4ebf2a1eaf15b1ac97f827374
patchfiles        patch-Makefile

use_configure	no

build.args		UISTYLE=text NATIVE=true THREADS=true
depends_lib		bin:camlp4:ocaml

destroot.args	PREFIX=${prefix} UISTYLE=text NATIVE=true THREADS=true

variant x11 {
	depends_lib-append		port:lablgtk2

	build.args-delete		UISTYLE=text
	build.args-append		UISTYLE=gtk2

	destroot.args-delete	UISTYLE=text
	destroot.args-append	UISTYLE=gtk2
}

variant aqua {
	if { ${xcodeversion} == "2.1" } {
		patchfiles-append patch-Makefile.OCaml
	}
	build.args-delete		UISTYLE=text
	build.args-append		UISTYLE=mac
	destroot {
		xinstall -d -m 0755 ${destroot}/Applications/MacPorts
		system "cd ${worksrcpath}/uimac/build && mv Default/* . || true"
		file copy ${worksrcpath}/uimac/build/Unison.app \
			${destroot}/Applications/MacPorts/
	}
}

ThunderbirdのメールをSpotlightとGoogle デスクトップで検索する方法

会社ではMacBookを使っているのですが、SpotlightでThunderbirdのメールが検索できなくて、ずっと不便に感じていました。先日、日本語β版が公開された「Google Desktop for Mac」もすぐに試してみたのですが、残念なことにThunderbirdのメール検索には対応していませんでした。

しかし、ここであきらめてはいけません。Thunderbird用のmdimporterがbugzilla上に公開されており、これをインストールして適切に設定することで、SpotlightとGoogle デスクトップからThunderbirdのメールを検索できるようになります。

SpotlightとGoogle Desktopで検索
SpotlightとGoogle Desktopで検索 posted by (C)weboo

情報漏洩にならない適切な検索語が思いつかなかったので、サンプルがあれですが…
設定手順を以下に説明しますが、α版と言っていいレベルのものですので、作業は必ず自己責任でお願いします。今のところ、自分の環境では特に問題は発生していませんけども。

  1. Thunderbird.mdimporter をダウンロードしてインストールします。解凍して現れる Thunderbird.mdimporter を /Library/Spotlight に移動してください。これは、ThunderbirdのメールをSpotlightにどのようにインデクシングしたら良いかを知らせるためのプラグインです。
  2. 次にThunderbirdを起動して、[環境設定]-[詳細]-[設定エディタ]を開きます。mail.spotlight.enable の項目を探して、値を true に設定します(ダブルクリックするとtrueとfalseが入れ替わります)。
  3. ターミナルから以下のコマンドを入力して、きちんと登録されているか確認します。"/Library/Spotlight/Thunderbird.mdimporter"という行があれば正常に登録されています。
    /usr/bin/mdimport -L
  4. Macを再起動してThunderbirdを起動します。
  5. 試しにSpotlightでメールに含まれる単語で検索してみてください。下のようにThunderbirdのアイコンとともに検索結果が表示されれば成功です。インデックスの生成にはしばらく時間がかかるので、すぐに表示されなくても焦らず、少し時間をおいてから試してみてください。

ATOK 2007 for Mac 買った

Mac標準のことえりがあまりにも使えないので、ATOK 2007 for Macを購入しました。
はるか昔にLinux版のATOKを持ってたので、ダウンロード版を優待価格で買えました。いやー、見違えるように変換効率が良くなってストレスもかなり減りましたよ。しかも動作も軽くなった気がする。

とかを参考に学習データを消したり、いろいろ試してみたのだけど、変換が遅いままなのであきらめました。最初からATOKにしてればよかった。これはオススメ。

ATOK 2007 for Mac 通常版
ATOK 2007 for Mac 通常版
posted with amazlet on 07.08.21
ジャストシステム (2007/07/20)
売り上げランキング: 580

Sad Mac

会社で使っているMacBookで、突然こんな画面が表示されて操作をまったく受け付けなくなりました。

初めて見た…

ThunderbirdでEmacsキーバインドを使う方法

僕は、Thunderbirdでもメールを書く時にEmacsキーバインドが使えるようにしています。下記のページにその方法が紹介されているのですが、バージョンアップする度に設定し直さなければならずとても面倒です。

Thunderbird で Emacs like なキーバインド - 徒然なるままに

なので、自分でスクリプトでも書こうかなと思っていたら、既に同じことをしている人がいました。Mac OSX専用みたいですけど、僕にはこれで充分です。感謝!


使い方は、このファイルをダウンロードして次のように実行するだけです。

http://toscano.org/~pete/blog/wp-content/addemacsbindings.py

$ python addemacsbindings.py Thunderbird

描画が速くなってSafariライクになったiTerm 0.9

Mac OSX用のターミナルソフトウェア iTerm 0.9 がリリースされました。

さっそくダウンロードして使ってみましたが、だいぶ描画が速くなっているようです。また、Safariっぽい見た目になってカッコいい感じ。しばらく標準ターミナルに浮気していたけど、また戻ってみようかな。

ー 変更点 ー

  • A brand new Safari-like tab look.
  • Growl support.
  • Support for Unsanity's Smart Crash Reporter.
  • Added support for many xterm's window size/position escape sequences.
  • Enhanced stability.
  • Fixes for cmd-click URL selection.
  • Many many bug fixes and GUI enhancements.

Mac OS Xのログインシェルをzshに変更

Mac OSX ログインシェルの変更方法 - Hasta Pronto.org

今 Screen の勉強してるんだけど、デフォルトで zsh が使いたかったので調べてみた。

  1. 「アプリケーション」→「ユーティリティ」ディレクトリ内の「NetInfo マネージャ」を開く
  2. NetInfo マネージャの左下にある鍵マークを押して管理者のユーザー名とパスワードを入力
  3. 「users」→「ユーザー名」を選択、プロパティ欄で「shell」を選び、値に「/bin/bash」or「/bin/tcsh」or「/bin/zsh」を入力
  4. 一度ログアウトしてから、ログインし直すと変更したシェルがデフォルトになっている

これにて一件落着。

ターミナルには、iTermを使ってます。ちゃんと半透明になってカッチョイイんだけど、描画がちょっと遅い。スクロールでけっこうイライラするので、もう少し軽いのを物色中。やっぱり、X11上でrxvtとかmltermとかがいいのかな…