MacOSXで、spotlightから起動するGUIアプリの環境変数を設定する

Finderとかspotlightとかからアプリケーションを起動した場合、
環境変数の設定がどうなっているのかわからず困っていました。


当然ですが.bashrcとかに書いてもbashから起動しない場合は意味ないです。

Finderから起動する場合の環境変数

ぐぐったらよく出てきたのがこのやりかた。

~/.MacOSX/environment.plist

環境変数を書く。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

    <key>PATH</key>
    <string>/path/to/somewhere</string>

    <key>HOGE</key>
    <string>fuga</string>

</dict>
</plist>

Finderから起動する場合はこれでもいけるっぽいけど、
spotlightから起動した場合はやっぱりだめっぽい。

spotligthから起動する場合

で、英語のサイトとか見てると見つかったのがこのやりかた。

launchd.conf

/etc/launchd.conf
環境変数の設定を記述するとグローバルに有効になるらしい。

 setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
 setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin::/opt/local/bin:/usr/local/bin:

なんでここだけ、cshっぽい記法になるかよくわからん。。。

しっぱい

ちなみに、

 setenv PATH $PATH:~/bin

みたいに書いたら
環境変数PATHの値が、

 $PATH:~/bin

になってしまって、iTermとかも動かなくなってあせった。
ふつうにTerminal.appは動いたので直せたけど。。。

Scalaでアノテーションに値を設定する

コップ本を見てもよくわからなかったのでメモ
Javaだとこう書くけど、

    @Test(expected = FileNotFoundException.class)
    public void ファイルが存在しない() {
        target.open("notfound.txt");  // throws exception
    }

Scalaだとこうなる。

  @Test{ val expected = classOf[FileNotFoundException]}
  def ファイルが存在しない() {
    target.open("notfound.txt")  // throws exception
  }

classOfは@throwsアノテーションでも使うからわかるんだが、
valとか中括弧は若干わかりずらいな。。

http://stackoverflow.com/questions/1052282/how-to-set-an-expected-exception-using-scala-and-junit-4

MacのiTunesでCDが認識されない件

MaciTunesでCDを取り込むとき、なぜかCDが認識されないことがあります。
調べてみるとiTunesがCDのマウントに失敗しているようです。

こうなると、Finderでも認識されないので、
そのままでは取り出すこともできなくなりました。

マウントされてないならマウントすればいいじゃない
ということで、ディスクユーティリティでマウントしてあげたら
ちゃんとiTunesでもFinderでも認識されて、
CDを取り出すことができました。



ディスクユーティリティは、Spotlightで
「ディスクユーティリティ」と打てば出てきます。



mountコマンドで見たらちゃんとマウントされてました。
当たり前ですね。

fuzzhead[~] mount
/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local)
fdesc on /dev (fdesc, union)
map -hosts on /net (autofs, automounted)
map auto_home on /home (autofs, automounted)
/dev/disk1 on /Volumes/Supafunky II [Disc 1] (cddafs, local, nodev, nosuid, read-only, noowners)
fuzzhead[~] 

新型PS3の内蔵ハードディスクを交換した

torneを買ったけど、
標準の120GBハードディスクだと20時間弱しか録画できないので、
あまり実用的ではありませんでした。


そこで、外付けハードディスク買おうかなと思ったのですが、
USBポートが足りなかったり、バスパワーが使えないと
またコンセントがふさがるのが嫌だったりで、
内蔵ハードディスクを交換することにしました。


日立の2.5インチ500GBにしました。
どのメーカーでも価格差はほとんどなかったです。
http://www.hitachigst.com/portal/site/jp/products/travelstar/5K500.B/


やっぱし、2.5インチは割高ですね。
有楽町ビックで6000円くらいでした。
まあ、メーカー製外付けHDD+USBハブよりは安いだろうということで。


もともとのやつは東芝の120GBでした。
あんまり使い道ないな〜。



ちなみに交換はプラスドライバーだけで
かんたんにできました。


いちおう、いままで録画した番組も含めてバックアップしたのですが、
torneで録画した番組は、復元できませんでした(再生しようとするとエラーになる)。
PS3から見ると、torneも1アプリでしかないはずなので、
いけると思ったのですがダメでした。


ゲームのデータとかはOKでした。

Club DB2 行ってきた

DB2にはあまり良い思い出が無い気がするが、
ミックさんがはなしをされるということで参加してきた。

http://d.hatena.ne.jp/mickmack/20100529/1275111428

初心者向けSQLの新著が6月頃でるらしい。
今年の新人向け課題図書、もう発注してしまった。残念。

フツーにtorne買えた

まさかゲーム機の周辺機器が買えないなんてことはないだろうと
タカをくくっていたが、まったく買えなかったtorne
発売日から、都内の家電量販店とかをいろいろ探しまわったけど、
まったく在庫なし、次回入荷未定なかんじだった。


今日、食料品買いにジャスコ品川シーサイド)に行ったら、
ふつーに3、4個置いてた。その場で確保した。


amazonで見たら、まだ定価より若干高い(転売屋さん)ので、
品薄はつづいているようだ。しかし、ジャスコには
きっと結構前から在庫あったんだろうなー。


操作感はかなりいいかんじだけど、
1時間あたり、HDD約6GB使うらしいので、
標準のHDD120GBだと20時間弱というところか。
外付けHDDとかUSBハブとか買うと結局合計で2万円弱になるな。。

PS3のインターネット接続設定でフリーズする件(無線LAN)

PS3でインターネット接続設定をしたら、
無線LANSSIDを入力するところらへんで
フリーズしてしまいました。


結論から言うと、SSIDが全角文字列なのが原因だったようです。
AirMacExpressを使っているのですが、
こいつはウィザードに沿って設定してくと
例えば、ユーザが大豪院邪鬼だったとすると、
SSIDが「大豪院 のネットワーク」になります。


うちでもこんなかんじの設定になっていたのですが、
myairmacexpressみたいに設定してやると
さらっと設定完了しました。