Beginning OS X 10.5/運用編

出典: Beginning OS X

Beginning OS X 10.5 > 運用編

目次

[編集] 総則

[編集] パッケージシステムの混用は避けるべき

MacPorts は基本的に自己完結を是としており、他のパッケージとの協調はほとんど考慮されていない。これは Fink などでも同じで、根本的には UNIX 環境自体の制約に由来するところが大きい。たとえば X11 の app-defaults に関する検索パスはユニークなリソースだが、Fink はそれを占有し、他に明け渡さない排他的な設計になっている。

結局のところ、複数のベンダーから提供されている UNIX バイナリパッケージを同時に幾つも導入していくと、必ずある段階で問題が生じることになる。利用するパッケージシステムを一度決めたなら、極力それ以外は使わないようにするのがよい。特に、/usr/local 以下にライブラリを勝手にインストールするようなものは避けること。

[編集] OS の上書きインストールは避けるべき

Mac OS X をインストールする際に既存の OS 環境上に上書きする「Mac OS X をアップグレード」をおこなうと、トラブルに見舞われやすいようだ。ファイルのパーミッションを変更しようとすると Finder が落ちるなどという問題のほか、個人的には Spotlight の検索に取りこぼしが発生したり、Finder と mds が高負荷状態になる等の問題に遭遇し、大変難儀した。「消去してからインストール」もしくは「アーカイブしてからインストール」を選択すべきである。

なお、「アーカイブしてからインストール」には二種類あり、「ユーザとネットワークの設定をそのまま残す」かどうかを選択できる。このとき残すを選ぶと、何故かホームディレクトリ外にインストールしたライブラリや IM の類までがそのまま消されずに残されてしまい、クリーンインストールしたことにならないので注意。

ユーザの gid が staff(20) に統一されているかどうかを見ればおそらく、クリーンインストールできたかどうかを判別できる。(Mac OS X 10.4 までは uid と同じ gid が付けられていた。)

[編集] MacPorts

[編集] アーカイブモードを有効にするには

MacPorts のバージョン 1.3.1 以降では、アーカイブモードがデフォルトで無効となっている。

アーカイブモードとは ports をインストールする際にバイナリアーカイブとしても保存しておく機能のことで、一度インストールしたことのある ports を再度インストールするような場合にソースから毎回リビルドするのではなく、バイナリアーカイブからの展開だけで済ますことができるようになる。また、別のマシンにこのバイナリアーカイブをコピーすることで、ports のインストールを素早くおこなうといった運用が可能となる。バイナリアーカイブは /opt/local/var/macports/packages ディレクトリ内に格納される。

アーカイブモードを有効にしたい場合には、macports.conf 内にある portarchivemode の項目を no から yes に書き換えること。

[/opt/local/etc/macports/macports.conf]
...
# Create and use binary archive packages for installation/reinstallation ease
portarchivemode         yes
...

[編集] 並列ビルドを有効にするには

MacPorts のビルドジョブはデフォルトで 1 つとなっているが、マルチプロセッサ環境であれば、並列ビルドを有効にすることで ports のビルドを効率的におこなうことができる。

macports.conf 中の buildmakejobs を 0 に設定することで、コア数に応じたビルドプロセスが生成される。

[/opt/local/etc/macports/macports.conf]
...
# Number of simultaneous make jobs (commands) to use when building ports
buildmakejobs           0
...

ただし、並列ビルドは Portfile 中で 「use_parallel_build yes」と明示的に指定された ports のみが対象となる。これは、並列ビルドに対応していないソフトウェアが依然存在するため。

[編集] パッケージの継続的なアップデート方法

MacPorts 本体および ports のデータベースを最新の状態に更新するには、

$ sudo port -d selfupdate

とする。(-d はデバッグメッセージを出力するためのオプションで、省略可。)

インストール済みの ports のうち、更新のあったものは

$ port outdated

にて一覧表示できるので、必要に応じて

$ sudo port upgrade <port 名>

とすることで、指定した port を最新のものに置き換えることができる。なお、

$ sudo port upgrade outdated

