bar_1

contents_map

ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2014年5月14日水曜日

Mac の GIMP 2.8.10 に G'MIC プラグインをインストールするには


Mac の GIMP 2.8.10 (gimp.org からダウンロードした本家版GIMP.app。LisaNet 版 Gimp on OS X にあらず) に、有名な画像処理のプラグイン G’MIC をインストールしようと試みたが、GIMP が認識してくれない状態だった。原因は、おそらく G’MIC のビルド上のバグで、ライブラリ libpng の配置に問題があり、読み込むことができないためである。

この問題は、簡単なワークアラウンドで回避可能で、無事インストールでき、フィルターメニューやプラグインブラウザで表示されるようになり、実際に使うことができた

GIMP.app, which is distributed from gimp.org for Mac OS X 10.9 (Mavericks), cannot detect the G’MIC for GIMP plugin. The cause of this is that gmic_gimp tried to load libpng from strange location. This article proposes a work around for this issue.




環境


試したのは以下のような環境です:


解析


通常、GIMP に、プラグインをインストールする場合は、所定の場所にバイナリを入れてやるだけでいい。たとえば、Mac OS X 10.9.x (Mavericks) の場合、


  • /Applications/GIMP.app/Contents/Resources/lib/gimp/2.0/plug-ins/

  • ~/Library/Application\ Support/GIMP/2.8/plug-ins/

のいずれかになる。

ところが G’MIC をインストールしようとしたところ、なぜか GIMP が認識してくれない。GIMP 起動時のスプラッシュ画面をみるに、いちおう探してはいてくれるようなのだが。

そこでデバッグオプションをつけてコマンドラインから調べたところ、G’MIC for GIMP (gmic_gimp) は、変な場所からライブラリ libpng15.15.dylib をロードしようとしていた (dyld: Library no loaded: の行):

$ /Applications/GIMP.app/Contents/MacOS/GIMP -c --debug-handlers
Setting up environment...
Enabling internal python...
Locale black magic...
Launching GIMP...
Cannot spawn a message bus without a machine-id: Unable to load /var/lib/dbus/machine-id or /etc/machine-id:
Failed to open file '/var/lib/dbus/machine-id': No such file or directory
dyld: Library not loaded: /tmp/skl/Gimp.app/Contents/Resources/lib/libpng15.15.dylib
Referenced from: /Users/honyarara/Library/Application Support/GIMP/2.8/plug-ins/gmic_gimp
Reason: image not found
(GIMP-bin:36253): LibGimpBase-WARNING **: GIMP-bin: gimp_wire_read(): error

解決方法 (ワークアラウンド)


これは G’MIC のビルド上のバグだが、以下のようなワークアラウンドとして回避できる:


  • libpng15.15.dylib をコピーなりシンボリックリンクを張るなりして、/tmp/skl/Gimp.app/Contents/Resources/lib/libpng15.15.dylib を作る。

libpng15.15.dylib 自体は、自分で用意するしかない。わたしの場合は、たまたま以前 brew したものが、/usr/local/Cellar/libpng/1.5.17/lib/libpng15.15.dylib に残っていたので、これを利用した:

$ mkdir -p /tmp/skl/Gimp.app/Contents/Resources/lib
$ cd !$
$ ln -s /usr/local/Cellar/libpng/1.5.17/lib/libpng15.15.dylib .

こうしておいて GIMP を起動してあげると、フィルターの最後に灰色で G'MIC が表示されるし、プラグインブラウザで G'MIC を検索することができた。

