Skip to content

GUACAMOLE-2301: Add serial console protocol support (web client) - #1230

Open
ciroiriarte wants to merge 5 commits into
apache:mainfrom
ciroiriarte:feature/serial-protocol
Open

GUACAMOLE-2301: Add serial console protocol support (web client)#1230
ciroiriarte wants to merge 5 commits into
apache:mainfrom
ciroiriarte:feature/serial-protocol

Conversation

@ciroiriarte

@ciroiriarte ciroiriarte commented Jul 17, 2026

Copy link
Copy Markdown

Summary

Web-client support for the new serial console protocol (GUACAMOLE-2301), the companion to the guacamole-server PR. Adds the connection form, translations, and protocol registration so serial connections can be created and used from the Guacamole web interface.

Changes

  • Serial connection parameter form (serial.json) covering connection type and network protocol (raw/rfc2217/telnet), local device, network host/port, reverse-mode (reverse-connect, bind-address, listen-timeout), serial line settings (baud, data/stop bits, parity, flow control, line ending), features (break duration, paste delay, local echo, hangup-on-close), display, clipboard, recording, and typescript sections.
  • English translation strings for all serial fields and options.
  • Registration of serial in LocalEnvironment's known protocols so the connection editor lists it.
  • Client-side controls for Send Break and DTR/RTS.

Testing

The serial connection form was exercised in the administration interface (all sections render; the network-protocol list includes Raw/RFC 2217/Telnet; the reverse-mode fields appear), and connections were driven end-to-end through the browser against real hardware and a QEMU virtual serial console. Evidence is attached to GUACAMOLE-2301.

Coordinated PRs

Add the serial connection-parameter form (serial.json) and English
translations (PROTOCOL_SERIAL) for the new guacd serial protocol,
mirroring the telnet/ssh forms and the IPMI feature branch's
translation conventions.

Also add a minimal "Send Break" menu control, surfaced only for
serial connections, that opens the server's "serial-control" pipe
stream and writes the literal command "break", mirroring the pipe-
stream idiom already used by ManagedClient.setClipboard/sendArguments.
… controls

Adds the auto-reconnect, line-ending, local-echo, and hangup-on-close
connection parameters, and DTR/RTS control-line buttons in the serial
console menu (writing dtr-on/dtr-off/rts-on/rts-off to the serial-control
pipe, reusing the Send Break mechanism).
…ROTOCOLS

The serial protocol descriptor (serial.json) and translations were present,
but Guacamole enumerates available protocols from the hardcoded KNOWN_PROTOCOLS
list in LocalEnvironment, not from the descriptors on the classpath. Without a
"serial" entry there, serial.json was never loaded, so the protocol was absent
from the connection-editor's protocol dropdown and the admin form could not be
used to create serial connections (runtime connections via user-mapping were
unaffected). Add "serial" to KNOWN_PROTOCOLS so the connection form renders.
Expose the reverse (listen) mode parameters in the serial connection
form and English translation: reverse-connect, bind-address, and
listen-timeout, grouped under the Network section.
Add the telnet transport to the network-protocol choices in the serial
connection form and English translation.
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.

1 participant