Detección automática profesor/alumno (leer primero)
La característica definitoria de cc-class es que instalas el mismo paquete en todas las máquinas. Tras la instalación, cada máquina determina por sí misma si es un "profesor" o un "alumno" — los administradores no necesitan hacer nada distinto en cada máquina.
La decisión se basa en una sola cosa: el nombre del equipo (hostname).
1. La regla: qué nombres cuentan como "profesor"
Una máquina se considera profesor si su nombre de equipo coincide con cualquiera de los siguientes (sin distinguir mayúsculas/minúsculas); de lo contrario es un alumno.
- Contiene una palabra clave de profesor: el nombre incluye
teacher,jiaoshi,laoshi, o el chino老师.- p. ej.
teacher-01,JiaoShi,lab1-老师
- p. ej.
- Contiene una etiqueta de profesor
-t/_t: unatindependiente delimitada de modo que el carácter anterior sea-,_o el inicio, y el carácter posterior sea-,_, un dígito o el final.- Coincide con:
pc-t,lab-t-01,room1-t2,PC001-T - No se dispara erróneamente con:
-test(t seguida dee),team(t seguida dee),host-time(t seguida dei)
- Coincide con:
Para técnicos: la regla exacta
La etiqueta de profesor se identifica con la expresión regular (^|[-_])t([-_]|[0-9]|$) (tras pasar a minúsculas). El instalador de Windows (installer.nsi) y el demonio de Linux (StudentService) incorporan una lógica idéntica, de modo que la aplicación del profesor, la del alumno y el instalador siempre coinciden.
Nomenclatura recomendada
| Rol | Ejemplo de nombre de equipo | Nota |
|---|---|---|
| Profesor | teacher, teacher-01, PC-T, PC001-T | palabra clave o etiqueta -t |
| Alumno | PC001, PC002, stu-01, room1-15 | nombre simple, sin etiqueta de profesor |
El esquema más fácil
Nombra la máquina del profesor PC001-T (terminada en -T), y los alumnos PC002, PC003, … El entorno de demostración de este manual usa exactamente eso: profesor PC001-T, alumnos PC002 y PC003.
2. Prioridad del nombre de escritorio en la nube (importante)
Muchos laboratorios usan soluciones de escritorio en la nube / sin disco (IDV/VOI) donde muchas máquinas arrancan desde la misma imagen, por lo que el hostname del sistema operativo puede ser idéntico en todas las máquinas. Para gestionarlo, cc-class resuelve el nombre así:
- Primero, lee el "nombre de equipo de escritorio en la nube" que envía la plataforma:
- Linux: desde el dispositivo
/dev/vdchardev; - Windows: desde el dispositivo
\\.\vddsk.
- Linux: desde el dispositivo
- Solo si ese dispositivo está ausente / es ilegible / está vacío recurre al hostname del sistema operativo.
En otras palabras: nombre de escritorio en la nube > hostname del sistema operativo. En un entorno de escritorio en la nube, configura el nombre de equipo de escritorio en la nube de la máquina (p. ej. PC001-T) en la plataforma de gestión — no solo el hostname del sistema operativo.
Error común
Si el hostname del sistema operativo es PC001-T (parece un profesor) pero el nombre de escritorio en la nube que se envía es PC001 (un alumno), cc-class usa el nombre en la nube PC001 y lo trata como alumno, por lo que la aplicación del profesor se niega a iniciarse. Al diagnosticar, confía en el "nombre de equipo de escritorio en la nube".
3. Qué provoca la decisión (comportamiento automático)
| Si la máquina es… | TeacherApp | StudentApp | Acceso directo del escritorio |
|---|---|---|---|
| Profesor | se inicia normalmente | se cierra automáticamente (la aplicación de alumno no se ejecuta en un profesor) | crea solo el icono de Profesor |
| Alumno | muestra "no es una máquina de profesor, no se iniciará" | se ejecuta y se conecta automáticamente al profesor | no crea ningún icono en el escritorio (mantiene el escritorio limpio) |
- La aplicación de alumno se cierra discretamente en una máquina de profesor (devuelve 0, sin molestias).
- La aplicación de profesor advierte y se cierra en una máquina de alumno. En emergencias puedes añadir el indicador de línea de comandos
--no-host-checkpara omitir la comprobación (consulta las preguntas frecuentes).
4. Accesos directos del escritorio: automáticos, sin trabajo manual
No creas iconos a mano. cc-class los gestiona según el rol y limpia cualquier icono residual de rol incorrecto:
- Máquina de profesor: se coloca un icono cc-class Teacher en el escritorio.
- En Linux, el demonio de alumno
StudentServicelo reconstruye en cada arranque según el nombre de escritorio en la nube, y configura automáticamentemetadata::trustedde GNOME para que el icono no se muestre como un "lanzador de aplicación no fiable" (lo que haría que el doble clic no hiciera nada). - En Windows, el instalador crea
…-Teacher.lnksegún el nombre del equipo.
- En Linux, el demonio de alumno
- Máquina de alumno: ningún icono en el escritorio (sigue existiendo una entrada en el menú de aplicaciones para diagnóstico).
Resultado real en el entorno de demostración (comprobando las carpetas del escritorio):
# Teacher PC001-T desktop: has the teacher icon
~/Desktop/cc-class-teacher.desktop
# Student PC002 / PC003 desktops: empty (no cc-class icon)
(none)¿Cambiaste el nombre del equipo?
Simplemente reinicia. Al arrancar, el demonio reevalúa el rol con el nuevo nombre y reconstruye/limpia el icono del escritorio — totalmente automático.
5. Flujo de decisión
┌─────────────────────────────┐
│ Leer "nombre en la nube" │
│ Linux: /dev/vdchardev │
│ Windows: \\.\vddsk │
└──────────────┬──────────────┘
no vacío │ si no, recurrir a
┌──────────────▼──────────────┐
│ Usar el hostname del SO │
└──────────────┬──────────────┘
│
¿el nombre contiene teacher / jiaoshi / laoshi / 老师
o una etiqueta de profesor -t / _t?
┌───────┴───────┐
sí│ │no
┌──────▼──────┐ ┌──────▼──────┐
│ Profesor │ │ Alumno │
│ ejec. prof. │ │ ejec. alum. │
│ crear icono │ │ sin icono │
└─────────────┘ └─────────────┘A continuación, elige tu plataforma 👉 Instalación en Windows | Instalación en Linux