Skip to content

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:

text
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)

bash
sudo apt install ./cc-class_1.0.18_amd64.deb

apt pulls in the runtime dependencies (xdotool, wmctrl, x11-utils, libxtst6, ffmpeg, libssl3, audio/font libs, etc.).

The offline bundle contains the main .deb, every dependency .deb, and install.sh:

bash
tar xzf cc-class_1.0.18_amd64-offline.tar.gz
cd cc-class_1.0.18_amd64-offline
sudo ./install.sh

install.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

ItemDetails
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 servicescc-class-student.service (auto-start, guards the student app)
cc-class-teacher.service (manual start, on demand)
udev rule99-cc-class-vdchardev.rules: lets normal users read /dev/vdchardev for role detection (cloud-desktop name)
Desktop iconhandled by the student daemon at boot per role: teacher gets the icon, student gets none
Waylandautomatically 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.service after install — nothing to do.

  • Teacher machine: double-click the cc-class Teacher desktop icon, or:

    bash
    systemctl start cc-class-teacher        # start via the service
    # or run directly
    /opt/cc-class/start_teacher.sh

    On first launch you choose a teaching channel, then the main window opens.

Managing the service manually

bash
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

The 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 GuideStudent Guide