# Model ## Terms - Linux console: kernel console implementation. - Virtual console / VT: numbered console, usually `/dev/ttyN`. - pty: pseudo-terminal, usually `/dev/pts/N`; not a real VT. - `TERM=linux`: terminfo name commonly used by Linux VTs. - framebuffer console / `fbcon`: kernel console display path on many systems. ## Detection Evaluate the target session, not the agent's execution context. Strong signal from the target: ```text /dev/ttyN + TERM=linux ``` `/dev/pts/N` identifies the probed session as a pty, not the user's separate VT. Agent output of `/dev/pts/N` or `not a tty` leaves the target unknown. Confirm the target host and VT; continue remote diagnosis rather than stopping. Use exact user wording too: `tty1`, `tty2`, `virtual console`, `linux console`, `Ctrl+Alt+F1`, `getty`, `fbcon`. ## Terminfo `infocmp -1 linux` shows what `clear`, `reset`, curses apps, and terminfo-aware programs will emit. Inspect, do not assume: ```sh infocmp -1 linux | grep -E 'clear|rs1|rs2|rs3|oc|op|initc|sgr0' ``` ## Clear vs Reset `clear` normally clears/redraws screen state. `reset` reinitializes terminal state via terminfo reset strings. It may undo palette/display state. Confirm through `infocmp -1 linux` and `man reset`. ## Escape Controls `console_codes(4)` is source of truth for Linux-console control sequences. Stable topics there: - control chars - ESC / CSI / OSC sequences - SGR attributes - palette controls - private Linux console sequences Avoid hard-wiring controls unless the task explicitly needs raw escapes. Prefer terminfo-aware tools when possible. ## Screen Memory `vcs(4)` documents `/dev/vcsN` and `/dev/vcsaN` screen-memory devices. They can help inspect or dump VTs. Access depends on device permissions. Prefer `setterm --dump` for simple snapshots when available. ## Low-level ioctls `ioctl_console(2)` describes Linux-specific console/VT ioctls and warns they are internal-ish. Prefer user tools unless low-level work is requested.