[ https://issues.apache.org/jira/browse/GUACAMOLE-1196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17871804#comment-17871804 ]
Nick Couchman edited comment on GUACAMOLE-1196 at 8/7/24 11:30 PM: ------------------------------------------------------------------- Reopening as the build is failing for some platforms with older versions of libVNCServer: * Rocky Linux 8 and 9 * Debian 11 ("Bullseye", "oldstable") * Ubuntu 18.04 ("Bionic") The build failure is: {code:none} CC libguac_client_vnc_la-display.lo display.c: In function 'guac_vnc_send_desktop_size': display.c:185:15: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 185 | if (client->screen.width == 0 || client->screen.height == 0) { | ^~ display.c:185:44: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 185 | if (client->screen.width == 0 || client->screen.height == 0) { | ^~ display.c:191:15: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 191 | if (client->screen.width == rfbClientSwap16IfLE(width) && client->screen.height == rfbClientSwap16IfLE(height)) { | ^~ display.c:191:69: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 191 | if (client->screen.width == rfbClientSwap16IfLE(width) && client->screen.height == rfbClientSwap16IfLE(height)) { | ^~ display.c:217:27: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 217 | new_screen.id = client->screen.id; | ^~ display.c:218:26: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 218 | new_screen.x = client->screen.x; | ^~ display.c:219:26: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 219 | new_screen.y = client->screen.y; | ^~ display.c:220:30: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 220 | new_screen.flags = client->screen.flags; | ^~ display.c:225:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'requestedResize' 225 | client->requestedResize = TRUE; | ^~ display.c:237:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 237 | client->screen.width = rfbClientSwap16IfLE(width); | ^~ display.c:238:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 238 | client->screen.height = rfbClientSwap16IfLE(height); | ^~ display.c:241:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'requestedResize' 241 | client->requestedResize = FALSE; | ^~ make[2]: Leaving directory '/build/guacamole-server/src/protocols/vnc' make[2]: *** [Makefile:618: libguac_client_vnc_la-display.lo] Error 1 make[1]: *** [Makefile:542: all-recursive] Error 1 make[1]: Leaving directory '/build/guacamole-server' make: *** [Makefile:462: all] Error 2 {code} If there are no older alternatives for obtaining and communicating the same information, I think we'll need some additional configure tests to determine whether {{rfbClient}} supports dynamic resize. Interestingly I developed it on Rocky 8, so the fact that it is missing there is...odd. was (Author: mike.jumper): Reopening as the build is failing for some platforms with older versions of libVNCServer: * Rocky Linux 8 and 9 * Debian 11 ("Bullseye", "oldstable") * Ubuntu 18.04 ("Bionic") The build failure is: {code:none} CC libguac_client_vnc_la-display.lo display.c: In function 'guac_vnc_send_desktop_size': display.c:185:15: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 185 | if (client->screen.width == 0 || client->screen.height == 0) { | ^~ display.c:185:44: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 185 | if (client->screen.width == 0 || client->screen.height == 0) { | ^~ display.c:191:15: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 191 | if (client->screen.width == rfbClientSwap16IfLE(width) && client->screen.height == rfbClientSwap16IfLE(height)) { | ^~ display.c:191:69: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 191 | if (client->screen.width == rfbClientSwap16IfLE(width) && client->screen.height == rfbClientSwap16IfLE(height)) { | ^~ display.c:217:27: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 217 | new_screen.id = client->screen.id; | ^~ display.c:218:26: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 218 | new_screen.x = client->screen.x; | ^~ display.c:219:26: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 219 | new_screen.y = client->screen.y; | ^~ display.c:220:30: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 220 | new_screen.flags = client->screen.flags; | ^~ display.c:225:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'requestedResize' 225 | client->requestedResize = TRUE; | ^~ display.c:237:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 237 | client->screen.width = rfbClientSwap16IfLE(width); | ^~ display.c:238:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'screen' 238 | client->screen.height = rfbClientSwap16IfLE(height); | ^~ display.c:241:11: error: 'rfbClient' {aka 'struct _rfbClient'} has no member named 'requestedResize' 241 | client->requestedResize = FALSE; | ^~ make[2]: Leaving directory '/build/guacamole-server/src/protocols/vnc' make[2]: *** [Makefile:618: libguac_client_vnc_la-display.lo] Error 1 make[1]: *** [Makefile:542: all-recursive] Error 1 make[1]: Leaving directory '/build/guacamole-server' make: *** [Makefile:462: all] Error 2 {code} If there are no older alternatives for obtaining and communicating the same information, I think we'll need some additional configure tests to determine whether {{rfbClient}} supports dynamic resize. > Add auto resize to VNC sessions > ------------------------------- > > Key: GUACAMOLE-1196 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1196 > Project: Guacamole > Issue Type: Improvement > Components: Documentation, VNC > Reporter: Markus Bonet > Assignee: Nick Couchman > Priority: Minor > Fix For: 1.6.0 > > > As discussed on the mailing list: > {quote} > I'm running a TigerVNC session on the server where Guacamole is installed. If > I connect with the TigerVNC viewer there is this nice feature that the remote > desktop is automatically resized if the viewer window is resized, like this > if offered with RDP already. > Is there a configuration how to achieve this with a Guacamole session as well > for my VNC connection? > {quote} > Historically, this could not be done without corresponding support within > libvncclient. This should now be possible through handling the required > message type ({{SetDesktopSize}}): > {quote} > Unfortunately my team had to come up with a home baked solution for this > about 2 years ago. But it involved hacking up libvnc. > BUT, I think it is feasible to submit a feature request for it because now > libvnc recently tagged a new version that includes the message type that > guacamole needs to do this: > Tag: https://github.com/LibVNC/libvncserver/releases/tag/LibVNCServer-0.9.13 > New message: > https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#setdesktopsize > {quote} > See: > [http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/Auto-resize-of-VNC-sessions-td9511.html] -- This message was sent by Atlassian Jira (v8.20.10#820010)