Repository navigation
ldm 3.4.10-1
Options a client picks by the FreeRDP it actually has, for a fleet halfway through a migration.
Some clients still run FreeRDP 2, others already run 3, and one RDP_OPTIONS line cannot serve them: the two do not take the same spellings. FreeRDP 3 rejects what it does not know by printing its entire help and exiting before it connects — which on a client looks like the session ending the instant the greeter disappears, with nothing said anywhere the user can see.
Measured against 3.15.0, these are refused:
| Written for FreeRDP 2 | FreeRDP 3 |
|---|---|
/cert-ignore |
/cert:ignore |
/kbd:0x00000407, /kbd:German, /kbd:de |
/kbd:layout:0x407 |
-sec-nla |
/sec:nla:off or /sec:rdp |
/gfx-h264:avc420 |
/gfx:avc420 |
/tls-seclevel:0 |
/tls:seclevel:0 |
+async-input, +glyph-cache |
gone, drop them |
/cert-ignore is in practically every configuration written for FreeRDP 2, so rewriting RDP_OPTIONS for the new clients breaks every old one — and the usual answer, a per-client section naming every machine, means knowing in advance which is which, which is exactly what nobody has during a migration.
RDP3_OPTIONS and RDP2_OPTIONS are read only by a client about to run that major version, with RDP3_OPTIONS_<screen> beside the RDP_OPTIONS_<screen> that already existed:
RDP3_OPTIONS_07 that version, that screen
RDP3_OPTIONS that version
RDP_OPTIONS_07 that screen, whatever the version
RDP_OPTIONS everybody
The first that exists wins outright rather than adding to the one below it — a line still carrying /cert-ignore would defeat the point. The client decides for itself: the binary's name settles the version in the normal case, and where it does not (an admin pointing RDP_XFREERDP_BIN at something of their own) the binary is asked once with --version. So no machine has to be listed anywhere, and the RDP_OPTIONS line the old fleet depends on is never touched.
A half-migrated site therefore needs two lines and no inventory:
RDP_OPTIONS="/cert-ignore /sound +clipboard /f" # unchanged
RDP3_OPTIONS="/cert:ignore /sound +clipboard /f" # only clients with FreeRDP 3
Also: the variable that won is written to the log with its value. The first question when a session dies immediately is which options it started with, and until now the log said only "Verwende Standard RDP_OPTIONS".
See lts.conf(5) in ltsp 6.3.26-1, which carries the full list — including the long list of options that did survive, because the useful answer to "will my line break" is mostly no, with those few exceptions.