メインフレームOSのマスターコンソールで入力するようなコマンドは、Hercules HTTPサーバ(localhost:8038
)にアクセスすれば入力できるのですが、3270エミュレータでマスターコンソールに接続したくなったので、以下覚書。
3270エミュレータでマスターコンソールに接続できる設定をする
ホスト側で次のコマンドを入力してコンテナに入ります。
docker-compose run --rm turnkey4 bash -p
コンテナ側で次のコマンドでマスターコンソールモードの設定をします。
/opt/turnkey4/unattended/set_console_mode
を入力します。
Hercules console mode activated for unattended operations (mvs.bat)
Press any key to continue...
と表示されますので、何かキーを入力します。
コンテナ側で次のコマンドで正しく設定されたか確認します。
cat /opt/turnkey4/unattended/mode
CONSOLE
と表示さればOKです。
CONSOLE
exit
でコンテナから抜けます。
マスターコンソールに3270エミュレータで接続してみる
メインフレームOSの起動
ホスト側でコンテナを起動します。
docker-compose up -d
ホスト側で次のコマンドを入力して、メインフレームOSの実行ログを表示してOSが起動したか確認します。
docker exec -it prj_turnkey4_turnkey4_1 bash -c 'tail -f /opt/turnkey4/log/3033.log'
次が表示されたら起動完了です。
HHC01603I *
HHC01603I * ************ **** ***** ||
HHC01603I * ** ** ** ** ** |||
HHC01603I * ** ** ** ** ** ||||
HHC01603I * ** ** ** || ||
HHC01603I * |l _,,,---,,_ ** ** ** || ||
HHC01603I * ZZZzz /,'.-'`' -. ;-;;, ** **** || ||
HHC01603I * |,4- ) )-,_. ,( ( ''-' ** ***** || ||
HHC01603I * '---''(_/--' `-')_) ** ** ** || || ||||||||||
HHC01603I * ** ** ** ||||||||||| Update 08
HHC01603I * The MVS 3.8j ** ** ** ||
HHC01603I * Tur(n)key System ** ** ** ||
HHC01603I * ****** **** *** ||||||
HHC01603I *
HHC01603I * TK3 created by Volker Bandke vbandke@bsp-gmbh.com
HHC01603I * TK4- update by Juergen Winkelmann winkelmann@id.ethz.ch
HHC01603I * see TK4-.CREDITS for complete credits
HHC01603I *
HHC02264I Script 5: file scripts/tk4-.rc processing ended
マスターコンソール用デバイス番号の10番に接続できるようにする
Webブラウザを立ち上げ、Hercules HTTPサーバ(localhost:8038
)にアクセスします。
Command:
テキストボックスに
attach 010 3270 CONS
を入力し、Send
ボタンをクリックします。これはデバイス番号010
に3270エミュレータで接続できるようにするおまじないです。
次にホスト側でマスターコンソールに3270エミュレータで接続するコマンドをたたきます。
./cons.sh
中身はこんな感じ。10@localhost:3270
の10@
の所に注目してください。これが上記のデバイス番号010
と対応しています。
#!/bin/sh
export TERM=xterm_my
c3270 -charset us-intl -model 3279-2 -keymap c3270.keymap 10@localhost:3270
./cons.sh
をたたいた後は、次のような画面が表示されます。Device number
に注目してください。0:0010
となっていて、上記のデバイス番号010
と対応しています。
File Options Keypad
Hercules Version : 4.00
Host name : 47c973fd15e2
Host OS : Linux-5.10.102.1-microsof #1 SMP Wed Mar 2 00:30:59 UTC 202
Host Architecture : x86_64
Processors : MP=4
LPAR Name : HERCULES
Device number : 0:0010
次にWebブラウザ側のHercules HTTPサーバ(localhost:8038
)に戻り、Command:
テキストボックスに
/v 010,console,auth=all
を入力し、Send
ボタンをクリックします。
ホストOS側のマスターコンソール画面を見て、次のような画面が表示されればOKです。
IEE152I ENTER CANCEL D C,K
IEE163I MODE= RD
ホスト側でbashを起動し、Hello World!
を表示するJCLを次のコマンドでメインフレームOSに投入してみます。
./hercsub localhost:3505 hellocob.jcl
マスターコンロール側に画面を切り替えてみると、次のようにHello World!
が表示されていればOKです。
File Options Keypad
JOB 19 $HASP100 COBOL ON READER1 MADILLOAR
JOB 19 IEF677I WARNING MESSAGE(S) FOR JOB COBOL ISSUED
- JOB 19 $HASP373 COBOL STARTED - INIT 1 - CLASS A - SYS TK4-
- JOB 19 +Hello World!
- JOB 19 $HASP395 COBOL ENDED
$HASP309 INIT 1 INACTIVE ******** C=A
JOB 19 $HASP150 COBOL ON PRINTER1 370 LINES
$HASP160 PRINTER1 INACTIVE - CLASS=A
JOB 19 $HASP250 COBOL IS PURGED
IEE152I ENTER CANCEL D C,K
IEE163I MODE= RD