とすれば、古い状態の ports を一括してアップデートすることもできる。

[編集] 特定の状況下で port upgrade が上手く動かない問題

Mar 28, 2007 現在、特定の状況で port upgrade をおこなうと、パッケージシステムが依存関係の情報を勘違いしてしまい、本来必要のない port をインストールしようとすることがあるようだ。(たとえば teTeX の代わりに pTeX を導入している状態で、doxygen への依存関係を持つ ports の upgrade を試みた場合などに、teTeX のインストールが試みられてしまう。doxygen 自体は bin:tex:teTeX への依存関係を持つにもかかわらず、である。MacPorts 1.4.0 にて確認。)

仕方がないので、この問題が修正されるまでは port deactivate <port 名> && port install <port 名> などとして、個別にアップグレードをおこなうようにすることで回避。

参考: Dependency Problem of Upgrading Gnuplot: A Possible Bug

[編集] 良く使うコマンド

大体、以下のようなコマンドを覚えておけば日常的には困らない筈。

MacPorts 本体および ports のデータベースを最新の状態に更新する:

$ sudo port -d selfupdate

アップグレード対象となる ports の一覧を表示:

$ port outdated

古い ports を一括してアップグレード:

$ sudo port upgrade outdated

ソフトウェアのアップグレードをおこなった場合、旧バージョンは (いつでも戻せるように) inactive な状態として残される。

inactive な ports を全てアンインストール:

$ sudo port -uf uninstall

nkf のみをアップグレード:

$ sudo port upgrade nkf

nkf をアンインストール:

$ sudo port uninstall nkf

nkf のビルドに使用したファイルを消去 生成されたアーカイブ (バイナリパッケージ) も消去:

$ sudo port clean nkf
$ sudo port clean --archive nkf

ports の全一覧を表示:

$ port list

インストール済みの ports の一覧を表示:

$ port installed

"font" という文字列の含まれる ports の一覧を表示:

$ port search font

pTeX で指定可能な variants を表示:

$ port variants pTeX

pTeX に含まれるファイル一覧を表示:

$ port contents pTeX

指定したファイルは、一体どの ports に由来するのか:

$ port provides /opt/local/bin/nkf

そのほか、何らかの理由で PortIndex が正常に更新されておらず、存在しているはずの ports が見つからないと言われる場合には、

$ cd /opt/local/var/macports/sources/rsync.macports.org/release/ports
$ sudo portindex

として、ローカル側でインデックスの更新を試みること。

[編集] MacPorts のアンインストール方法

1. ログインシェルをデフォルトに戻す

ログインシェルを OS 標準の /bin/bash から MacPorts で導入したシェルに変更しているなら、コマンドライン上から

$ chpass -s /bin/bash

としてログインシェルをデフォルトに戻す。何らかのトラブルで MacPorts で導入したシェルが起動できず、ターミナルが開けないといった場合には、

  1. 「システム環境設定」より「アカウント」を開く。
  2. ウインドウ左下に表示される鍵のアイコンをクリックし、編集可能にする。
  3. 画面左部のアカウント一覧から変更したいアカウントを選び、右クリックで表示されるメニューより「詳細オプション」を選択する。
  4. ログインシェルを /bin/bash に戻す。

2. デーモンを取り除く

MacPorts で導入したデーモン (dbus, canna, etc.) があれば、以下のようなコマンドで全て停止させておく。

$ find /Library/LaunchDaemons/org.macports.* -print0 | sudo xargs -0 -L1 launchctl unload -w

インストールされていないデーモンについては unload が失敗した旨のエラーが表示されるが問題はない。

3. ディレクトリを削除する

以下のようにしてインストール済みの ports を全て取り除いたあと、/opt ディレクトリを削除する。

$ sudo port deactivate active

ここで /opt ディレクトリの削除前に deactivate しているのは、/opt ディレクトリの外部にファイルをインストールする ports が若干存在することへの配慮から。

[編集] Dock

[編集] Dock の立体的な反射効果をなくすには

$ defaults write com.apple.dock no-glass -boolean YES
$ killall Dock