めでたしめでたし。ヽ(´∀`)ノ


2014年5月11日日曜日

Mac の Gimp 2.8.10 でヘルプを使えるようにするには

概要

前回、「Mac OSX 10.9 (Mavericks) で 日本語入力可能な日本語化された Gimp 最新版 (2.8.10) を使うには」 にて、 Mac OS X 10.9.x (Mavericks) にインストールした GIMP 2.8.10 は、エラーによりヘルプドキュメントが見れない状態であることがわかった。そこで本記事では、GIMP の使用している GTK に MimeType の設定を行うことにより、(日本語) ヘルプドキュメントを使用できるようにする。これにより、パッチあてやコンパイルなしに、Mac 用の GIMP 2.8.10 で、以下のようなヘルプメニューを使えるようになる: GIMP のヘルプメニューの ヘルプ (Help)F1 をおした時の状況適応ヘルプ (Context Help)今日の技 (Tip of the day)。付録として解析したときのログも掲載した。
この手法は日本語以外の外国語においても有効なはずである。(This solution must be available in any foreign languages other than japanese.)

手法と手順

本記事の手法は、RPM で提供されている GIMP の日本語ヘルプドキュメントを GIMP.app に組み込み、GIMP 内部の GTK の設定に MimeType の追加をすることで、インストール版のヘルプドキュメントを利用可能にするというものです。
以下の手順でおこないます:
  1. 日本語のローカル版ヘルプドキュメントを GIMP.app に追加する
  2. GIMP.app のヘルプの設定
  3. MimeType の設定を GIMP.app が使用している GTK の設定に追加
詳細は、下記のようになります。

1. 日本語のローカル版ヘルプドキュメントを GIMP.app に追加する

前回用意した状態だと、GIMP.app は、一切のヘルプドキュメントを持っていない状態です。なので所定の場所に、ヘルプのデータ (html, 画像) を、ぶち込みます。
GIMP のヘルプドキュメントは別パッケージで提供されていたりします。しかしながら、これをコンパイルするのは結構な手間です。
だから、Linux のディストリビューションで提供されているコンパイル済みパッケージである RPM から、中身を吸い出して流用します。この手順は以下のように行います:
  1. RPM Rawhide gimp-help-ja 2.8.1 noarch rpm などを、適当なディレクトリにダウンロードする
  2. rpm2cpio.pl コマンドをインストールする
    ターミナルから、brew install rpm2cpio (brew の場合) を実行する
  3. RPM をファイルに展開する
    ターミナルから、
    rpm2cpio.pl gimp-help-ja-2.8.1-1.fc21.noarch.rpm | cpio -id
  4. 展開されたデータの help/ 以下を、GIMP.app にコピーする
    前の手順で、カレント・ディレクトリに usr/ 以下に展開されたデータができる。この中にある help ディレクトリを丸ごとコピーする。コピー先は、
    /Applications/GIMP.app/Contents/Resources/share/gimp/2.0/
    で、ここに brushes, dynamics, fonts, …などとおなじように help が配置されるようにする。
※ GIMP.app の中身の開き方は、Finder から /Applications/GIMP.app を選んで、右クリック > パッケージの内容を表示 です。

2. GIMP.app のヘルプの設定

GIMP.app のヘルプ表示の仕方を、ローカルを参照し、また通常の Web ブラウザを使用するように設定します。手順は以下のとおりです:
  1. メニューのGIMP > 設定 (Preferences)… を選ぶ
  2. GIMP の設定 ウィンドウが出てくる
  3. 左ペインのアイコンのリストから、上から 4 番目の ヘルプ を選択
  4. 右ペインの 全般 にある 使用するユーザーマニュアル から、インストール版 を選択
  5. 同じく、ヘルプブラウザー使用するヘルプブラウザー から、ウェブブラウザ を選択
  6. OK ボタンを押して GIMP の設定 ウィンドウを閉じる
  7. GIMP を終了する

確認方法

GIMP を起動して、メニューから GIMP > 設定 > ヘルプ を見てください。
ここまでの手順がうまくできていれば、「電球ユーザーマニュアルはインストール済みです。」という表示が出ます (でも、次の手順が済むまではまだ使えません)。

3. Mime タイプの設定を GIMP.app が使用している GTK の設定に追加

上記までの設定で、GIMP はヘルプファイルを認識します。ユーザが、メニューからヘルプを表示しようとすると、GIMP は、plug-ins/web-browser でドキュメントを開こうとします。ところが、GIMP が使用している GTK がこれを弾いてしまい、下記のようなエラーとなります:
GIMP エラーメッセージ
プロシージャー 'plug-in-web-browser' の呼出し時にエラーが発生しました。
No application is registered as handling this file
Script-Fu から、(plug-in-web-browser "file://localhost/Applications/GIMP.app/Contents/Resources/share/gimp/2.0/help/ja/index.html") として同じエラーを再現できることから、URI のスキーム指定 file: を扱えないことが、原因であることが予想されます。
そこで、GTK がエラーを吐かないように、mimeinfo.cacheopen.desktop の 2 つのファイルに MimeType の追加をする修正を行います。これらのファイルたちが格納されている場所は、/Applications/GIMP.app/Contents/Resources/share/applications です。
まずはターミナルを開いて、カレントディレクトリをこの場所にしてください。
作業の手順は以下のとおりです:
  1. 元のファイルをバックアップします
    cp -p mimeinfo.cache mimeinfo.cache.orig
    cp -p open.desktop open.desktop.orig
  2. mimeinfo.cache の修正
    エディタ (vim, emacs, nano など) で、 mimeinfo.cache の最後に一行x-scheme-handler/file=open.desktop; を追加します
  3. mimeinfo.cache の修正の確認
    $ diff mimeinfo.cache.orig mimeinfo.cache
    32a33
    > x-scheme-handler/file=open.desktop;
  4. open.desktop の修正
    MimeType の設定に、x-scheme-handler/file; を追加します
  5. open.desktop の修正の確認
    $ diff open.desktop.orig open.desktop 7c7 < MimeType=x-scheme-handler/http;x-scheme-handler/https --- > MimeType=x-scheme-handler/file;x-scheme-handler/http;x-scheme-handler/https
これで、GIMP で日本語のヘルプが使えるようになりました!Yay!
GIMP を起動して、メニューから ヘルプ > ヘルプ などを試してみてください。Web ブラウザが立ち上がって、ヘルプのHTMLファイルが表示されます。今日の技 で表示されるウィンドウで 詳しくはこちら を押すと、ブラウザでおなじようにリンクが表示されます。

まとめ

  • GIMP.app に日本語のヘルプドキュメントを組み込む方法を述べた
  • GIMP.app にローカルにインストールしたインストール版ヘルプドキュメントを見るための設定方法を述べた
  • GIMP の使用している GTK に MimeType の設定を追加する方法を述べた
以上です。
以降は、トラブルシューティングしたい場合のなんかの参考に。

PS. Mac OS X での GIMP の設定ファイルの場所

システム側

GIMP.app の中の
  • Resources/etc
  • Resources/share/applications
  • Resources/share/gimp/2.0
などなどにある。

ユーザ側

  • ~/Library/Application\ Support/GIMP/2.8/
の中に、いろいろな rc ファイルが有る。

2014年4月24日木曜日

Mac のターミナルの Bash に単語単位カーソル移動のキーバインド設定をする


以前 Linux を使っていたとき bash で Alt+f/Alt+b でカーソル移動できて便利でした。そこで「Mac のコンソール上でも、Bash で単語単位のカーソル移動のキーバインド設定をしたい」と思いました。調べた結果、ターミナルの設定により可能なことがわかりました。以下、この設定方法について説明します。対象とするターミナル・ソフトは、iTerm2 と Terminal です。