Skip to content

GUACAMOLE-2220: Kubernetes: add support for terminal-type.#1207

Merged
necouchman merged 1 commit into
apache:staging/1.6.1from
bbennett-ks:GUACAMOLE-2220-terminal-modifier-keys
Jun 12, 2026
Merged

GUACAMOLE-2220: Kubernetes: add support for terminal-type.#1207
necouchman merged 1 commit into
apache:staging/1.6.1from
bbennett-ks:GUACAMOLE-2220-terminal-modifier-keys

Conversation

@bbennett-ks

@bbennett-ks bbennett-ks commented May 6, 2026

Copy link
Copy Markdown
Contributor

Related PRs

GUACAMOLE-2220 (server 637)
GUACAMOLE-2220 (manual 291)

Overview

Unlike SSH and Telnet, Kubernetes sessions do not automatically pass a terminal type. Kubernetes exposes stdin, stdout, and stderr, but has no built-in way to propagate the TERM environment variable.

Kubernetes supports two connection modes:

  • Attach: connect stdin/stdout/stderr to the main process already running in the container.
  • Exec: start a new process in the container and connect to that process.

Because Kubernetes does not pass the terminal type itself, this change adds a server-side substitution mechanism for Exec sessions: Any $TERM in the Exec command line is replaced with the configured terminal type when the session starts. This lets users decide whether and how to pass the terminal type, for example:

env TERM=$TERM /bin/bash

Attach mode has no command line, so the terminal type is not propagated automatically.

  • Adds support for terminal-type for Kubernetes sessions.
  • Adds conditionalLabel for Field, so a form field can replace its label based on another field's value.
  • conditionalLabel is used for the Kubernetes terminal-type label:
    • If exec-command is empty, the label uses the default Terminal type (set manually in session):.
image - Else, (a command was specified), the label switches to `Terminal type (available as $TERM in command):`. image

Comment thread guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java
@bbennett-ks bbennett-ks force-pushed the GUACAMOLE-2220-terminal-modifier-keys branch from 4f1b48e to 2908053 Compare May 20, 2026 22:47
@bbennett-ks bbennett-ks requested a review from necouchman June 12, 2026 13:53
@necouchman necouchman merged commit 6d37d67 into apache:staging/1.6.1 Jun 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants