Skip to content

교사 vs 학생 자동 감지 (먼저 읽기)

cc-class의 핵심 기능은 모든 컴퓨터에 동일한 패키지를 설치한다는 것입니다. 설치 후 각 컴퓨터는 자신이 "교사"인지 "학생"인지 스스로 판단합니다 — 관리자는 컴퓨터마다 다른 작업을 할 필요가 없습니다.

이 결정은 단 하나, **컴퓨터 이름(호스트명)**에 기반합니다.

1. 규칙: 어떤 이름이 "교사"로 간주되는가

컴퓨터 이름이 다음 중 어느 하나라도 일치하면(대소문자 구분 없음) 해당 컴퓨터는 교사로 취급되고, 그렇지 않으면 학생으로 취급됩니다.

  1. 교사 키워드 포함: 이름에 teacher, jiaoshi, laoshi 또는 중국어 老师가 포함됨.
    • 예: teacher-01, JiaoShi, lab1-老师
  2. -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, 학생 PC002PC003.

2. 클라우드 데스크톱 이름 우선순위 (중요)

많은 실습실은 여러 컴퓨터가 동일한 이미지로 부팅되는 클라우드 데스크톱 / 디스크리스(IDV/VOI) 솔루션을 사용하므로, 컴퓨터들 간에 OS 호스트명이 동일할 수 있습니다. 이를 처리하기 위해 cc-class는 다음과 같이 이름을 결정합니다:

  1. 먼저, 플랫폼이 푸시한 "클라우드 데스크톱 컴퓨터 이름"을 읽습니다:
    • Linux: 디바이스 /dev/vdchardev에서;
    • Windows: 디바이스 \\.\vddsk에서.
  2. 해당 디바이스가 없거나 / 읽을 수 없거나 / 비어 있는 경우에만 OS 호스트명으로 폴백합니다.

즉, 클라우드 데스크톱 이름 > OS 호스트명입니다. 클라우드 데스크톱 환경에서는 OS 호스트명뿐 아니라 관리 플랫폼에서 해당 컴퓨터의 클라우드 데스크톱 컴퓨터 이름(예: PC001-T)을 설정하세요.

흔한 함정

OS 호스트명이 PC001-T(교사처럼 보임)이지만 푸시된 클라우드 데스크톱 이름이 PC001(학생)인 경우, cc-class는 **클라우드 이름 PC001**을 사용하여 학생으로 취급하므로 교사 앱이 시작을 거부합니다. 문제를 해결할 때는 "클라우드 데스크톱 컴퓨터 이름"을 신뢰하세요.

3. 이 결정이 일으키는 결과 (자동 동작)

컴퓨터가… 인 경우TeacherAppStudentApp바탕화면 바로 가기
교사정상적으로 시작자동으로 종료(학생 앱은 교사 컴퓨터에서 실행되지 않음)교사 아이콘만 생성
학생"교사 컴퓨터가 아니므로 시작하지 않음" 표시실행되어 교사에 자동 연결바탕화면 아이콘을 생성하지 않음(바탕화면을 깔끔하게 유지)
  • 학생 앱은 교사 컴퓨터에서 조용히 종료됩니다(0 반환, 방해 없음).
  • 교사 앱은 학생 컴퓨터에서 경고 후 종료됩니다. 긴급 상황에서는 명령줄 플래그 --no-host-check를 추가하여 검사를 건너뛸 수 있습니다(FAQ 참조).

4. 바탕화면 바로 가기: 자동, 수동 작업 불필요

아이콘을 직접 만들지 않습니다. cc-class가 역할별로 처리하고 잘못된 역할의 남은 아이콘을 정리합니다:

  • 교사 컴퓨터: cc-class 교사 아이콘이 바탕화면에 배치됩니다.
    • Linux에서는 학생 데몬 StudentService가 부팅할 때마다 클라우드 데스크톱 이름을 기준으로 아이콘을 다시 만들고, GNOME의 metadata::trusted를 자동으로 설정하여 아이콘이 "신뢰할 수 없는 응용 프로그램 실행기"로 표시되지 않게 합니다(그럴 경우 더블클릭해도 아무 일도 일어나지 않음).
    • Windows에서는 설치 프로그램이 컴퓨터 이름을 기준으로 …-Teacher.lnk를 생성합니다.
  • 학생 컴퓨터: 바탕화면 아이콘 전혀 없음(문제 해결용으로 응용 프로그램 메뉴에는 항목이 남아 있음).

데모 환경에서의 실제 결과(바탕화면 폴더 확인):

text
# 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 설치