私自身は日本アイ・ビー・エム社員で、現在はクラウド/コンテナ廻りの技術業務を担当しています。比較的「新しめの技術」に携わっているという自己認識をしています。

一方で、レガシーな技術に興味がないわけではありません。PC-DOS や OS/2 は今でも仮想環境を残して使えるようにしています。

ただ、いわゆる「ホスト」の AS/400 (System i、i5/OS)はこれまで自分に縁のないテーマでした。「CPU やメモリ、ファイルシステムなどのハードウェアリソースは全て OS 内では仮想化されて、実体をほとんど意識することなく使える」とか、「専用のターミナルエミュレータから利用する」という説明を受けて興味は持つのですが、「これまで利用する機会も環境もなかった」というのが正直な所です。

そんな中、無料で AS/400 にアクセスできる環境があることを知り、まずは試してみました。その時の作業記録をブログとして残します。


【PUB400.COM にアカウントを作る】
www.powerbunker.com という所(会社?)が PUB400.COM というオンラインサインアップ可能なパブリック AS/400 を公開していることを知りました。

サインアップするにはウェブブラウザで https://pub400.com/ にアクセスします:
2025011702


トップページに PUB400 の説明やルールなどが記載されています。無償でコミュニティ向けに提供いただいている IBM i 7.5 サーバー環境なので、無茶なことはせず、丁寧に使いましょう。

画面を下までスクロールすると左下に "Sign Up Now!" と書かれたエリアが見つかります。サインアップはここをクリックします:
2025011703


リンク先ページを下までスクロールするとユーザー登録情報を入力するフォームが表示されます。名、姓、メールアドレス(2回)、希望ユーザー名を入力し、最後にユーザー登録する上での取り決めに関する内容に同意するチェックボックスにチェックを入れて Submit します。

なお、登録可能なメールアドレスの種類について、outlook や gmail 、hotmail といったフリーメールだと確認メールが届かない問題がある、と書かれている模様です(詳しくは不明)。この辺り注意してメールアドレスを指定してください:
2025011704


正しく PUB400 からの確認メールが受信できた場合、以下のようなメールが届くはずです(経験的にはすぐではなく、少し時間が経って届きました)。確認のため、メール内に書かれたリンク(赤枠)部をクリックします:
2025011705


ここまでの作業が全て正しく処理されるとユーザーが作成され、更に少し待つと PUB400 から以下のようなユーザープロファイル(赤枠部は初期パスワード)を報告するメールが届きます:
2025011706


これで PUB400 内の AS/400 にアカウントを作ることができました。


【5250 エミュレータをインストールする】
アカウントが作れたので早速ログインを・・・と考えてしまうのですが、AS/400 はログイン前にもう1ステップ必要です。それが 5250 接続するための準備です。

この PUB400 では SSH でログインする方法も提供されていて、それはそれで意味があるとは思っていますが、せっかく AS/400 のアカウントがあるなら AS/400 ネイティブな方法でログインしたいものです。それには 5250 と呼ばれるターミナル(現実的にはターミナルのエミュレーター)が必要です。

過去に AS/400 にアクセスしたことがある人であれば、IBM PCOMM などの 5250 エミュレーターを所有しているかもしれませんが、そこまで一般的ではないと思うので、ここではオープンソースの 5250 エミュレーター製品である tn5250 をビルドして使う方法を紹介します。

私自身は普段 Windows を使っています。Windows ユーザーの場合は WSL2 の Ubuntu を有効にするなどして Linux が使える環境を用意してください。Mac ユーザーや Linux ユーザー(ラズパイ含む)は同様に利用できると思います(が、以下で紹介する手順は Ubuntu など Debian ベースの Linux を想定したものになっている点にご注意を)。

まずは Ubuntu 環境にビルドに必要なツール類をまとめてインストールしておきます。ターミナルを開いて以下を実行します:
$ sudo apt install autoconf automake libtool


tn5250 を利用するにはソースコードからビルドする必要があります。ターミナル内で以下の手順を順次実行します:
$ git clone https://github.com/tn5250/tn5250

$ cd tn5250

$ ./autogen.sh

$ ./configure

$ make

$ sudo make install


ターミナルを一度終了して、再度起動することで tn5250 が使えるようになります。


【5250 エミュレータで PUB400 の AS/400 にアクセスする】
実際に PUB400 の AS/400 にアクセスするには以下のコマンドを実行します:
$ tn5250 pub400.com

すると tn5250 が起動して PUB400 に接続します。AS/400(正確には IBM i 7.5)のログイン画面が表示されているので、PUB400 にサインアップした時のユーザー名と初期パスワードでログインします。ちなみにユーザー名のフィールドからパスワードのフィールドに移るには TAB キーを使います(初回のみログイン直後にパスワードを更新する必要があります):
2025011801


ログインが成功すると AS/400 のメインメニュー画面が表示されます。が、ここから何を選ぶと何ができるのか、実はよくわかっていません。。これからこの環境で勉強します:
2025011602


ターミナル内で実行している tn5250 を終了するには Ctrl + Q です。これで元の(WSL などの)ターミナルに戻れます。

なお上でも少し触れましたが、PUB400 は SSH でログインすることも可能です。ホスト名は pub400.com 、ただしポート番号は 22 ではなく 2222 を指定して接続する必要があります。ユーザー名とパスワードは 5250 接続時と共通です:
2025011802


接続できるとプロンプトが表示されます。一般的な Linux 環境と比較して使えないコマンドも結構ありますが、UNIX/Linux に慣れた人であればある程度使いやすいのではないかと思います:
2025011803


この環境には Node.js v18 も導入されていました。Node.js のプログラミングはこの環境でできそうです:
2025011804


SSH は慣れているぶん使いやすいけど、せっかくの 5250 接続環境なのでネイティブな AS/400 の勉強もできる環境として使わせていただきます。RPG のプログラミングなどはできそうなので、生成 AI で RPG のコードを作ってもらって、この環境で実行、みたいな使い方もできるかな。