Install (Linux / Xinchuang)
cc-class ships Linux packages for amd64 (x86_64) and arm64 (domestic/Xinchuang: Phytium, Kunpeng, etc.). The teacher/student role is still decided by the computer name (see Auto-detection).
Available packages:
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. Online install (machine has an apt source)
sudo apt install ./cc-class_1.0.18_amd64.debapt pulls in the runtime dependencies (xdotool, wmctrl, x11-utils, libxtst6, ffmpeg, libssl3, audio/font libs, etc.).
2. Offline install (no apt source — recommended for labs)
The offline bundle contains the main .deb, every dependency .deb, and 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 installs the deps from deps/ with dpkg, then the main package — no internet and no apt source required.
Uninstall
sudo ./install.sh --uninstall, or sudo apt remove cc-class.
3. What the install does
| Item | Details |
|---|---|
| Program dir | /opt/cc-class/ (TeacherApp, StudentApp, StudentService, libs/, plugins/, tools/ffmpeg, start_teacher.sh, start_student.sh) |
| App menu | /usr/share/applications/cc-class-teacher.desktop, cc-class-student.desktop |
| systemd services | cc-class-student.service (auto-start, guards the student app)cc-class-teacher.service (manual start, on demand) |
| udev rule | 99-cc-class-vdchardev.rules: lets normal users read /dev/vdchardev for role detection (cloud-desktop name) |
| Desktop icon | handled by the student daemon at boot per role: teacher gets the icon, student gets none |
| Wayland | automatically switches GDM to Xorg (see below) |
About Wayland → Xorg (must read)
Ubuntu 22.04/24.04 default to a Wayland session, but under Wayland screen broadcast (capture) and remote control (XTest injection) do not work — a limitation common to all classroom software.
So the package disables Wayland in GDM automatically (/etc/gdm3/custom.conf gets WaylandEnable=false; the original is backed up as *.cc-class-orig and restored on uninstall).
Requires logout/reboot to take effect
After GDM is reconfigured, log out and back in, ensuring an Xorg session at the login screen (or just reboot). Otherwise the teacher app warns "Wayland detected, broadcast/remote control unavailable".
4. Running
Student machine: runs automatically via
cc-class-student.serviceafter install — nothing to do.Teacher machine: double-click the cc-class Teacher desktop icon, or:
bashsystemctl start cc-class-teacher # start via the service # or run directly /opt/cc-class/start_teacher.shOn first launch you choose a teaching channel, then the main window opens.
Managing the service manually
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 # logsThe daemon's role-decision log (the detected computer name and teacher/student result) is written to /tmp/cc-class-service.log, which is handy for troubleshooting.
5. arm64 / Xinchuang
arm64 installs exactly like amd64, using cc-class_1.0.18_arm64.deb or the matching offline bundle. arm64 dependencies are pre-bundled under deps/arm64/.
Next 👉 Teacher Guide | Student Guide