VNC connection to LXC VM

Hello,

after upgrading my OpenNebula from 7.0.1 to 7.4.0, I can’t run a VNC connection to a LXC virtual machine. I receive these errors (all reported on server, not in LXC hypervisor node, that is a different system than server):

  • /var/log/syslog:
[...]
Sep  7 09:34:40 nebulacaos-1-test systemd[1]: Condition check resulted in OpenNebula SSH persistent connection cleaner being skipped.
Sep  7 09:34:46 nebulacaos-1-test guacd[1606]: Creating new client for protocol "vnc"
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[1606]: guacd[1606]: INFO:#011Creating new client for protocol "vnc"
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[1606]: guacd[1606]: INFO:#011Connection ID is "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea"
Sep  7 09:34:46 nebulacaos-1-test guacd[1606]: Connection ID is "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea"
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: Cursor rendering: local
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[562604]: guacd[562604]: INFO:#011Cursor rendering: local
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[562604]: guacd[562604]: WARNING:#011The libvncclient library does not support remote resize.
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[562604]: guacd[562604]: INFO:#011User "@3bcae175-5b9f-4f9e-94e7-ac846d9a118f" joined connection "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea" (1 users now present)
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: The libvncclient library does not support remote resize.
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: User "@3bcae175-5b9f-4f9e-94e7-ac846d9a118f" joined connection "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea" (1 users now present)
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: VNC server closed connection
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: Unable to connect to VNC server.
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[562604]: guacd[562604]: ERROR:#011Unable to connect to VNC server.
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: User "@3bcae175-5b9f-4f9e-94e7-ac846d9a118f" disconnected (0 users remain)
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[562604]: guacd[562604]: INFO:#011User "@3bcae175-5b9f-4f9e-94e7-ac846d9a118f" disconnected (0 users remain)
Sep  7 09:34:46 nebulacaos-1-test opennebula-guacd[562604]: guacd[562604]: INFO:#011Last user of connection "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea" disconnected
Sep  7 09:34:46 nebulacaos-1-test guacd[562604]: Last user of connection "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea" disconnected
Sep  7 09:34:47 nebulacaos-1-test guacd[1606]: Connection "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea" removed.
Sep  7 09:34:47 nebulacaos-1-test opennebula-guacd[1606]: guacd[1606]: INFO:#011Connection "$af5b5d3e-f01b-43ef-92b0-02f2ad1929ea" removed.
[...]
  • /var/log/one/fireedge.error

[...]
[2026-09-7 sept 2026 09:34:46] [Connection 7]  Closing connection with error:  Error: not opened
    at WebSocket.send (/usr/lib/one/fireedge/node_modules/opennebula-guacamole/node_modules/ws/lib/WebSocket.js:218:38)
    at ClientConnection.send (/usr/lib/one/fireedge/node_modules/opennebula-guacamole/lib/ClientConnection.js:138:24)
    at GuacdClient.sendBufferToWebSocket (/usr/lib/one/fireedge/node_modules/opennebula-guacamole/lib/GuacdClient.js:172:35)
    at GuacdClient.processReceivedData (/usr/lib/one/fireedge/node_modules/opennebula-guacamole/lib/GuacdClient.js:163:14)
    at Socket.emit (node:events:524:28)
    at Socket.emit (node:domain:489:12)
    at addChunk (node:internal/streams/readable:561:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
    at Readable.push (node:internal/streams/readable:392:5)
    at TCP.onStreamRead (node:internal/stream_base_commons:191:23)
[...]
  • /var/log/one/fireedge.log
[...]
[2026-09-07T07:34:44.641Z] - [info] worker: user.info, [-1,false]: {"USER":{"ID":"0","GID":"0","GROUPS":{"ID":"0"},"GNAME":"oneadmin","NAME":"oneadmin","PASSWORD":"1e67037bc5e90f888a4...
[2026-09-07T07:34:44.941Z] - [info] worker: grouppool.info, []: {"GROUP_POOL":{"GROUP":[{"ID":"121","NAME":"GD-GIA","TEMPLATE":{"SUNSTONE":{"GROUP_ADMIN_DEFAULT_VIEW":"groupadmin","GR...
[2026-09-07T07:34:45.239Z] - [info] worker: vm.info, [113,false]: {"VM":{"ID":"113","UID":"0","GID":"0","UNAME":"oneadmin","GNAME":"oneadmin","NAME":"rockylinux_9 LXC-113","PERMISSION...
[2026-09-07T07:34:45.250Z] - [info] worker: grouppool.info, []: {"GROUP_POOL":{"GROUP":[{"ID":"121","NAME":"GD-GIA","TEMPLATE":{"SUNSTONE":{"GROUP_ADMIN_DEFAULT_VIEW":"groupadmin","GR...
[2026-09-07T07:34:45.528Z] - [info] worker: vm.info, [113,false]: {"VM":{"ID":"113","UID":"0","GID":"0","UNAME":"oneadmin","GNAME":"oneadmin","NAME":"rockylinux_9 LXC-113","PERMISSION...
[2026-09-07T07:34:46.724Z] - [info] Tunnel SSH created with PID: 562602 to connection: 7
[2026-09-07T07:34:46.804Z] - [info] Closing unused ssh connection: 562602
^[[31m Error: not opened ^[[0m
[2026-09-07T07:34:46.804Z] - [error] WS connection closed: Error: not opened
[...]

This is what happens in browser tab:

Before upgrading, in 7.0.1, I could run a VNC connection and, then, I saw terminal and could login. Now, after upgrading to 7.4.0, all seems run perfeckly (KVM VMs, SDN, users, groups…) but the only problem I have found (and it’s very important for me because I use LXC) is that I can’t connect to VNC.

Help, please!!!

Thanks in advance.

We are looking into it. Do you ever get to have a connection ? That is, does it break along the way or is it impossible to connect to the VNC server of the LXC VMs ?

Hi @dclavijo,

before upgrading from 7.0.1 to 7.4.0, I could run VNC connection:

However, after upgrading, I receive errors I have posted before. I can’t connect in any moment. VM is instantiated correctly and it seems it is working but VNC connection is not possible.

In CLI it seems connection to LXC works fine:

root@nebulacaos-3-test:/etc# lxc-console one-113

Connected to tty 1
Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself

Rocky Linux 9.8 (Blue Onyx)
Kernel 5.15.0-190-generic on x86_64

rockylinux-9-LXC-113 login:

Thanks.

Hi @brown24,

and how can I compare the VNC/Guacamole and LXC connection handling between versions?

Thanks.

Hello,

Finally, I solved this problem changing value of “:command:” attribute in /var/lib/one/remotes/etc/vmm/lxc/lxcrc file in this way:

:vnc:
  :command: 'sudo lxc-attach'
  :width: 800
  :height: 600
  :timeout: 300

I don’t know if “sudo lxc-attach” is the default value and I had changed it weeks/months ago in some test, but in a testing OpenNebula 7.4 (upgraded from 6.8 to 7.0.1 and, then, from 7.0.1 to 7.4), this value is “:command: sudo lxc-console” and works…

I don’t understand why in one server I need to configure with “lxc-attach” and in the other one with “lxc-console”, because boths servers have been upgraded in the same way and both are running same Ubuntu version.

Thanks.