SIPを無効にしないでQuartzフィルタを追加する [日常のあれやこれや]
ちょっとしたチップスを。ポテトじゃない。
数日前のLifehackerのこの記事でmacOSのPreviewに使うQuartzフィルタの追加を紹介している。追加の場所を
Quartzフィルタの場合は上のディレクトリともうひとつ
rootlessで保護されているところは触らないで済むように一応は考えられていて、こういうフィルタなどはのためには、/System/Libraryが書き換える必要のないシステム用で、それ書き換えたい場合は/Libraryに同じ機能のディレクトリで、というふうにたいてい用意されている。全部あるかどうか、片方しか参照しないアプリがないか、などはよく知らないけど。
本来こういうのは場所だけが違って名前は同じであるべきなんだけど、このように違ってる場合があるのがどうもお粗末というか、残念である。そういうのってたいてい歴史的な理由からだろうけど、まあAppleの場合、昔からあるから(/Library/PDF Servicesの場合、こっちが昔からあった)と言ってそれが突如として無くなってそれ以降使えなくなる、なんてことはよくある話なのでこいつもそうなるかもしれない。あしからず。
数日前のLifehackerのこの記事でmacOSのPreviewに使うQuartzフィルタの追加を紹介している。追加の場所を
/System/Library/Filtersにしているので、SIP(あるいはrootless)をいったん無効にしてフィルタをコピーしているが、システムパーティション以外から操作する必要があってめんどくさい。できればrootlessを無効にしないでできるほうがいい。
Quartzフィルタの場合は上のディレクトリともうひとつ
/Library/PDF Servicesという場所があって、ここもPreviewでは参照される。そしてここはrootlessではなく単にunixのファイルパーミッション(drwxr-xr-xに設定されている)だけなのでsudoで読み書きできる。/usr/binと/usr/local/binとの違いのようなものである。件の記事の場合、/System/Library/Filtersから/Library/PDF Services(無くても作ってパーミッションを適切に設定すればちゃんと参照される)にコピーして、そちらを書き換えればいい。
rootlessで保護されているところは触らないで済むように一応は考えられていて、こういうフィルタなどはのためには、/System/Libraryが書き換える必要のないシステム用で、それ書き換えたい場合は/Libraryに同じ機能のディレクトリで、というふうにたいてい用意されている。全部あるかどうか、片方しか参照しないアプリがないか、などはよく知らないけど。
本来こういうのは場所だけが違って名前は同じであるべきなんだけど、このように違ってる場合があるのがどうもお粗末というか、残念である。そういうのってたいてい歴史的な理由からだろうけど、まあAppleの場合、昔からあるから(/Library/PDF Servicesの場合、こっちが昔からあった)と言ってそれが突如として無くなってそれ以降使えなくなる、なんてことはよくある話なのでこいつもそうなるかもしれない。あしからず。