jma-receview が動かなくなった
レセプトチェックをしようと思って jma-receview を起動しようとしたら起動しなかった orz。そういえば,数日前にものすごく久しぶりに aptitude upgrade していたことを思い出した。jma-receview が update されて,当院の環境で動かなくなってしまったものと考えられた
jma-receview は ruby プログラムなので,以下のようにすると debug 情報が得られる。
当院の orca にデスクトップはインストールしていない(jma-receview は mac の x-window サーバで表示させている)ので,当然 xdg-user-dirs などというものも入っていない。
以下のように自分で ~/.config/user-dirs.dirs を作って無事動くようになった。
jma-receview は ruby プログラムなので,以下のようにすると debug 情報が得られる。
$ ruby -d -w /usr/bin/jma-receview Exception `NoMethodError' at /usr/lib/ruby/1.8/rational.rb:78 - undefined method `gcd' for Rational(1, 2):Rational Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/glib2.rb:97 - no such file to load -- 1.8/glib2.so Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/glib2.rb:220 - no such file to load -- gettext Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/atk.rb:9 - no such file to load -- 1.8/atk.so Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/cairo.rb:44 - no such file to load -- 1.8/cairo.so Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/pango.rb:26 - no such file to load -- 1.8/pango.so Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/gdk_pixbuf2.rb:9 - no such file to load -- 1.8/gdk_pixbuf2.so Exception `LoadError' at /usr/lib/ruby/vendor_ruby/gtk2/base.rb:23 - no such file to load -- 1.8/gtk2.so Exception `LoadError' at /usr/lib/ruby/1.8/jma/receview/gtk2_fix.rb:28 - no such file to load -- gtksourceview2 Exception `LoadError' at /usr/lib/ruby/1.8/jma/receview/gtk2_fix.rb:31 - no such file to load -- gtksourceview Exception `RuntimeError' at /usr/lib/ruby/1.8/jma/receview/print.rb:10 - Exception `LoadError' at /usr/lib/ruby/1.8/tmpdir.rb:14 - no such file to load -- Win32API Exception `LoadError' at /usr/lib/ruby/vendor_ruby/1.8/poppler.rb:40 - no such file to load -- 1.8/poppler.so Exception `LoadError' at /usr/lib/ruby/1.8/jma/receview/isoimage.rb:66 - no such file to load -- cdio Exception `Errno::ENOENT' at /usr/lib/ruby/1.8/jma/receview/config.rb:335 - そのようなファイルやディレクトリはありません - receview.conf Exception `NoMethodError' at /usr/lib/ruby/1.8/jma/receview/gui.rb:2941 - undefined method `+' for nil:NilClass /usr/lib/ruby/1.8/jma/receview/gui.rb:2941:in `event': undefined method `+' for nil:NilClass (NoMethodError) from /usr/lib/ruby/1.8/jma/receview/gui.rb:2918:in `initialize' from /usr/lib/ruby/1.8/jma/receview/gui.rb:97:in `new' from /usr/lib/ruby/1.8/jma/receview/gui.rb:97:in `initialize' from /usr/bin/jma-receview:12291:in `new' from /usr/bin/jma-receview:12291gui.rb の event で何かが nil になって止まっているらしい。puts を入れて調べてみたところ,@base.desktop_native と @base.doc_native が nil になっていた。
def event : else if Gtk::platform_support_os_linux(Gtk::GTK_SUPPORT_VERSION_AMD64) desktop = @base.desktop_native + @base.path_char @gtk_desk_button.signal_connect("clicked") do self.set_filename(desktop) self.dir_list.signal_emit("cursor-changed") end doc = @base.doc_native + @base.path_char @gtk_doc_button.signal_connect("clicked") do self.set_filename(doc) self.dir_list.signal_emit("cursor-changed") end end end endbase.rb を読んでみると $HOME/.config/user-dirs.dirs ファイル内の XDG_DESKTOP_DIR, XDG_DOCUMENTS_DIR というプロパティーを読みに行っている。調べてみたら,これは xdg-user-dirs というシステムの仕組みらしい。いつの間にか,xdg-user-dirs の設定が必須になってしまっていたようだ。
当院の orca にデスクトップはインストールしていない(jma-receview は mac の x-window サーバで表示させている)ので,当然 xdg-user-dirs などというものも入っていない。
以下のように自分で ~/.config/user-dirs.dirs を作って無事動くようになった。
XDG_DESKTOP_DIR="$HOME" XDG_DOCUMENTS_DIR="$HOME"
« Yosemite で Server.app (v4.0) の postgres を使う | トップページ | 7年目の運用まとめ »
「ORCA」カテゴリの記事
- jma-receview が動かなくなった(2023.02.13)
- orca 5.2 に移行(2023.01.27)
- ORCA のエンコーディングを UTF-8 に変換(2022.04.09)
- domU の orca サーバを ubuntu 18.04 にアップグレード(2019.11.22)
- orca 5.1 に移行(2019.11.08)