http://www.osnews.com/story.php/18817/Mac-OS-X-Leopard-Gets-Last-Minute-Tweaks/

の初代 Mac mini (ATI Radeon 9200 32MB, 1920x1600x32@60Hz) では、ウインドウを Dock に出し入れする際に画面がちらつくという、困った問題が起きるのだが、この設定をおこなうと何故かその現象がおさまる。

[編集] ことえり

[編集] ことえりのキーボードショートカットが Emacs と衝突する

ことえりの環境設定で「Windows 風のキー操作」にチェックを入れると、Emacs における貼り付けのキーバインド C-y と衝突してしまい、正常に貼り付けができなくなってしまう。

[編集] egbridge Universal 2

[編集] egbridge のキーボードショートカットが Emacs と衝突する

キーバインドを MSIME 風にすると CTRL+C などのキーバインドが設定されてしまい、emacs を扱う上で支障が生じるので注意。また、ATOK17, ATOK2005, ATOK2006 風にすると今度は CTRL+A などのキーバインドが設定されてしまう。

(個人的には、標準キーバインド + ATOK2006 風ローマ字変換 の設定で使うようにしている。)

[編集] egbridge が OS X 10.5 Leopard 上で不安定

動作が不安定のため、個人的には現在「ことえり」をメインに使っている。(Jan 28, 2008)

[編集] バックアップ

Mac OS X 10.5 では、バックアップのために hfsrsync や psync を騙し騙し使う必要は最早ほとんどない。これらのソフトウェアには問題があるので、以後の新規利用は推奨しない。

[編集] Time Machine

日常的なバックアップは、OS 標準の機能である Time Machine だけで事が足りる。

  • 大容量の外付け HDD を別途調達する必要がある。

[編集] ディスクの丸ごとコピー

あるディスクの内容を別のディスクに丸ごと移設したい場合には、「ディスクユーティリティ」を使っておこなうのが簡単。

  1. まず、OS X のインストールディスクを DVD ドライブに挿入し、キーボードの C を押しながら Mac を立ち上げる。
  2. DVD からインストーラが起動したら、メニューより「ディスクユーティリティ」を立ち上げる。
  3. 画面右にある「復元」のタブをクリックする。
  4. 「ソース:」としてコピー元となるディスクを指定する。
  5. 「復元先:」としてコピー先となるディスクを指定する。
  6. コピー元・コピー先のディスクを取り違えていないか十分に確認ののち、「復元」のボタンを押す。

コピー先のディスクから OS を起動するようにしたい場合には、ディスクユーティリティを終了したのち、メニューより「起動ディスク」を立ち上げて適宜設定すればよい。

なお、PowerPC-based Macs では USB 接続の HDD からはブートできないので、外付け HDD の新規購入を考えているならば、Mac OS X のブートに対応した Firewire (aka. IEEE1394, iLink) 接続のものにするのがよい。

[編集] sshd

[編集] X11 のフォワーディングをおこなうには

X11 のフォワーディングを常時利用したい場合には、/etc/ ディレクトリ内にある ssh 関連の設定ファイルを以下のように設定する。

[/etc/sshd_config]
...
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
...
[/etc/ssh_config]
...
#   ForwardX11 no
ForwardX11 yes
ForwardX11Trusted yes
#   RhostsRSAAuthentication no
...

X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X11 authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring if the ForwardX11Trusted option is also enabled. — ssh_config(5)

OS X 10.4 以降の場合、sshd は launchd 経由で起動されるため、再起動の必要はない。

[編集] X11.app

[編集] 開発版の X11 を導入するには

10.5 Leopard に標準添付の X11 (Xquartz 1.2) には多数の問題が報告されており、そのうちの幾つかは開発版で修正されている。

特に、Xquartz 1.2a4 以降のバージョンでは gtk や qt を使ったアプリケーションを用いた際に異常終了してしまう深刻なバグが修正されており、これらのツールキットを使ったアプリケーションを用いるならば、開発版の導入は現状ほぼ必須である。

X11 の開発版は Xquartz project にて配布されている。

[編集] マウスポインタの下にきたウインドウを自動的にアクティブにするには

