설치 (Linux / 신창)
cc-class는 **amd64(x86_64)**와 arm64(국산/신창: Phytium, Kunpeng 등)용 Linux 패키지를 제공합니다. 교사/학생 역할은 여전히 컴퓨터 이름으로 결정됩니다(자동 감지 참조).
사용 가능한 패키지:
cc-class_1.0.18_amd64.deb # x86_64 online install (auto-pulls deps)
cc-class_1.0.18_arm64.deb # arm64 / Xinchuang
cc-class_1.0.18_amd64-offline.tar.gz # offline bundle (all deps + install.sh)1. 온라인 설치 (컴퓨터에 apt 소스가 있는 경우)
sudo apt install ./cc-class_1.0.18_amd64.debapt는 런타임 의존성(xdotool, wmctrl, x11-utils, libxtst6, ffmpeg, libssl3, 오디오/폰트 라이브러리 등)을 가져옵니다.
2. 오프라인 설치 (apt 소스 없음 — 실습실에 권장)
오프라인 번들에는 메인 .deb, 모든 의존성 .deb, 그리고 install.sh가 포함되어 있습니다:
tar xzf cc-class_1.0.18_amd64-offline.tar.gz
cd cc-class_1.0.18_amd64-offline
sudo ./install.shinstall.sh는 deps/의 의존성을 dpkg로 설치한 다음 메인 패키지를 설치합니다 — 인터넷도 apt 소스도 필요 없습니다.
제거
sudo ./install.sh --uninstall, 또는 sudo apt remove cc-class.
3. 설치가 수행하는 작업
| 항목 | 세부 내용 |
|---|---|
| 프로그램 디렉터리 | /opt/cc-class/(TeacherApp, StudentApp, StudentService, libs/, plugins/, tools/ffmpeg, start_teacher.sh, start_student.sh) |
| 앱 메뉴 | /usr/share/applications/cc-class-teacher.desktop, cc-class-student.desktop |
| systemd 서비스 | cc-class-student.service(자동 시작, 학생 앱 보호)cc-class-teacher.service(수동 시작, 필요 시) |
| udev 규칙 | 99-cc-class-vdchardev.rules: 일반 사용자가 역할 감지(클라우드 데스크톱 이름)를 위해 /dev/vdchardev를 읽을 수 있게 함 |
| 바탕화면 아이콘 | 부팅 시 학생 데몬이 역할별로 처리: 교사는 아이콘을 받고, 학생은 받지 않음 |
| Wayland | GDM을 Xorg로 자동 전환(아래 참조) |
Wayland → Xorg에 대하여 (필독)
Ubuntu 22.04/24.04는 기본적으로 Wayland 세션을 사용하지만, Wayland에서는 화면 방송(캡처)과 원격 제어(XTest 주입)가 작동하지 않습니다 — 모든 강의실 소프트웨어에 공통된 제약입니다.
그래서 패키지는 GDM에서 Wayland를 자동으로 비활성화합니다(/etc/gdm3/custom.conf에 WaylandEnable=false 추가; 원본은 *.cc-class-orig로 백업되며 제거 시 복원됨).
적용하려면 로그아웃/재부팅 필요
GDM이 재구성된 후 로그아웃했다가 다시 로그인하여 로그인 화면에서 Xorg 세션을 선택하세요(또는 그냥 재부팅). 그렇지 않으면 교사 앱이 "Wayland 감지됨, 방송/원격 제어를 사용할 수 없음"이라고 경고합니다.
4. 실행
학생 컴퓨터: 설치 후
cc-class-student.service를 통해 자동으로 실행됨 — 할 일 없음.교사 컴퓨터: cc-class 교사 바탕화면 아이콘을 더블클릭하거나:
bashsystemctl start cc-class-teacher # start via the service # or run directly /opt/cc-class/start_teacher.sh처음 실행 시 교육 채널을 선택하면 메인 창이 열립니다.
서비스 수동 관리
systemctl status cc-class-student # student daemon status
systemctl restart cc-class-student # restart (re-evaluates role after a rename)
journalctl -u cc-class-student -e # logs데몬의 역할 결정 로그(감지된 컴퓨터 이름과 교사/학생 결과)는 /tmp/cc-class-service.log에 기록되며, 문제 해결에 유용합니다.
5. arm64 / 신창
arm64는 cc-class_1.0.18_arm64.deb 또는 그에 맞는 오프라인 번들을 사용하여 amd64와 정확히 동일하게 설치됩니다. arm64 의존성은 deps/arm64/ 아래에 미리 번들로 제공됩니다.