Skip to content

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.

  1. Contiene una palabra clave de profesor: el nombre incluye teacher, jiaoshi, laoshi, o el chino 老师.
    • p. ej. teacher-01, JiaoShi, lab1-老师
  2. Contiene una etiqueta de profesor -t / _t: una t independiente 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 de e), team (t seguida de e), host-time (t seguida de i)
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

RolEjemplo de nombre de equipoNota
Profesorteacher, teacher-01, PC-T, PC001-Tpalabra clave o etiqueta -t
AlumnoPC001, PC002, stu-01, room1-15nombre 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í:

  1. 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.
  2. 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…TeacherAppStudentAppAcceso directo del escritorio
Profesorse inicia normalmentese cierra automáticamente (la aplicación de alumno no se ejecuta en un profesor)crea solo el icono de Profesor
Alumnomuestra "no es una máquina de profesor, no se iniciará"se ejecuta y se conecta automáticamente al profesorno 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-check para 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 StudentService lo reconstruye en cada arranque según el nombre de escritorio en la nube, y configura automáticamente metadata::trusted de 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.lnk según el nombre del equipo.
  • 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):

text
# 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 WindowsInstalación en Linux