bar_1

contents_map

2014年5月11日日曜日

Mac の GIMP 2.8.10 でヘルプを見れるようにするには (付録)

追記が長すぎるとSeesaaブログにおこられてしまうので、別記事にしました。
本文は、Mac の GIMP 2.8.10 でヘルプを見れるようにするには を参照してください。



付録 (Appendix)

まとまりはないけど、いちおうどうやって解析したか書いておきます。
  • Gimp のヘルプ。なにげなくメニューからたどってみたら、エラー (gvfs関係でオンラインを参照できない)。
'http://docs.gimp.org/2.8/en/gimp-help.xml' を開いて読み込むことができません。
Operation not supported
おそらく GIO バックエンドが見つからないためと思われます。GVFS のインストールを確認してください。
  • gimp-help-en, gimp-help-ja は、存在する。
  • 選択肢は2つ。gvfs を導入するか、ローカルドキュメントを導入するか。
  • どうやら、ローカルドキュメントには、インストールが必要な様子。
  • OS X用 Gimp のための en 版のローカルヘルプを見て、解析してみるのはどうか
  • .pkg に固まってて、むつかしそう
  • ./configure —no-gimp してもWARN。翻訳ファイル作れないと言われる
Missing translation tools: msgfmt msginit msgmerge msguniq msgcat
  • これらはgettextに含まれる。brew 済だが、/usr/local/bin にリンクがない (keg-only)
  • ここ を参考に、リンクを張る
  • よし、WARN消えた
  • make で ImportError: No module named libxml2 という python のエラー。
そこで brew info libxml2 すると、ヒントが。
If you need Python to find the installed site-packages:
mkdir -p ~/Library/Python/2.7/lib/python/site-packages
echo '/usr/local/opt/libxml2/lib/python2.7/site-packages' > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth

ぜんぶの言語をやると時間かかるので、とりあえず、英語と日本語をつくることにする。ALL_LINGUAS="en ja" ./configure --without-gimp してから make

エラー。I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl

ここ に、このエラーの対処方法 () がある。


  • Google Code の 2.6 系ヘルプファイルの Wiki。ここに、ヘルプファイルの構造とインストール先の調べ方 () の記述あり。

通常版もパッチ版もファイルの構成は
help/
ja/
*.html
*.xml
*.css
images/
としています (パッチ版には images/ ディレクトリを省いたものもあり)。

インストール先はシステムによって異なります。通常は Script-Fu コンソール で
gimp-data-directory
と入力すれば help/ja フォルダを置くべきところがわかります。

Welcome to TinyScheme
Copyright (c) Dimitrios Souflis
Script-Fu コンソール - Interactive Scheme Development
> gimp-data-directory
"/Applications/GIMP.app/Contents/Resources/share/gimp/2.0"

$ find . -type f -exec grep -l 'plug-in-web-browser' {} \;
./MacOS/GIMP-bin
./Resources/lib/gimp/2.0/plug-ins/web-browser
./Resources/share/gimp/2.0/scripts/gimp-online.scm

$ find . -type f -exec grep -l 'gimp-help' {} \; |grep -v '\/help\/'
./MacOS/GIMP-bin
./Resources/lib/gimp/2.0/plug-ins/help
./Resources/lib/libgimp-2.0.0.dylib
./Resources/lib/libgimpwidgets-2.0.0.dylib
./Resources/share/gimp/2.0/scripts/gimp-online.scm

$ find . -type f -exec grep -l 'docs.gimp.org' {} \; |grep -v 'share.gimp.2.0\/help\/'
./MacOS/GIMP-bin
./Resources/etc/gimp/2.0/gimprc
./Resources/etc/gimp/2.0/gimprc.orig
./Resources/lib/gimp/2.0/plug-ins/help
./Resources/share/gimp/2.0/scripts/gimp-online.scm
./Resources/share/locale/ja/LC_MESSAGES/gimp20-std-plug-ins.mo
./Resources/share/locale/LC_MESSAGES/gimp20-std-plug-ins.mo

ヘルプドキュメントそのもの


こ こに rpm 版があるので、こいつを流用したらいい: RPM Rawhide gimp-help-ja 2.8.1 noarch rpm


