No screen without monitor plugged in (VNC, TeamViewer)

Hello,

I have a specific problem I am unable to solve on my own, so I ask for your help. I have LEAP 42.1 installed on a DELL PC with Intel integrated GPU. Installation was fine but when I was preparing my PC I found out one big issue. I need to access my PC remotely via VNC, occasionally with TeamViewer… It works great as long as I have a monitor plugged in. At the very moment I unplug it, my VNC or TW screen goes black and that’s it. When I plug the monitor back in, the screen will reappear.

Using KDE with Plasma 5.
Integrated GPU.
Using X11VNC.

Another problem that goes with this is when I boot the PC without monitor plugged. The PC goes up, and when I plug the monitor cable into the PC, I still have no screen. The monitor won’t receive signal from PC. I have to restart the computer and then it works.

I don’t have any of these problems on Windows. Only here on SUSE 42.1. Anybody got ideas how to set this up ? That means if I start the PC without monitor attached, the screen will go up as usual ? And when I unplug the monitor from a running PC the remote screen won’t go black ?

Thank you very much

Per their website, X11VNC allows VNC connections to real X11 displays and that’s the problem. You can’t use a real X11 display because it doesn’t exist without a real login session with a monitor etc. What you want is more like a virtual session. I would suggest looking into tightvncserver. This will create new a session that are not tied to a real session and can be used with a headless configuration. XRDP may also be an option but it can be a pain in the rear to set up.

It’s almost certain that you did not install VNC using YAST > Remote Administration.

When you use the YAST tool, it installs xserver which provides among other things headless support (ie no monitor connected).

The openSUSE community docs are pretty good on this subject, including how to configure different VNC session configurations.
https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.vnc.html

TSU

SDDM (which is used by default on a KDE installation) doesn’t support VNC though, so Remote Administration in YaST won’t work, i.e. you won’t be able to connect to the host via VNC (unless you run x11vnc in a running session).
And also SDDM doesn’t show a login screen without a display connected, see https://github.com/sddm/sddm/issues/598.

I would therefore suggest to switch to a different displaymanager/login screen if you want to use VNC or boot without a display connected, e.g. lightdm or kdm.
Install it and set DISPLAYMANAGER=“xxx” in /etc/sysconfig/displaymanager accordingly.

That’s a few things now that I know do not work with SDDM. I am meaning no criticism here, just asking if you know why SDDM was chosen for LEAP with these problems? This is a genuine “I would like to know …” question, nothing else.

Mainly because it was chosen by the upstream KDE developers as recommended display manager for Plasma5 when they decided to drop KDM (lightdm was the other option, but they thought they might have more influence on SDDM’s development IIRC).
Therefore it is also the only one that has some “official” integration with Plasma5, e.g. KDE provides a theme for it based on the default Plasma theme and a config module in systemsettings5.

And it is Qt5 based.

Thank you, I appreciate the information and will file it away for future knowledge.

Okay I tried to use LightDM but it won’t let me log in. When I enter the password the login screen just refreshes itself but nothing happens. Also VNC is not working. Am I supposed to configure lightdm somehow ?

No configuration is possible AFAIK,
But I’ve noticed what you’re describing with my recent experimentation with other DM (Yours is the first time I’ve heard that Lightdm caused this problem).

The only way I’ve found to fix your problem is to boot to a LiveCD and modify the DM setting manually.

TSU

Strange.
Does it work if you choose a different desktop session at the login screen?

Also VNC is not working. Am I supposed to configure lightdm somehow ?

Did you enable “Remote Administration” in YaST?
Is the vnc service active in YaST->Network->Network Services (Xinetd)?
Is the corresponding port open in the firewall? Try to disable the firewall completely as a test.

Another solution which I’ve have great success with is NoMachine https://www.nomachine.com/ ]. I’ve been using it to access my desktop machine from my Galaxy Tab S without any difficulty. It’s easy to set up, and easy to use.

Recently I had a weird problem where the X window server wouldn’t give me a GUI display on the desktop terminal, but using NoMachine from my tablet worked, it allowed me to access the desktop with a GUI from my tablet. I also use NoMachine to access my desktop when I’m traveling to other countries.

I am trying to get VNC working here as well. Using Tumbleweed.

The port is open and Krfb is accepting connections. However, remote connections can only see the green screen with the lightbulb on the right hand side.

What I’ve tried:

Set kdm as display manager.
Used both Plasma 5 and KDE Plasma as desktop.
Discovered that in previous versions, others had success by turning off “Desktop Effects” but cannot find that. In another thread, someone suggested that turning of Compositor was the same as turning off Desktop Effects, however that has not helped either.

Did you install kdm because it is not there by default

Yes. And then set it as the Display Manager, rebooted and saw the kdm login screen.

That should work with remote software SDDM is broken for remote. And should work headless

Well, it’s not working. I have double checked it myself. I have logged into my OpenSuse box with kdm as the display manager. I have opened krfb.

Using my son’s Windows laptop on a remote network, and using TigerVNCViewer, I can connect to my OpenSuse box. I accept the connection on the OpenSuse box.

The laptop still only sees the green screen with light bulb on the right hand side. It can control the mouse, but cannot view the desktop on the OpenSuse box.

It is not working.

Maybe you need to reset up the server to get the KDM screen. Seems like you are some how still using SDDM for the remote.

Would you be able to point me to where I could figure out how to do that? There does not appear to be any useful configuration options in Krfb to do that.

Okay, on a hunch, I deleted the ~/.vnc directory and restarted Kfrb (KDE Desktop Sharing).

That got me beyond the “green screen of death” :stuck_out_tongue: that the remote client could only get to previously. So, a little bit closer but still not where it should be. Now, on the remote client, one of the open applications on the Desktop server can be seen. Clicking on any of the other open applications in the taskbar opens that app’s window on the Desktop server, but cannot be seen on the remote client. In other words, the remote client can control the server Desktop, but can’t see what it’s actually doing.

There is only one DISPLAYMANAGER in use.

Also, if you use krfb, the display manager is actually irrelevant.
krfb just shares the current session via VNC (without going through the displaymanager).

Have you tried to disable desktop effects/compositing on the server?
Direct (hardware accelerated) OpenGL rendering obviously will not work via VNC and may cause problems if in use… And this really sounds like an OpenGL/desktop effects issue.

Alternatively, as you switched to KDM, you could just as well try to use VNC via the display manager, i.e. turn on “Remote Administration” in YaST and connect to port 5901. You should get a login screen on the client then where you can login to a remote session (note that the same user should not be logged in on the server locally, otherwise Plasma will fail to start as it cannot run twice for the same user at the same time).