db2setup のGUI使用で文字化けする場合

1,559 views

db2setup で文字化けする場合

Linux などで Db2 をインストールする場合、大概は db2setup にレスポンスファイルを指定してコマンドから実行する方が多いと思うのですが、プロジェクトによっては VNC 経由で GUI インストールする場合もあるかと思います。

原因はフォントが足りていない

そんな時に Db2 セットアップ画面が文字化けしてしまう事があります。原因は Java が使用するフォントが足りていない事が多いです。

フォントが足りていない
こんな感じで。。。

解決策

RHEL 8 では使用されている国際化について以下のページで紹介しており、そこに日本語フォントもはいっています。以下の2つが RHEL 8で使用される日本語フォントになります。

  • google-noto-sans-cjk-ttc-fonts
  • google-noto-serif-cjk-ttc-fonts

ですので、上記2つをインストールしてあげれば文字化けは解消します。

# yum -y install "google-noto-sans-cjk-ttc-fonts"
# yum -y install "google-noto-serif-cjk-ttc-fonts"
解決策

参考までに

細かい話ですが、db2setup 実行中に実行ディレクトリに java の一時実行環境が展開されます

# cd /root/db2.tmp.68780/db2/linuxamd64/java/jre/lib/fonts

上の例ですと、root ユーザーのホームディレクトリに db2.tmp.68780 という一時ディレクトリが作成され、ディレクトリ以下に java の実行環境が展開されていきます。そして java で使用されるフォントは fonts ディレクトリに展開されますので、そこを調べてみます。

# cd /root/db2.tmp.68780/db2/linuxamd64/java/jre/lib/fonts

上記ディレクトリ内には各OSに対応したフォントのコンフィグがありますので、今回は RHEL 8 のコンフィグを見てみます。

# cat fontconfig.RedHat.8.properties.src

日本語に関連するところを抜き出すと以下のようになっており、”Noto Serif CJK JP” と “Noto Sans Mono CJK JP” が指定されている事がわかります。

 serif.plain.japanese-iso10646=Noto Serif CJK JP
 serif.bold.japanese-iso10646=Noto Serif CJK JP
 serif.italic.japanese-iso10646=Noto Serif CJK JP
 serif.bolditalic.japanese-iso10646=Noto Serif CJK JP
 sansserif.plain.japanese-iso10646=Noto Sans CJK JP
 sansserif.bold.japanese-iso10646=Noto Sans CJK JP
 sansserif.italic.japanese-iso10646=Noto Sans CJK JP
 sansserif.bolditalic.japanese-iso10646=Noto Sans CJK JP
 monospaced.plain.japanese-iso10646=Noto Sans Mono CJK JP
 monospaced.bold.japanese-iso10646=Noto Sans Mono CJK JP
 monospaced.italic.japanese-iso10646=Noto Sans Mono CJK JP
 monospaced.bolditalic.japanese-iso10646=Noto Sans Mono CJK JP
 dialog.plain.japanese-iso10646=Noto Sans CJK JP
 dialog.bold.japanese-iso10646=Noto Sans CJK JP
 dialog.italic.japanese-iso10646=Noto Sans CJK JP
 dialog.bolditalic.japanese-iso10646=Noto Sans CJK JP
 dialoginput.plain.japanese-iso10646=Noto Serif CJK JP
 dialoginput.bold.japanese-iso10646=Noto Serif CJK JP
 dialoginput.italic.japanese-iso10646=Noto Serif CJK JP
 dialoginput.bolditalic.japanese-iso10646=Noto Serif CJK JP

RHEL 8 で使用される上記のフォントは先ほどの Red Hat のリンクにあるフォントセットになりますので、今回足したフォントをインストールすれば、解決できることになります。

個人的には “db2server.rsp” を編集して db2setup コマンドの -r オプションでレスポンスファイルを使用した方が断然楽だと思っています、 VNC の準備とかポート開放とか必要になるので。また、Ansible を使用したりする場合も GUI は使用できないので。それでは読んで頂きありがとうございました!!

レスポンスファイルを使用したインストールについては以下の記事が参考になると思います。

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA