GUI Reference — sysreseval¶
Launching¶
source venv/bin/activate && python3 src/sysreseval.py # dev
sysreseval # production
One instance per user. A PID file at /tmp/sysreseval-{uid}.pid kills any prior instance on startup.
Opening a project¶
File → Open Project (or the + tab) shows a dialog built from sre list --with-titles. Leaves display each lab’s translated title (from per-directory titles.json sidecars, generated by sre make-titles), falling back to the filename without .py. If the lab’s Flavor sets flavor_form_at_startup = True, a form runs first. A progress dialog then tracks image pulls and container starts (JSON on stderr from sre start); the project tab appears when every machine is up.
During an exam, Open Project is disabled — only pre-authorised exam labs open automatically.
Project tabs¶
Tab |
Content |
|---|---|
Schema |
SVG topology rendered by graphviz at lab start. Scroll = zoom, click-drag = pan. |
Informations |
Markdown lab description from |
Machines |
Per-machine state (polled from Kathara every 1 s), NAT network, ports, plus a Connect button opening an external terminal. |
Questions |
Three types: |
Evaluation |
Last grade table + Start evaluation button. Letter grades (OK/MEH/FAIL) appear when the lab sets |
Terminals |
Embedded terminals per machine, launched via |
answers/answers.json also carries metadata (hostname, login, fullname, email, language, answers_updated_at, plus exam_* fields in exam mode); see Archive format for the full schema.
Start evaluation runs sre eval --auto-eval in a background thread. The periodic background eval (eval_interval_without_exam_mode) and eval_before_exit run plain sre eval (no cooldown, no log line, no stdout).
Exam mode¶
When /var/lib/sre/exam.json exists, the GUI switches modes: File → Open / Close / Close All are disabled, and answers re-save with an updated exam_time_remaining on every exam-config change.
Phase |
Trigger |
Shows / actions |
|---|---|---|
Waiting |
|
SRE logo + countdown to |
Active |
|
Project tabs + remaining-time countdown. Calls |
Ended |
|
Calls |
Settings¶
File → Settings (persisted in ~/.config/sysreseval, INI):
Section |
Setting |
Default |
Effect / applies |
|---|---|---|---|
Interface |
Font size |
10 pt |
Menus and dialog text; immediate |
Terminal |
Font size |
12 pt |
Terminals opened after the change |
Terminal |
Color scheme |
Black on White |
|
Schema |
Lines |
Straight |
Straight or curved edges; next lab open |
Schema |
Spacing |
3 (0–9) |
Node spacing; next lab open |
Schema |
Nodes |
Shapes |
Icons or geometric shapes; next lab open |
Content |
Font size |
12 pt |
Informations + Questions panes; immediate |