Forum / NoMachine for Linux / Problems when switching hdmi monitor cable between 7 other systems
- This topic has 1 reply, 2 voices, and was last updated 8 months, 2 weeks ago by Britgirl.
-
AuthorPosts
-
March 28, 2024 at 14:38 #47556Joe_WulfParticipant
Hi, have recently begun using the free version of NoMachine v8.11.3; which is the version installed on all these systems.
BLUF: I am seeking assistance to resolve the issue where I am unable to access NoMachine clients unless the ‘cables’ are plugged into it.
My setup: I’ve a WIN 11 Pro Desktop I primarily operate NoMachine from; other clients I have (all currently updated/patched):
- (C1) Dell T5500 running RHEL v8.3 KDE; dual XEON CPUs, 72GB RAM
- (C2) Dell T5500 running Centos v7.9 KDE; dual XEON XPUs, 72GB RAM
- (C3) Dell T3500 running Centos 9.2 Gnome; Intel I7 CPU, 32GB RAM
- (C4) Dell Optiplex 7050 running Centos 8.3 KDE; Intel I7 CPU, 32GB RAM
- (C5) PowerSpec PC Z369 running Win 11 Pro; I7 CPU, 48GB RAM
- (C6) LG Laptop running Win 11 Home 64bit; I7 CPU, 32GB RAM
All 6 clients also have NoMachine v8.11.3 installed; all are currently patched/updated and rebooted within the past 4-7 days. I provided the client details in case there is something relevant to them, though I don’t think so.
Client C4 usually has a dedicated monitor to it; while Client C6 is a laptop with the LCD screen (permenantly attached) 🙂
The other systems (C1, C2, C3 and C5) are set up in a nearby ‘room’ to keep the temperature sane/controlled, and the sound down by a closed door. I have ‘a’ Dell LCD Monitor 19″ 1920×1080 in there so each one can be connected to it via a physical/manual roving HDMI cable, as well as a physical/manual roving USB dongle for the shared keyboard/mouse.
They all ‘just work’, when the HDMI cable and USB Dongle are plugged into a given system (simplified herein as ‘cable’ or ‘cables’, as appropriate). I can administer/use the client locally with the local monitor when plugged into it, as well as from my main desk Win 11 desktop (with mandatory comfy chair!).
My desired day-to-day workflow is to remain seated at my main WIN 11 Pro Desktop and open NoMachine windows to various client systems based on my needs at the time. Often times I would work (or monitor work) on 2-4 of them at the same time. Still, I never want to compromise, limit nor eliminate the ability to enter my server room to selectively use ‘a’ system right then and there, too. Further, I’ve infrequent assistance from a friend doing odd jobs/tasks for me on some of the clients, while also using one specific client (with an embeded VM for this purpose) to experiment and learn Linux on. So, this friend should be able to work on one system with the cables connected to it, while I still continue to work on 2-4 of the others (or come back to theirs to further assist with something). Except NoMachine just isn’t working as it seems like it should.
The problem is I can never seem to get all the ‘other’ systems to successfully open up and be functional (at the same time) when the cables aren’t plugged in. When I manually migrate the cables to, for example, C2, then magically that one works remotely now, but none of the others do; especially the one I just pulled the cables from, say C1. The result on non-cabled clients is the remote desktop isn’t functional (it shows, but is not usable), or it is just black (which is also non-functional). This is becoming a huge problem adversely affecting my productivity.
I have gone through the NoMachine settings locally, and on individual clients, without finding any relevant setting which affects this.
I found this link: https://kb.nomachine.com/AR03P00973 IRT connecting to Linux headless machines. However:
- 1) I do not have any ‘fake display’ dongles (at least not at this time, and really don’t want to have to buy them to solve this problem); I believe there should be a configuration where things ‘just work’ both locally when the cables are plugged in, and remotely either way.
- 2.1) With the Linux systems I have, there is no Xorg configuration. Nor would exclusively configuring for headless operation permenantly be a viable solution.
- 2.2) Again, I do not have Xorg nor Xorg.conf via either RHEL nor CentOS.
- 3) In attempting this option, I have the ‘sddm.service‘, and can actually ‘disable‘ and ‘mask‘ it (recommend considering your instructions explicitly offer those as the ‘permanent’ solution (vice just ‘stop‘ping it)). Afterwards I rebooted and was presented with a text console login window. At this point, with the text console physically presented I was then able to use NoMachine to remote in and the KDE desktop came up. Had to tinker with the NoMachine display settings for this connection (selecting “Resize Remote Display was the most successful, for me anyway). Further, I could use the standard ‘startx’ command at the local console and that too achieved a KDE desktop.
So option 3—kinda worked for me on the RHEL8 and RHEL9 systems, with the cables subsequently disconnected—yet isn’t the seamless solution, I’d prefer. Is there a way to simply have a ‘configuration’ only method whereby the same desktop is used/seen locally and remotely? Or is this where the ‘dongle’ would be required?
On my RHEL7 system, I essentially achieved the same result with disabling and masking the ‘gdm’ service, then rebooting. On my LG Laptop, its a bit disappointing that I’ll have to leave the laptop lid ‘up’ in order to access it remotely via NoMachine… but I suspect that’s a Microsoft caused problem and not something NoMachine can do anything about.
Ultimately, I’m generally leaving the HDMI cable connected to the PowerSpec system, as that way Windows 11 on it just works remotely. Not ideal, but I haven’t had to spend any money.
Thank you.
March 28, 2024 at 16:59 #47561BritgirlKeymasterIt’s likely you have the same problem on all the machines from which you are pulling the monitor out of. And it’s not related to NoMachine, but the system. Rather than just pull the HDMI out, disable the Xserver correctly first and then detach the monitor. It’s option 3 in the article you mentioned (for headless Linux), the section “Use a X virtual framebuffer” which explains how to stop the display manager.
First check what display manager you have in a terminal: ps aux|grep dm
Then stop it. When you stop the display manager, you are stopping it forcibly until the machine gets rebooted. It’s not permanent. It will start up again at next reboot. An important point here to note is that when you stop any DM, NoMachine cannot know that someone stopped it because the system does not send such information to NoMachine. That’s why NoMachine (the nxserver) must be restarted.
Better would be to disable the display manager permanently, then the DM won’t start after reboot. This is the command
to disable and stop the DM:sudo systemctl disable --now
[enter here display manager]
sudo /etc/NX/nxserver --restart
(just once, after reboot all will be fine)Now when you connect, you should be able to start your session correctly.
For Windows, as explained here: https://kb.nomachine.com/AR05S01124 NoMachine is made to work out-of-the-box, but a black screen may occur in some cases. So in your case closing the lid effectively means NoMachine can’t find any GPU running there and you’re seeing a black screen. Either you keep the lid open or you attach a dongle.
-
AuthorPosts
This topic was marked as solved, you can't post.