nexus-exam
Introduction
- Client program only used during live exams
- Features a GUI that allows students to connect to their exam VM
The purpose of nexus-exam is to be used during live exam sessions. Students are provided with laptops configured to boot on dedicated USB keys. These USB keys feature a minimal Linux system that automatically runs nexus-exam at boot time.
If the IT infrastucture allows it, nexus-exam can be run from a dedicated OS image bootable via PXE (wired network).
Below is a screenshot of nexus-exam's graphical interface:

Building nexus-exam
This section about nexus-exam is only here for completeness and should only matter to developers.
For now, the only supported combination of OS and architecture for nexus-exam is Linux/amd64.
nexus-exam requires three environment variables at build time:
SERVER (server ip and port)
EXAM_USER
EXAM_PWD
Here is an example of how to build nexus-exam:
make build SERVER=10.0.2.15:1077 EXAM_USER=my_exam_user EXAM_PWD='my_secret_password'
On the server side, make sure this user has capability EXAM_ATTACH.
Running nexus-exam
Given server, port and credentials are embedded in nexus-exam, running it is simply a matter of executing:
make run
or:
build/nexus-exam
Notes
nexus-exam authenticates to the server with embedded credentials (set at build time).
- Students only type the VM attach password provided by the teacher. The VM ID is resolved server-side through the route
/vms/spicecreds.
- The exam user should have capability
EXAM_ATTACH.
- On the client machine,
remote-viewer must be installed (typically through package virt-viewer).