教師/生徒の自動判別(最初に読む)
cc-class の最大の特徴は、すべての機器に同じパッケージをインストールすることです。インストール後、各機器は自分が「教師」か「生徒」かを自分自身で判断します。管理者は機器ごとに異なる作業をする必要はありません。
この判断は、ただ 1 つのこと、すなわち**コンピューター名(ホスト名)**に基づいて行われます。
1. ルール:どの名前が「教師」とみなされるか
機器のコンピューター名が次のいずれかに一致する場合(大文字・小文字を区別しない)、その機器は教師として扱われます。それ以外は生徒です。
- 教師キーワードを含む:名前に
teacher、jiaoshi、laoshi、または中国語の老师が含まれる。- 例:
teacher-01、JiaoShi、lab1-老师
- 例:
-t/_tの教師タグを含む:単独のtで、その前の文字が-、_、または先頭であり、その後の文字が-、_、数字、または末尾であるように区切られているもの。- 一致する:
pc-t、lab-t-01、room1-t2、PC001-T - 誤判定しない:
-test(t の後にe)、team(t の後にe)、host-time(t の後にi)
- 一致する:
技術者向け:正確なルール
教師タグは、(小文字化したうえで)正規表現 (^|[-_])t([-_]|[0-9]|$) によって照合されます。Windows インストーラー(installer.nsi)と Linux デーモン(StudentService)は同一のロジックを組み込んでいるため、教師アプリ・生徒アプリ・インストーラーの判断は常に一致します。
推奨される命名
| 役割 | コンピューター名の例 | 備考 |
|---|---|---|
| 教師 | teacher、teacher-01、PC-T、PC001-T | キーワードまたは -t タグ |
| 生徒 | PC001、PC002、stu-01、room1-15 | 普通の名前。教師タグなし |
もっとも簡単な方式
教師機を PC001-T(末尾が -T)と命名し、生徒機を PC002、PC003、… とします。 本マニュアルのデモ環境はまさにこの方式です:教師 PC001-T、生徒 PC002 と PC003。
2. クラウドデスクトップ名の優先順位(重要)
多くの実習室では、**クラウドデスクトップ/ディスクレス(IDV/VOI)**ソリューションを使用しており、多数の機器が同じイメージから起動するため、OS のホスト名が機器間で同一になることがあります。これに対処するため、cc-class は次のように名前を解決します。
- まず、プラットフォームから配信された「クラウドデスクトップのコンピューター名」を読み取ります。
- Linux:デバイス
/dev/vdchardevから。 - Windows:デバイス
\\.\vddskから。
- Linux:デバイス
- そのデバイスが存在しない/読めない/空の場合にのみ、OS のホスト名にフォールバックします。
言い換えると:クラウドデスクトップ名 > OS ホスト名。クラウドデスクトップ環境では、OS のホスト名だけでなく、管理プラットフォーム上で機器のクラウドデスクトップコンピューター名(例:PC001-T)を設定してください。
よくある落とし穴
OS のホスト名が PC001-T(教師に見える)でも、配信されるクラウドデスクトップ名が PC001(生徒)の場合、cc-class はクラウド名 PC001 を使用して生徒として扱うため、教師アプリは起動を拒否します。トラブルシューティングの際は「クラウドデスクトップのコンピューター名」を信頼してください。
3. 判断によって何が起こるか(自動的な動作)
| 機器が… の場合 | TeacherApp | StudentApp | デスクトップのショートカット |
|---|---|---|---|
| 教師 | 正常に起動 | 自動的に終了(生徒アプリは教師機では動作しない) | 教師アイコンのみを作成 |
| 生徒 | 「教師機ではないため起動しません」と表示 | 実行され、教師へ自動接続 | デスクトップアイコンを作成しない(デスクトップを clean に保つ) |
- 生徒アプリは、教師機では静かに終了します(0 を返し、邪魔をしません)。
- 教師アプリは、生徒機では警告して終了します。緊急時には、コマンドラインフラグ
--no-host-checkを追加してチェックをスキップできます(FAQ を参照)。
4. デスクトップのショートカット:自動、手作業不要
アイコンを手作業で作成する必要はありません。cc-class は役割ごとにアイコンを処理し、残っている誤った役割のアイコンも掃除します。
- 教師機:cc-class Teacher アイコンがデスクトップに配置されます。
- Linux では、生徒デーモン
StudentServiceがクラウドデスクトップ名に基づいて毎回の起動時にこれを再構築し、GNOME のmetadata::trustedを自動的に設定して、アイコンが「信頼されていないアプリケーションランチャー」として表示されないようにします(そうなるとダブルクリックしても何も起きません)。 - Windows では、インストーラーがコンピューター名に基づいて
…-Teacher.lnkを作成します。
- Linux では、生徒デーモン
- 生徒機:デスクトップアイコンは一切なし(トラブルシューティング用にアプリケーションメニューにはエントリが残ります)。
デモ環境での実際の結果(デスクトップフォルダーを確認):
# Teacher PC001-T desktop: has the teacher icon
~/Desktop/cc-class-teacher.desktop
# Student PC002 / PC003 desktops: empty (no cc-class icon)
(none)コンピューター名を変更した?
再起動するだけです。起動時にデーモンが新しい名前で役割を再評価し、デスクトップアイコンを再構築/掃除します — 完全に自動です。
5. 判断フロー
┌─────────────────────────────┐
│ 「クラウドデスクトップ名」を読む │
│ Linux: /dev/vdchardev │
│ Windows: \\.\vddsk │
└──────────────┬──────────────┘
空でない │ それ以外はフォールバック
┌──────────────▼──────────────┐
│ OS ホスト名を使う │
└──────────────┬──────────────┘
│
名前に teacher / jiaoshi / laoshi / 老师
または -t / _t の教師タグを含む?
┌───────┴───────┐
はい│ │いいえ
┌──────▼──────┐ ┌──────▼──────┐
│ 教師 │ │ 生徒 │
│ 教師を実行 │ │ 生徒を実行 │
│ アイコン作成│ │ アイコンなし│
└─────────────┘ └─────────────┘次に、プラットフォームを選んでください 👉 Windows インストール | Linux インストール