Everything was running. The port belonged to the wrong process.
My browser sat there spinning on "connecting". The setup is common enough: x11vnc shares a screen on port 5900, and websockify forwards to it so a browser can connect. I checked the services. websockify was running. Everything was running. Nothing worked. The question I actually needed answered was simple: Who is using port 5900? That's normally ss -ltnp or lsof -i :5900 , and neither was…
The browser's connection attempt froze at "connecting" on the port-sharing application. The setup involved x11vnc hosting a screen on port 5900, while websockify forwarded connections to it for browser access. The user queried the services but found websockify running, yet no answer to the crucial question: which process was utilizing port 5900? The user devised a custom tool to answer this specific query:
$ portclue 5900
NOT EXPOSED LOCALLY
TCP port 5900 127.0.0.1:5900/tcp [NOT_EXPOSED_LOCALLY]
- LOCALLY_BOUND
127.0.0.1 is exclusive to this network namespace
An x11vnc process held the port, yet it was not the one the user had initiated. The port had been left unclaimed from a previous session that had never gracefully shut down. Consequently, the new connection could not secure the port, and websockify had persistently forwarded requests to an inactive screen. PortClue provided the Process ID (PID), which the ps command confirmed as an ancient process, far outliving its contemporaries.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.