2017年6月19日月曜日

X11経由でjconsoleを実行する

いつも忘れちゃうのでメモする

遠隔でjconsoleを実行する方法は2種類ある
1. 監視対象java実行時にjmxremoteオプション付きで実行する
・この場合、javaの実行オプションを修正し、プロセス再起動する必要がある
・踏み台サーバーを利用する場合、portポーワディングをする必要がある
2. リモートサーバーからX11アプリケーションを直接起動する
・クライアント側にXQuartzをインストールが必要
・SSH接続の際に-Xオプションが必要
・リモートサーバーにxauthがない場合、インストールが必要

ここでは2.の環境設定について

クライアント側設定 
1. XQuartzインストール
・https://www.xquartz.org/から.dmgファイルをダウンロード&インストールする。
 ※windows+teratermだとX11転送を許可するチェックをつける必要がある

サーバー側設定
1. xauthのインストール
・sudo yum list | grep xauthで状態がinstalledではないならインストールが必要
・sudo yum install xauth
2. java font設定 直接javaを実行すると日本語が□と文字化けされるのでfontを入れる必要がある
※java?linux側のバグでjavaのfont設定プロパティに記載されている階層にfontファイルが存在しない為
・fontセットをダウンロードする
・/usr/share/fonts/japanese/TrueTypeにttfファイルを置く
   sazanami-gothic.ttf
   sazanami-mincho.ttf
・上記のfontのsymbolic linkを/usr/share/fonts/ja/TrueType/に作成
  kochi-gothic-subst.tt
  kochi-mincho-subst.ttf