2010-07-02

~/.MacOSX/environment.plist

環境変数の設定に関して。

環境変数を参照するプログラムはたいていターミナルから使う(シェルの中で起動する)。シェルの設定がそれなりにしてあれば問題にはならない。一方、Carbon Emacs は Finder から起動することになるので、シェルの設定の影響を受けない。つまり、Carbon Emacs が参照する環境変数は別の方法で設定しなければならない。

ほとんどの場合 Carbon Emacs のデフォルトで問題ないが、困ることもある。具体的には INFOPATH。ユーザの方でこれを設定をしないと、Carbon Emacs 自身で設定してしまう(*scratch* バッファで (getenv "INFOPATH") を評価するとわかる)。.emacs では上書きできないっぽい(環境変数が優先される)。そうなると、MacPorts なんかでインストールしたプログラムの Info が(Carbon Eamcsから)読めない。ま、近頃では Emacs の中から Info を読むこと自体、まれなんだがね。

ユーザのセッションごとの環境変数を設定する方法が、今回の表題に挙げた ~/.MacOSX/environment.plist に記述するというものだ。拡張子が主張するように Property List Editor で作るファイルだ。もっとも、実体は XML ファイルなのでテキストエディタで書くこともできる。以下がサンプル(長い行はバックスラッシュで折り返してある)。INFOPATH という環境変数を設定している。

(environment.plist)
1: <?xml version="1.0" encoding="UTF-8"?> 2: <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" \ "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3: <plist version="1.0"> 4: <dict> 5: <key>INFOPATH</key> 6: <string>/usr/local/info:/opt/local/share/info:\ /Applications/Emacs.app/Contents/Resources/extra/info:\ /Applications/Emacs.app/Contents/Resources/info:\ /usr/share/info</string> 7: </dict> 8: </plist>

記述に関して注意しなければならないことがある。このファイルはシェルが読むわけではないので、シェル特有の表記法は使えないってこと。たとえば、"~"だとか、シェル変数、環境変数の展開など。つまり、~/info、あるいは ${HOME}/info のようには書けない。ちょっと不便。

ちなみに、この Property List Editor は開発ツールに付属のものだ。開発ツールがインストールされていないと使えないアプリってこと。「それで良いのか、Apple!」と思わないでもないが、こんなことをするのは、unix 由来のプログラムを使うとき、それもターミナル(シェル)と無関係に使うときだけで、そういうユーザはもれなく開発ツールをインストールしているだろうから問題にはならないか。

関連リンク

twitter より (2010-07-01)

Powered by twtr2src.

2010-06-30

twitter より (2010-06-29)

  • 03:52  こういうのをきっかけに今の熱狂が冷めてくれないかしら。そうすれば白モデルの安定供給が早まるかもしれんし。 → 解決策は「そこを触るな」-- http://slashdot.jp/apple/article.pl?sid=10/06/28/0127229
  • 03:58  テストの際に気付かなかったとは思えないし、そもそも設計の段階でそういう現象が起きることは想定していただろう。マイナーだから押し切っちゃったんだろうね。ケースをつけるっていう回避策もあるってことで。
  • 04:01  Apple 製品ってこんなもんだよ。新しいデザインや技術を製品で試して、具合が悪ければ次の製品でバッサリ変える。iMac や iPod のデザインがどれだけ変遷してきたかを調べてみると良い。iPhone 5 では修正されてくるよ。
Powered by twtr2src.

2010-06-28

twitter より (2010-06-27)

  • 17:55  Tweetie のアップデートがきた! サイトにはまだ何も書いてないけど、レジストが不要になった。フリー版でも広告表示がオフにできる。→ http://www.atebits.com/tweetie-mac/
  • 18:04  ま、噂はしょせん噂だけど… OS 名を iOS にっていうのは良いかもな。 → 名称を「iOS」にリブランディングの噂 -- http://journal.mycom.co.jp/news/2010/06/27/005/?rt=na
  • 18:08  いっそのこと、Mac っていう名前もやめるっていうのはどうよ(・д・)?
  • 18:13  iPad の登場によって従来のノート型パソコンの必要性に疑問が生じた。個人用の情報機器としての何かは汎用である必要はないかもしれない、と。メールの読み書きや、youtube を見るのにキーボードや光学ディスクドライブは不要じゃないか、と。
  • 18:19  もう、汎用のパソコンっていう考え方を捨てても良いときかもしれん。「見る」ことを中心に据えるなら iPad で良い(というか、iPad が良い)。他にも、たとえば「(大量のテキストを)書く」ことに特化したものとか「プログラミング(コーディング)」専用とか。
  • 18:21  たとえの発想が貧困で申し訳ないけど、そういう専用機が用意されるっていう前提の下でなら、汎用機としての Mac は消滅しても良いかも、と思える。
  • 18:26  プログラマとしては「プログラミング(コーディング)」専用機とか、欲しいな。iCode とか。ま、普通に考えれば汎用機になってしまうんだけどなあ…いやいや、そうとは言い切れんか。そうなってしまうのは「汎用機の呪縛」に囚われているからだろう。
  • 18:29  アプリの実行環境は実機(iPhoneやiPad)があれば良いんだし、コードの入力、コンパイルに特化して良い。情報(開発ドキュメント)の参照なんかも「見る」専用機(iPadだ)があるじゃないか。
  • 18:34  ま、Apple はそんなもの作りそうにないけど。特定のユーザ集団に向けた製品は作らないだろう。Apple が作るとしたら、「みんなが(特定の)何かをする」ための製品だよな。
Powered by twtr2src.