Inkscapeをはじめて使おうと思い、公式HPからAppImageをダウンロードしてきたものの、エラーが発生して実行できなかった。
最終的には解決できたので、その手順を自分用に書き残しておきます。
【環境】
Ubuntu 18.04 LTS
Incscape 1.1.1
ダウンロードしてきたファイルに権限をつけて実行する・・・がエラーでInkscapeのウィンドウが開かずになんかファイル選択ダイアログが開いてしまう。
$ chmod u+x Inkscape-3bf5ae0-x86_64.AppImage
$ ./Inkscape-3bf5ae0-x86_64.AppImage
Setting _INKSCAPE_GC=disable as a workaround for broken libgc
Gtk-Message: 18:52:01.368: Failed to load module "canberra-gtk-module"
Gtk-Message: 18:52:01.374: Failed to load module "canberra-gtk-module"
Fontconfig warning: "/etc/fonts/conf.avail/53-monospace-lcd-filter.conf", line 10: Having multiple values in <test> isn't supported and may not work as expected
53-monospace-lcd-filter.conf__のファイルで<test>__セクションが複数定義されていて、そこの読み込みでエラーが発生している模様。
ここから解決までの手順。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
$ ls /usr/lib/x86_64-linux-gnu | grep libf
libfakeroot
libfastjson.so.4
libfastjson.so.4.2.0
libffi.so.6
libffi.so.6.0.4
libfftw3.so.3
libfftw3.so.3.5.7
libfftw3_omp.so.3
libfftw3_omp.so.3.5.7
libfftw3_threads.so.3
libfftw3_threads.so.3.5.7
libfftw3f.so.3
libfftw3f.so.3.5.7
libfftw3f_omp.so.3
libfftw3f_omp.so.3.5.7
libfftw3f_threads.so.3
libfftw3f_threads.so.3.5.7
libflite.so.1
libflite.so.2.1
libflite_cmu_grapheme_lang.so.1
libflite_cmu_grapheme_lang.so.2.1
libflite_cmu_grapheme_lex.so.1
libflite_cmu_grapheme_lex.so.2.1
libflite_cmu_indic_lang.so.1
libflite_cmu_indic_lang.so.2.1
libflite_cmu_indic_lex.so.1
libflite_cmu_indic_lex.so.2.1
libflite_cmu_time_awb.so.1
libflite_cmu_time_awb.so.2.1
libflite_cmu_us_awb.so.1
libflite_cmu_us_awb.so.2.1
libflite_cmu_us_kal.so.1
libflite_cmu_us_kal.so.2.1
libflite_cmu_us_kal16.so.1
libflite_cmu_us_kal16.so.2.1
libflite_cmu_us_rms.so.1
libflite_cmu_us_rms.so.2.1
libflite_cmu_us_slt.so.1
libflite_cmu_us_slt.so.2.1
libflite_cmulex.so.1
libflite_cmulex.so.2.1
libflite_usenglish.so.1
libflite_usenglish.so.2.1
libfontconfig.so.1
libfontconfig.so.1.10.1
libfontembed.so.1
libfontembed.so.1.0.0
libfontenc.so.1
libfontenc.so.1.0.0
libform.so.5
libform.so.5.9
libformw.so.5
libformw.so.5.9
libfreebl3.chk
libfreebl3.so
libfreeblpriv3.chk
libfreeblpriv3.so
libfreehand-0.1.so.1
libfreehand-0.1.so.1.0.2
libfreerdp-client2.so.2
libfreerdp-client2.so.2.2.0
libfreerdp2.so.2
libfreerdp2.so.2.2.0
libfreetype.so.6
libfreetype.so.6.15.0
libfreshclam.so.2
libfreshclam.so.2.0.1
libfribidi.so.0
libfribidi.so.0.3.6
libfwup.so.1
libfwup.so.1.12
libfwupd.so.2
libfwupd.so.2.0.0
一度、実行時にLD_PRELOADオプションを指定してやる。
$ LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libfontconfig.so:/usr/lib/x86_64-linux-gnu/libfreetype.so" ./Inkscape-3bf5ae0-x86_64.AppImage
Setting _INKSCAPE_GC=disable as a workaround for broken libgc
Gtk-Message: 19:37:41.196: Failed to load module "canberra-gtk-module"
Gtk-Message: 19:37:41.202: Failed to load module "canberra-gtk-module"
Fontconfig warning: "/etc/fonts/conf.avail/53-monospace-lcd-filter.conf", line 10: Having multiple values in <test> isn't supported and may not work as expected
えっ?って思ってしまいますが、このLD_PRELOADオプションで指定しているsoファイル(シンボリック)は実際に存在しなくてエラーが出る上に、最初に表示されていたエラーメッセージは変わらないのになぜかInkscapeのウィンドウが立ち上がります。(もし、実際にsoファイルがあった場合、別のエラーが表示され、ウィンドウも立ち上がってきません。いろいろ調べたのですが、こちらのエラーは解決方法がわかりませんでした)
一度ウィンドウ表示に成功すると、次からは__LD_PRELOAD__の指定がなくても起動できるようになります。
どうもこの__53-monospace-lcd-filter.conf__の__<test>__エラーって何年も前からあるバグっぽいですね。
なんで動くようになったのか理由がわからないのがきもちわるいですが、ひとまず作業をする分には問題なさそうなので原因追求はしません。
ちなみに、設定ファイルは__~/.config/inkscape__に生成されるので、設定を初期化したいばあいはこのフォルダごと消せば良さそうです。
ちょっとした情報ですが、参考になれば幸いです。
【参考にしたサイト】
GitLab