使い方 — 演習・デモ運用
1. アプリの起動方法 (接続の流れ)
PC-A でポートをネットワークに公開して起動し、参加者にはアドレスを伝えるだけです。接続 (ブラウザのタブ) ごとに独立したセッションが作られるため、参加者ごとの画面・パネル設定は互いに混ざりません。
2. 前提と注意点
この形態では、全参加者の操作が PC-A 上の1つのプロセスの中で処理されます。つまり誰の操作も「PC-A でアプリを起動したユーザーの権限」で実行され、接続に認証はありません。教室の LAN で・監督下で・教材データのみ、という条件で使う設計だと考えてください。
- 開けるデータを教材に限定する: 設定ファイルの
allowed_dirs(設定ファイルの詳細) で、演習データのディレクトリだけを許可しておくことを強く推奨します。参加者からは「許可ディレクトリから選ぶ」ブラウザで教材が選びやすくなる利点もあります。さらにこの形態では実質必須の設定です — 未設定だとサイドバーに「参照...」ボタンが現れますが、これはネイティブのファイル選択ダイアログをアプリが動いている PC-A の画面上に開くため、参加者がクリックしても手元のブラウザには何も起きず、固まったように見えます。allowed_dirsを設定すればこのボタンは非表示になり、ブラウザ内のファイルブラウザに置き換わります。 - 個人データを置かない・使い終わったら止める: 起動中は同じネットワークの誰でも接続できます。PC-A に見られて困るデータを置かず、演習が終わったら
Ctrl+Cで停止してください。 - 成果物の保存は「ダウンロード」を使わせる: 図・アニメーション・再現スクリプトのダウンロードは各参加者自身のブラウザに落ちるので、そのまま持ち帰れます。一方、セッションの「PC へ」保存は PC-A の
~/.climcanvas/に入るため全員で共有の一覧になります (互いに見え、上書きもできます)。セッションを残したい場合も「ダウンロード」タブを使わせてください。 - ブラウザをリロードさせない: 接続 (タブ) ごとの独立したセッションは、リロードや誤ってタブを閉じると新しいセッションに置き換わり、それまでの作業状態は消えます。演習の最初に一言案内し、長い演習では区切りごとにセッションの「ダウンロード」保存を挟ませると安全です。
- 負荷は PC-A に集中します: 描画はすべて PC-A で行われるため、参加人数 × データサイズに応じてメモリと CPU を消費します。教材はなるべく小さな netCDF にし、人数が多い場合は PC を分けることも検討してください。
3. つながらないとき: クライアントアイソレーション
Wi-Fi で参加者から PC-A に接続できない場合、最も多い原因がクライアントアイソレーション (AP アイソレーション) です。同じネットワークに繋がった端末同士の直接通信を、アクセスポイントの段階で遮断する機能です。各端末の通信を「上流 (ルーター → インターネット) 向け」だけに限定し、端末どうし宛のパケットを破棄します。不特定多数が繋ぐネットワークで隣の端末からの盗聴・攻撃を防ぐ安全策として、ゲスト Wi-Fi・ホテル・大学のキャンパス Wi-Fi (eduroam 含む) で有効になっていることが多くあります。
症状と見分け方
- どちらの端末もインターネットには普通に繋がるのに、互いへの ping や
http://<PC-A の IP>:8501への接続だけがタイムアウトします。 - パケットは PC-A に届く前に破棄されるため、PC-A 側の設定では対処できません (ファイアウォールを開けても、公開アドレスで起動しても変わりません)。
- 似た症状は別の原因でも起きるので切り分けを。よくあるのは PC-A 自身の OS ファイアウォール (Windows は「パブリック ネットワーク」プロファイルだと受信を塞ぎます) と、参加者と PC-A が別のサブネット/VLAN にいるケース (学内の経路上のファイアウォールで止められる) です。
回避策 (現実的な順)
- 演習室の有線 LAN を使う: 教室備え付けの有線ネットワークは通常アイソレーションがなく、最も確実です。
- ネットワーク管理者に相談する: 演習用にアイソレーションのない SSID/VLAN を用意してもらうか、PC-A への例外を設定してもらいます。大学ではこれが正攻法です。
- 自前のルーター/AP を持ち込む: ローカルな Wi-Fi を立てて、PC-A と参加者全員をそこに繋ぎます (インターネット接続は不要 — ClimCanvas は LAN 内で完結します)。持ち込み AP を禁止している大学もあるため、事前に確認してください。
- スマホのテザリング: 少人数なら、講師のスマホのホットスポットに全員で繋ぐ形でも動きます (ホットスポットは通常、端末間の通信を許可します)。
- トンネルサービスで一時公開する: ngrok や Cloudflare Tunnel などで PC-A から外向きにトンネルを張り、発行された公開 URL に参加者がインターネット経由で接続します。LAN 内の端末同士の直接通信を使わないため、アイソレーションの影響を受けません。ただし URL を知っていれば誰でも繋がる (可能ならサービス側の認証機能を併用する)・データが中継サーバーを経由する・無料プランには接続数の制限がある、という性質があるため、少人数・短時間・教材データのみの割り切った選択肢です。大学の利用規約も事前に確認してください。
- 学内サーバーで動かす: PC-A の代わりに、学内ネットワークから到達できるサーバーで起動します (実質リモート運用の変形になります)。
トンネルサービスの例。どちらも ClimCanvas は非公開 (127.0.0.1) のまま起動しておきます。cloudflared (Quick Tunnel) はアカウント不要・参加者は URL を開くだけですが、認証を付ける機能はありません。ngrok は無料アカウント登録が必要で、参加者の初回アクセス時に警告ページが挟まる (「Visit Site」を1回クリックさせる) 代わりに、--basic-auth で簡易認証を付けられます。
4. 運用形態の使い分け
| 形態 | アプリが動く場所 | 接続するのは | 向いている場面 |
|---|---|---|---|
| ローカル運用 | 手元の PC | 自分だけ (同じ PC) | 個人の日常利用 |
| リモート運用 | 研究室サーバー | 各利用者が SSH トンネルで、自分のプロセスに | 研究室での日常利用 (データ分離あり) |
| 演習・デモ運用 (このページ) | PC-A | 参加者全員が LAN 経由で、同じプロセスに | 演習・講習会・デモ (一時的・教材データのみ) |
リモート運用が「利用者ごとに自分の権限のプロセスを持ち、認証を SSH に任せる」構成であるのに対し、演習・デモ運用は「1つのプロセスを無認証で共有する」構成です。ただし「同じプロセスに接続する」といっても、参加者全員が同じ画面を見て操作し合うわけではありません — 1章のとおり接続ごとに独立したセッションが作られるため、各参加者の画面・パネル設定は互いに独立です。共有されるのは画面ではなく、実行の主体 (起動したユーザーの権限)・PC-A の計算資源・「PC へ」保存の保存先です。手軽さと引き換えにこの部分の利用者間の分離がないため、日常運用にはリモート運用を、一時的な多人数利用にはこのページの形態を選んでください。