brew install rpm2cpio すると、rpm2cpio.pl というコマンドがインストールされるので:

rpm2cpio.pl gimp-help-ja-2.8.1-1.fc21.noarch.rpm | cpio -id

とする。すると、カレント・ディレクトリに usr/ 以下に展開されたデータができる。この中にある help ディレクトリを丸ごとコピーする。コピー先は、
/Applications/GIMP.app/Contents/Resources/share/gimp/2.0/
で、ここに brushes, dynamics, fonts, …などが並んでいるが、 help/ とその内容物が配置されるようにする。


  • →ヘルプファイルがあることは認識されたが、まだダメ。

GIMP エラーメッセージ
プロシージャー 'plug-in-web-browser' の呼出し時にエラーが発生しました。
No application is registered as handling this file

と出てしまう。

GIMP の設定調査と Script-Fu によるバグの再現


Script-Fu コンソールから plug-in-web-browser は、実行できる (Firefox で新しいウィンドウとともに表示される)。

> (plug-in-web-browser "http://www.google.com")
(#t)

ここ に、GIMP がどのように設定されているか調べる方法がある

$ pwd
/Applications/GIMP.app/Contents/MacOS
$ ./GIMP-bin --dump-gimprc | grep web
$

本来、(web-browser "htmlview %s") と出るはずが、出ない。

Script-Fu で、バグの再現を試みる。

> (plug-in-web-browser "/Applications/GIMP.app/Contents/Resources/share/gimp/2.0/help/ja/index.html")
Error: ( : 2) Procedure execution of plug-in-web-browser failed: Operation not supported

> (plug-in-web-browser "file://localhost/Applications/GIMP.app/Contents/Resources/share/gimp/2.0/help/ja/index.html")
Error: ( : 2) Procedure execution of plug-in-web-browser failed: No application is registered as handling this file

再現Ok.

ソー スを読んだところ、上記エラーは、どうやら GIMP ではなく GTK が扱っている。(ここも参考にした: superuser, How does GTK register URI handlers?, 2011.)

だから、GTK の設定をしてやればいい。

x-scheme-handler/http=firefox.desktop

などの設定はどこにあるか?。



  • GIMP.app 内

    $ find . -type f -name 'gtkrc*' -print
    ./Resources/etc/gimp/2.0/gtkrc
    ./Resources/etc/gtk-2.0/gtkrc
    ./Resources/share/gimp/2.0/themes/Default/gtkrc
    ./Resources/share/gimp/2.0/themes/Small/gtkrc
    ./Resources/share/gimp/2.0/themes/Xamarin/gtk-2.0/gtkrc
    ./Resources/share/gimp/2.0/themes/Xamarin/gtkrc
    ./Resources/share/themes/bubble/gtk-2.0/gtkrc
    ./Resources/share/themes/Default/gtk-2.0-key/gtkrc
    ./Resources/share/themes/Emacs/gtk-2.0-key/gtkrc
    ./Resources/share/themes/Mac/gtk-2.0-key/gtkrc
    ./Resources/share/themes/Raleigh/gtk-2.0/gtkrc
    ./Resources/share/themes/Xamarin/gtk-2.0/gtkrc
    ./Resources/share/themes/Zukitwo/gtk-2.0/gtkrc


  • MimeType の設定はどこか

    $ find . -type f -exec grep -l 'MimeType' {} \; |grep -v 'share.gimp.2.0\/help\/'
    ./Resources/lib/libgio-2.0.0.dylib
    ./Resources/lib/libxml2.2.dylib
    ./Resources/lib/python2.7/mimetypes.py
    ./Resources/share/applications/gimp.desktop
    ./Resources/share/applications/open.desktop
    ./Resources/share/icons/hicolor/index.theme
    ./Resources/share/icons/Tango/index.theme



gtkrcopen.desktop などの設定



  • 実験の結果、mimeinfo.cache, open.desktop 以外は、動作に影響がないことがわかった。

  • (web-browser "open %s") は機能しない?

  • システム側(アプリ側)、ローカル側、ともに rc ファイルが読まれていない可能性がある……?


0 件のコメント:

コメントを投稿

何かありましたら、どうぞ: