最近、Mac OS X を使っている人から“印刷するとPrint Centerが強制終了する”というトラブルを聞いたので、その改善方法をご紹介します。
Mac OS X の印刷の仕組み
Mac OS X ではPrint Center というアプリケーションでプリンタを登録します。また、印刷したときの進捗状況などもこのアプリケーションが起動して表示する事になります。
EPSON やCanon 、HPのプリンタを使っている場合は、そのプリンタをPrint Center のプリンタリスト上でクリックして選択状態にすると、“プリンタを設定...”というメニューが使えるようになります。
このメニューを実行すると、各社提供のユーティリティが起動してきます。大抵は、このユーティリティによりインク残量やクリーニング、テストプリントを行うようです。
Mac OS 9.x では、プリントダイアログや用紙設定ダイアログから、いつでもユーティリティが呼び出せたので、それにくらべると使いにくいですね。
そして、Print Center に追加したプリンタの情報は /var/spool/printing/ 以下にあります。※Terminal にて確認。
このなかのcom.apple.printing.plist がプリントセンターに登録されているプリンタ情報となります。
また、ID番号のようなフォルダはそれぞれのプリンタが利用するキューフォルダ(印刷データの一次保管場所)です。
で、今回の問題はこの管理情報が壊れた場合についてです。
root になる
やはりというか、/var/spool/printing/ はシステムの管理する領域です。
この領域をユーザーが操作するためにはrootユーザーを有効にし、そのユーザーで作業を行なわなければなりません。
やり方としては、管理者でMac OS X にログインしてから、Terminal を起動して、sudo passwd root をタイプし、リターン、管理者のパスワードを入力した後、root ユーザーのパスワードを入力します。
->参照 Close Up! “Mac OS X メンテナンス方法”
/var/spool/printing/ の中身を削除
rootになれればあとは、/var/spool/printing/以下をすべて削除すればPrint Centerの情報はとりあえず初期化できます。
方法は、Terminal にて、
sudo rm -r /var/spool/printing/*
とします。(すでにrootになっていれば先頭の sudo は不必要です。)
rm -r というコマンドは何でも削除してしまうので、パスの指定などを絶対に間違わないように注意して下さい。
この作業が終了すれば、あとはPrint Centerを再起動してプリンタの設定をやりなおせばOKです。
補足)/var/spool/printing/以下にある参照不可能のフォルダを見る方法
sudo chmod -R 755 /var/spool/printing/* とします。
※-R 指定は下位フォルダを再起的に変更します。