Skip to content

VNC connection to macOS Screen Sharing hangs after successful RFB handshake (RDP works) #906

Description

@Nastras

Title

Unable to establish VNC session with macOS Screen Sharing despite successful RFB handshake

Platform

Website - Safari

Server Installation Method

Docker

Version

Latest (Docker image ghcr.io/lukegus/termix:latest)

Troubleshooting

  • I have examined logs and tried to find the issue
  • I have reviewed opened and closed issues
  • I have tried restarting the application
  • I have checked open issues and ensured this is not a duplicate

The Problem

First of all, thank you for creating Termix. I really like the project and have started using it to centralize the management of my entire infrastructure.

I have encountered an issue with VNC connections to macOS.

SSH, SFTP and RDP all work perfectly. The issue only affects VNC connections to Apple’s built-in Screen Sharing service.

Environment

  • Termix Server: Docker
  • Image: ghcr.io/lukegus/termix:latest
  • guacd: guacamole/guacd:1.6.0
  • Browser: Safari and Chrome (same behaviour)
  • Client: macOS
  • Target: macOS Tahoe 26 (Apple Screen Sharing)

What happens

When opening the VNC connection, the session starts but never displays the remote desktop.

The browser only shows:

Connecting to VNC session…

The session remains on this screen indefinitely.

No authentication dialog appears and no error message is shown.

What I have already verified

  • macOS Screen Sharing is enabled.
  • Remote Login is enabled.
  • Port 5900 is reachable.
  • nc -zv 5900 succeeds.
  • The VNC server responds with RFB 003.889.
  • The same behaviour occurs in Safari and Chrome.
  • I removed special characters from the VNC password for testing.
  • RDP connections to Windows work correctly in the same Termix installation.
  • SSH and SFTP also work correctly.

guacd logs

The logs only show that the connection starts and is immediately removed:

Creating new client for protocol "vnc"
Connection ID is "..."
Cursor rendering: remote
User joined connection
Connection removed

No additional error is logged.

Because the TCP connection succeeds and the VNC server responds correctly, it appears that the handshake fails somewhere after the initial RFB negotiation.

Could this be related to Apple’s built-in Screen Sharing implementation or a compatibility issue with the current VNC client used by Termix?

If there is anything else I can test or any additional logs I can provide, I’d be happy to help.

How to Reproduce

  1. Install the latest Termix Docker image.
  2. Create a VNC host pointing to a Mac with Apple’s built-in Screen Sharing enabled.
  3. Configure port 5900 and a valid VNC password.
  4. Open the VNC connection.
  5. The session remains on “Connecting to VNC session…” indefinitely.
  6. No remote desktop is ever displayed.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrdp-vnc

    Type

    No fields configured for Bug.

    Projects

    Status
    Ready for Release

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions