Teraterm(SSH)からGnuplot表示


SSHでGnuplotを使う場合の表示の仕方についてメモしておきます。
最近はWindows版を主に使うので、たまにLinuxで使おうとすると、そもそもどうやって表示するんだったかわからなくなる・・・。
gnuplot自体の使い方には特に触れません。

前提条件

  • Gnuplot実行環境:Linux(Ubuntu or CentOS or etc)
  • 操作端末:Windows
  • ターミナルソフト:Teraterm(SSH)

インストール

Linux側

普通にインストール。

Ubuntu:sudo apt install -y gnuplot
CentOS:sudo yum install -y gnuplot

Windows側

Teraterm単体で使う場合

設定→端末で、自動切換え(VT<->TEK)にチェックを入れる。

Gnuplotでターミナルをvttekにする。

gnuplot> set terminal vttek

あとは普通にプロットすると、別窓で表示される。

ただ、残念なことに、一番下に "gnuplot>"と表示され、入力すると変な位置に表示される。

Xmingを使う場合

WindowsにXmingをインストールする。
Xming X Server for Windows
TOPページに書いてあるインストール方法に従って、setup.exeを入れるだけ。
インストールしたら、Xmingを起動しておく。特に設定はない。
Teratermの設定→SSH転送で「リモートのXアプリケーションをローカルのXサーバに表示する」にチェックを入れる。(設定を保存して、ターミナル再起動)

Gnuplotでターミナルをx11にする。

gnuplot> set terminal x11

あとは普通にプロットすると、Xmingに表示される。


"a"とか"g"などのショートカットやマウス右ドラッグでのズームなども使用できる。

補足

正しい使い方なのかわからない(errorも出てる)が、Xmingを立ち上げた状態で、ターミナル設定をx11にしないままプロットすると、Gridや拡大/縮小などのメニューを持つ画面が表示される。エラーを気にしなければこちらの方が使い勝手がいい気がする。

JPGファイル等に出力する

引き続き、Xmingを使用する。
GnuplotでターミナルをJPEG(JPGではない)にする。出力ファイル名を指定してからプロットする。
対応フォーマットは、"gnuplot> set term"で確認可能。

set term jpeg
set output 'sin.jpg'
p sin(x)

画像の表示はeogで可能。(Xmingに表示される)

$ eog sin.jpg

ファイルの取り出しは、WinSCPなり、TeratermのSCPなりで。
Teratermの場合、ファイル→SSH SCPで転送可能。