GUACAMOLE-2220: Kubernetes: add support for terminal-type.#1207
Merged
necouchman merged 1 commit intoJun 12, 2026
Merged
Conversation
This was referenced May 6, 2026
necouchman
reviewed
May 20, 2026
4f1b48e to
2908053
Compare
necouchman
approved these changes
Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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:
Attach mode has no command line, so the terminal type is not propagated automatically.
terminal-typefor Kubernetes sessions.conditionalLabelforField, so a form field can replace its label based on another field's value.conditionalLabelis used for the Kubernetesterminal-typelabel:exec-commandis empty, the label uses the defaultTerminal type (set manually in session):.