マウスポインタの下にきたウインドウを自動的にアクティブにしたい場合には、以下のコマンドを入力するとよい。 (設定した内容は ~/Library/Preferences/org.x.x11.plist に格納される。)

$ defaults write org.x.X11 wm_ffm -bool true

参考: [Xquartz-dev] Latest xquartz kills focus follows mouse

[編集] X11 の起動時に自動実行されるアプリケーションを変更するには

OS X 10.5 の X11 では、Finder 上から X11.app を直接開いた際に /usr/X11/bin/xterm が毎回起動されるようになっている。これを urxvt に変更するには以下のようにする。

X11 2.1.1 以後:
$ defaults write org.x.X11 app_to_run "/opt/local/bin/urxvt"

なお、このプログラムは login shell を介することなく呼び出される点に注意。(すなわち .bash_profile が読み込まれない。)

この仕様が困る場合には以下のようにして回避できる。

$ defaults write org.x.X11 app_to_run "/bin/bash -l -c /opt/local/bin/urxvt"

もちろん、こうした機能が必要なければ空文字列を渡しておいてもよい。

$ defaults write org.x.X11 app_to_run ""

[編集] X11 のメニューから起動したアプリケーションに環境変数が正常に渡らない

OS X 10.5 の X11 においてメニューからアプリケーションを呼び出した際、呼び出されたアプリケーションに environment.plist にて設定される環境変数が正しく渡らない。特に XMODIFIERS が設定されないことで日本語入力が阻害されてしまう。

この問題に関しては、とりあえず以下のようなヘルパースクリプトを介在させることで回避可能。(X11 2.1.3 以降専用。2.1.1 までの場合、一行目を「#!/bin/bash --login」とする必要がある。)

[/opt/local/bin/urxvt-helper.sh]
#!/bin/bash
export XMODIFIERS="@im=kinput2"
/opt/local/bin/urxvt
$ sudo chmod 755 /opt/local/bin/urxvt-helper.sh

Image:urxvt-helper.sh.png

[編集] シェル

[編集] ログインシェルを変更するには

ログインシェルを標準 (/bin/bash) から任意のものに変更するには、まず /etc/shells を編集し、変更したいシェルのエントリを末尾に追加する。

MacPorts の bash を使いたい場合には、/opt/local/bin/bash を追加。

 [/etc/shells]
 ...
 /opt/local/bin/bash

次に、chpass コマンドを使ってユーザのログインシェルを変更する。

$ chpass -s /opt/local/bin/bash

再ログインすれば、指定したシェルがログインシェルとして起動されているはず。

$ echo $SHELL
/opt/local/bin/bash

[編集] ログインシェルが起動できなくなった場合には

何らかのトラブルで別途インストールしたシェルが起動できなくなるなどした場合には、以下の方法で回復を図ること。

  1. 「システム環境設定」より「アカウント」を開く。
  2. ウインドウ左下に表示される鍵のアイコンをクリックし、編集可能にする。
  3. 画面左部のアカウント一覧から変更したいアカウントを選び、右クリックで表示されるメニューより「詳細オプション」を選択する。
  4. ログインシェルを /bin/bash に戻す。

[編集] kinput2 +canna

[編集] canna のユーザ辞書に単語を逐次登録するには

Home を押せばなんとかなる。

[編集] canna のユーザ辞書に単語を一括登録するには

まず、mkdic コマンドでユーザ辞書を作成。

$ mkdic user

(辞書の実ファイルは /opt/local/var/db/canna/dic/user/<ユーザ名> に配置される。)

canna サーバに接続中の canna クライアントがあれば、ここで一旦再起動/再接続。 (再接続しなければ、新しく作成した辞書にアクセスできない。)

辞書に単語を登録するには addwords コマンドを使う。 渡すテキストデータは複数行にわたってよいが、EUC-JP でエンコードされていなければならない。

(e.g.)
$ echo "うたき #T35 御嶽" | nkf -e | addwords user

(品詞表は canna の pdf ドキュメント中に記載されている。)

辞書に登録された単語の一覧は catdic コマンドで表示できる。

$ catdic user | nkf -w
うたき #T35 御嶽

[編集] canna のローマ字変換ルールを変更するには

たとえば標準 (la→ら) から ATOK 準拠 (la→ぁ) に変更する場合。

$ cp /opt/local/share/canna/default.canna ~/.canna
$ chmod u+w ~/.canna
[~/.canna]
...
; (setq romkana-table "default.cbp")
(setq romkana-table "just.cbp")
...

[編集] fontconfig

[編集] GTK2+ のデフォルトフォントをヒラギノに変更するには

デフォルトのままでも日本語表示は可能だが、フォントの選択が良くないためか文字のベースラインが揃わずに踊ってしまう。これが好ましくない場合には、以下のようにして明示的にヒラギノを利用するように設定するとよい。

[/opt/local/etc/fonts/conf.d/63-hiragino.conf]
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Hiragino Mincho Pro</family>
        </prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Hiragino Kaku Gothic Pro</family>
        </prefer>
    </alias>
    <match target="font">
        <test name="family" compare="eq">
            <string>ヒラギノ明朝 Pro</string>
            <string>ヒラギノ明朝 ProN</string>
            <string>ヒラギノ丸ゴ Pro</string>
            <string>ヒラギノ丸ゴ ProN</string>
            <string>ヒラギノ角ゴ Pro</string>
            <string>ヒラギノ角ゴ ProN</string>
            <string>ヒラギノ角ゴ Std</string>
            <string>ヒラギノ角ゴ StdN</string>
            <string>Hiragino Mincho Pro</string>
            <string>Hiragino Mincho ProN</string>
            <string>Hiragino Maru Gothic Pro</string>
            <string>Hiragino Maru Gothic ProN</string>
            <string>Hiragino Kaku Gothic Pro</string>
            <string>Hiragino Kaku Gothic ProN</string>
            <string>Hiragino Kaku Gothic Std</string>
            <string>Hiragino Kaku Gothic StdN</string>
        </test>
        <edit name="hinting" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="embeddedbitmap" mode="assign">
            <bool>false</bool>
        </edit>
    </match>
</fontconfig>

ヒラギノは 10 ポイント前後のサイズのとき内蔵のビットマップフォントが用いられるが、上記設定例では常にアウトラインからのグリフ生成をおこなうよう指定している。

[編集] フォントのサーチパスを追加するには

MacPorts の fontconfig におけるデフォルトのフォントサーチパスは /usr/share/fonts, /Library/Fonts, /Network/Library/Fonts, /System/Library/Fonts, /usr/X11R6/lib/X11/fonts, /opt/local/share/fonts, ~/.fonts である。これら以外のディレクトリをフォントのサーチパスに含めたい場合には、フォント設定ファイル local.conf を作成し、パスを追加すること。

たとえば /usr/local/share/fonts および ~/Library/Fonts にフォントを置いているような場合には、以下のようにする。

[/opt/local/etc/fonts/local.conf]
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/usr/local/share/fonts</dir>
    <dir>~/Library/Fonts</dir>
</fontconfig>

新しくフォントをインストールした後には、fc-cache を用いてフォントキャッシュを再生成しておくとよい。

$ sudo /opt/local/bin/fc-cache -fv

[編集] ghostscript-fonts-hiragino

[編集] インストール時にヒラギノが見つからないとのエラーが出る場合

ghostscript-fonts-hiragino の ports のインストール時に、

---> Building pTeX with target all
Please place "????????????角???? Pro W3.otf" in /System/Library/Fonts and restart the build. 

というようなエラーが表示される場合には、シェルと環境変数 LANG の設定を確認すること。

Sep 25, 2006 現在、シェルに bash 以外のもの (zsh, tcsh を含む) を使用し、なおかつ、環境変数 LANG を ja_JP.eucJP と設定している場合に上記エラーの発生することが確認されている。

この問題を回避するには、以下のように LANG を一時的に変更するなどすればよい。

zsh, ksh, sh の場合:
$ export LANG=C 
$ sudo port install ghostscript-fonts-hiragino

tcsh, csh の場合:
$ setenv LANG C
$ sudo port install ghostscript-fonts-hiragino

ここで、LANG の内容を C の代わりに ja_JP.UTF-8 とするのでも OK。

ちなみに、この問題は bash では発生しない。bash 以外のシェルには日本語処理に関する問題があるのかもしれない。

[編集] pTeX

[編集] 組版がうまくいかない場合には

  • TeX ソースのエンコードが pTeX 本体の扱えるエンコードと一致しているかどうかを確認。(よくある)
    • emacs 上では C-x RET f euc-jp RET とすることで、文書のエンコードを EUC に変換できる。C-x RET f utf-8 RET で UTF-8 に変換できる。また、platex のオプションに -kanji=euc や -kanji=utf8 を指定することで、pTeX が処理できるソースのエンコードを一時的に変更できる。
  • 設定をいじった後、mktexlsr し忘れていたとか。(これもよくある)
  • TeX ソースの記述間違い。http://homepage.mac.com/xyoshiki/tex.html などが大変参考になる。

[編集] dvips(k) で生成した PostScript の和文フォントが preview.app で文字化けする問題

dvips(k) で生成した PostScript ファイルを preview.app で見ようとすると、エラーが出て開けなかったり、和文部分が文字化けして表示されてしまうことがある。これは preview.app が一般的な和文 PostScript フォント (Ryumin-Light-H など) を正常に扱えないため。

ghostscript では ghostscript-fonts-hiragino をインストールすることで処理が可能となる。

つまるところ、dvips(k) で生成した PostScript ファイルは ps2pdf に渡すなど中間ファイルとしての利用にとどめ、不特定な相手との文書交換用途には dvipdfmx にて出力した (フォント埋め込み済みの) PDF ファイルを使用するのが望ましい。

[編集] MacPorts の pTeX がデフォルト動作としてヒラギノを埋め込む理由 (TeX マニア向け解説)

MacPorts の pTeX では、dvipdfmx で作成した PDF ファイルにはデフォルトでフォントのサブセットを埋め込むようにしている。これはサイズよりも表示の確実性 (どんな環境でも問題なく表示可能とする & wysiwyg を徹底する) を最優先に考えている為である。(他のパッケージシステムを使ってインストールできる pTeX の中には埋め込まないのがデフォルトのものもあるようだ。)

このポリシーに至った理由には複数あるのだが、技術的な判りよい理由を挙げるならば、たとえばヒラギノと小塚 (Acrobat のフォント) では字形の異なる文字が存在するという問題がある。フォントを PDF に埋め込んでおかない限り、和文テキストはモリサワの龍明/中ゴシックのフォント名を経て最終的に小塚へとマッピングされ、Acrobat 上で表示をおこなった時には想定外の字形に化けてしまうことになる。(こうした差異は絵文字の類でも顕著に見受けられる。) つまり、オーサリングをヒラギノベースでおこなう以上は小塚へのマッピングを安易におこなうのではなく、フォントを PDF に埋め込んでおくのが正道であるといえる。

また、未検証ではあるがおそらく Adobe Japan 1-5 で新規追加された 4,873 文字に関しては、フォントを PDF 中に埋め込んでおかない限り、古いバージョン (7.0 以前) の Acrobat 上では正常に表示できないのではないかとも思われる。

MacPorts の pTeX がデフォルト動作としてヒラギノを埋め込んでいるのは、こうした理由からである。

[編集] GTK2+

[編集] GTK2+ のビルド時に libXrandr.2.0.0.dylib が見つからない旨のエラーがでる場合

Mac OS X 10.5.2 がプリインストールされている機種の場合、含まれる X11 のバージョンが新しいもの (> 2.0) に置き換えられており、libXrandr.2.1.0.dylib は存在するが libXrandr.2.0.0.dylib が含まれないという構成になっている。にもかかわらず、/usr/X11/lib/libXrandr.la の内容が 2.0.0 のライブラリに依存する内容のままとなっていることで、問題が生じているようだ。

そのうち修正が入るものと思われるが、とりあえずは

$ sudo ln -s libXrandr.2.dylib /usr/X11/lib/libXrandr.2.0.0.dylib

などとすることで回避。--66.75.26.228 2008年3月21日 (金) 18:15 (JST)

[編集] cairo-quartz-font バックエンドを使った cairo, pango で日本語が表示できなくなる問題

2008年6月8日以降、cairo では cairo-quartz-font.pc が有効にされた (r37447) が、この機能を使ってビルドした pango では日本語を含む非ラテン文字のデフォルトフォント選択が上手く動作せず、正常に文字が表示されなくなるようだ。結果、GTK2+ アプリケーション上で日本語が一切表示されなくなってしまう。

回避策としては、cairo-quartz-font.pc を一旦削除し、quartz-font バックエンドを使わないかたちで pango をリビルド。

$ sudo rm /opt/local/lib/pkgconfig/cairo-quartz-font.pc
$ sudo port uninstall -f pango
($ sudo port clean --archive pango)
$ sudo port install pango

[編集] ImageMagick

[編集] 画像ファイルを EPS Level 2 に変換するには

TeX 文書に貼り付ける EPS ファイルは、EPS Level 2 にしておくのがよい。デフォルトの Level 1 と比較してファイルサイズが小さくなり、またレンダリングも早くなる。

(e.g.)
$ convert foo.jpg eps2:foo.eps

[編集] Spotlight

[編集] Spotlight のキーボードショートカットが Emacs と衝突する

Emacs における領域選択開始のキーバインド Ctrl+Space が Spotlight のキーボードショートカットと重複しているので、「環境設定」より「Spotlight」 を開き、「Spotlight メニューのキーボードショートカット」をクリアしておくこと。

[編集] 和文プレインテキストを Spotlight の検索対象に含めるには

標準の Spotlight では、Shift_JIS および UTF-16 以外のエンコードで書かれた和文プレインテキストファイルは、その検索対象とならない。

この制約に関しては、加藤和良さんの JapaneseText.mdimporter を導入することで、EUC-JP や UTF-8 で書かれたテキストも検索対象に含めることができるようになる。

インストール方法は、/Library/Spotlight/ に JapaneseText.mdimporter をコピーした後、

$ find ~/Documents -name "*.txt" -print0 | xargs -0 -L1 mdimport -V

もしくは

$ sudo mdutil -E /

などとしてインデックスを再生成すること。

find と xargs を使う時は -print0 と -0 を忘れずに。

[編集] 和文 TeX ソースを Spotlight の検索対象に含めるには

拡張子 .tex のファイルはプレインテキストと判断されないので、そのままでは Spotlight の検索対象とならない。

TeX ソースが UTF-8 で記述されている場合には TeXShop 2 を導入すればよい。付属する TeX.mdimporter により全文検索が可能となる。EUC_JP や JIS、あるいは Shift_JIS で書かれている場合には、以下の手順を踏むことで一応は可能となる。

  1. JapaneseText.mdimporter を導入する。
  2. TeXShop 2 を導入する。
  3. TeXShop のアプリケーションバンドルを開き、不要な Contents/Library/Spotlight/TeX.mdimporter を削除する。
  4. JapaneseText.mdimporter の Info.plist を編集し、コンテントタイプ org.tug.tex の文書も処理対象に含める。(ちなみに、このコンテントタイプの関連付けは TeXShop 2 の Info.plist 中にておこなわれている。)
--- Info.plist.orig	2006-08-09 15:24:11.000000000 +0900
+++ Info.plist	2007-01-18 07:42:35.000000000 +0900
@@ -12,6 +12,7 @@
 			<key>LSItemContentTypes</key>
 			<array>
 				<string>public.plain-text</string>
+				<string>org.tug.tex</string>
 			</array>
 		</dict>
 	</array>

その後、mdimport コマンドで既存の TeX ソースをインポートすること。たとえばドキュメントフォルダ内にある全ての TeX ソースをインポートし直すには、以下のようにするとよい。

$ find ~/Documents -name "*.tex" -print0 | xargs -0 -L1 mdimport -V

find と xargs を使う時は -print0 と -0 を忘れずに。