LoginSignup
0
0

More than 5 years have passed since last update.

TeraTerm+c3270端末エミュレータでカラー表示とHomeキーとEndキーを使えるようにする

Last updated at Posted at 2016-05-17

3270端末エミュレータをカラー表示にする。

TeraTermでTERM=vt220にしてc3270端末エミュレータを起動すると、黒背景に黄色文字でメインフレームっぽくないです。

Image.png

せっかくなので、メインフレーム風のカラー表示にします。
Image.png

Image.png

Image.png

画面をカラー表示するために、terminfoデータベースのエントリのxtermを使います。
単純にexport TERM=xtermだけでもc3270端末エミュレータはカラーになるのですが、このままだと、HomeキーとEndキーが使えません。

TeraTermはvt220キーシーケンスを送りますので、HomeキーはFindキー、EndキーはSelectキーと読み替える必要があります。

ですので、xtermでHomeキーとEndキーを使えるようにするためにカスタマイズして、xterm-myというエントリをterminfoデータベースに作りたいと思います。

「infocmp」コマンドでterminfoデータベースのエントリの vt220をテキストファイル化して、FindキーとSelectキーらしきところを探します。

[hercules@localhost ~]$ pwd
/home/hercules
[hercules@localhost ~]$ infocmp vt220
[hercules@localhost ~]$ infocmp vt220
#       Reconstructed via infocmp from file: /usr/share/terminfo/v/vt220
vt220|vt200|dec vt220,
        am, mc5i, mir, msgr, xenl, xon,
        cols#80, it#8, lines#24, vt#3,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
        csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
        cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
        dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
        ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
        flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
        ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
        il=\E[%p1%dL, il1=\E[L, ind=\ED,
        is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D,
        kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~,
        kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
        kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
        kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
        kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
        kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
        lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, mc4=\E[4i,
        mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM,
        rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m,
        rmul=\E[24m, rs1=\E[?3l, sc=\E7,
        sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
        sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
        smso=\E[7m, smul=\E[4m, tbc=\E[3g,

つぎのような記述があると思います。これが、Homeキー(vt220的にはFindキー)、Endキー(vt220的にはSelectキー)に該当します。

kfnd=\E[1~   ---> Findキー、つまりHomeキー
kslt=\E[4~   ---> Selectキー、つまりSelectキー

terminfoデータベースのエントリのxtermにkfndやksltがあるか調べます。

無いはずです。

[hercules@localhost ~]$ infocmp xterm | grep kfnd
[hercules@localhost ~]$ infocmp xterm | grep kslt

terminfoデータベースのエントリのxtermをカスタマイズします。

ファンクションキーの一行前に「kfnd=\E[1~, kslt=\E[4~,」を追記します。

[hercules@localhost ~]$ infocmp xterm > xterm_org.src
[hercules@localhost ~]$ cp xterm_org.src xterm_my.src
[hercules@localhost ~]$ vi xterm_my.src
              kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~,
              kfnd=\E[1~, kslt=\E[4~,
              kf11=\E[23~, kf12=\E[24~, kf13=\E[1;2P, kf14=\E[1;2Q,

[hercules@localhost ~]$ diff xterm_org.src xterm_my.src
2c2
< xterm|xterm terminal emulator (X Window System),
---
> xterm_my|My_xterm terminal emulator (X Window System),
20a21
>         kfnd=\E[1~, kslt=\E[4~,

「tic」コマンドでterminfoデータベースに「xterm_my」を登録します。

$ su [sudo可能なユーザ]
$ sudo tic xterm_my.src

環境変数を「xterm_my」にしてHercules&MVSを起動してc3270で接続していみます。

[hercules@localhost ~]$ vi .bashrc
export TERM=xterm_my

冒頭のカラー表示になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0