how to start without -nolisten tcp

I have changed every config, then I have also commented it out from every script. It still starts with -nolisten even after reboot. How do I remove that from the invocation?

This is blocking me in the lab from remotely debugging a 32GB application from a larger machine than my desktop. Due to technical reasons, ssh won’t work.

I’m about to pop a vnc session, and connect to that instead, which adds even more pain. o_O

Also, why are there MULTIPLE points wrt to nolisten in opensuse scripts, NONE which have any affect?

So Tumbleweed login manager is SDDM. Quick web search:

> Not a developer of sddm, but a quick grep throught the sources for “nolisten” only finds on instance:
>> src/daemon/XorgDisplayServer.cpp: << “-nolisten” << “tcp”

Hard coded, nice. Guess I’ll be doing a little binary editing today.

Well it’s not in the sddm binary either. Also, adding ServerArguments to /etc/sddm.conf has no effect. Neither does the yast2 tool.

systemd? systemd.

Other choice is to turn /usr/bin/X into a wrapper which strips the flag, and move X elsewhere, since systemd -> sddm -> X is a blackhole of information.

Switch to lightDM?

I might as well switch distros then (I use the box for remote access mostly). I have a spare SSD here if I need to swap out and temporarily install a non-systemd distro in order to start X without -nolisten tcp

man sddm-helper

No manual entry for sddm-helper

I’m surprised every single tip from google has failed so far.

Somehow I failed to config this on install? Was it an option?

I changed the dm with yast2, but it still uses SDDM after rebooting.

Isn’t it a systemd service, so disable sddm and enable lightdm.

Not sure if this is current but…

Tumbleweed selects the display manager through update-alternatives. To list all display managers the alternatives system knows about, run

sudo update-alternatives --list default-displaymanager

To change the display manager

sudo update-alternatives --config default-displaymanager


What is reported by the following?

grep -i "DISPLAYMANAGER" /etc/sysconfig/displaymanager

Newer Xorg versions (since Leap 42.1) use “-nolisten tcp” by default.
You have to explicitly pass “-listen tcp” to override that.

For SDDM, you can specify custom X-server arguments in /etc/sddm.conf (or preferably some custom file in /etc/sddm.conf.d/), via the ServerArguments= option in the [XDisplay] section.
See “man sddm.conf”.

SDDM doesn’t respect DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN as it is SUSE-specific and nobody patched SDDM to use it (yet?).

That’s no longer respected on Tumbleweed (and Leap 15).

update-alternatives is the way to set the displaymanager now.


This has absolutely no relation to systemd whatsoever…

Thought that might be the case.

I already tried editing sddm.conf and that didn’t work either:

ServerArguments="-listen tcp"

However that’s [X11] not [XDisplay], I will try and report back later today, I have to shift gears this morning for a while.

Right, and it needs to be [XDisplay].

If you decide to change the Display Manager because SDDM has been known to not support remote connections in openSUSE (may be due to the reasons wolfi describes),

You should know that besides switching the Display Manager, you also have to verify that the desired DM is installed, changing/setting the DM does not check for whether the DM is installed.

For example,
When switching to LightDM (recommended which will generally support all common functionality including remote network connections), you should run the following command to search for LightDM packages

zypper se lightdm

and if necessary to install lightdm

zypper in lightdm

After that, with both the new DM installed and the configuration switch made, the general minimal requirement is to log out and back in, but I always reboot.


ServerArguments="-listen tcp"

This resulted in a system that wouldn’t start X. I did a restore of root (backup image from Jan 2nd), so all my changes and attempts have been reverted. I’ll have to try fiddling with sddm.conf again some time.

Another thing, “init 3” never completes. Perhaps that deserves its own thread.

Remove the quotes.

I just tried it here (Leap 42.3 with sddm 0.17), X started fine and is running with “-listen tcp” now:

wolfi@amiga:~/Desktop> ps aux | grep X
root      1811  1.1  2.6 304080 54924 tty7     Ss+  07:22   0:03 /usr/bin/X -listen tcp -auth /run/sddm/{609f9d23-8b38-46ea-98ee-bfc7210cd132} -background none -noreset -displayfd 18 -seat seat0 vt7

Haven’t tested the actual functionality though…

I did a restore of root (backup image from Jan 2nd), so all my changes and attempts have been reverted.

Why did you not just revert your change to /etc/sddm.conf ? (or remove the file completely, the default config is in /usr/lib/sddm/sddm.conf.d/ anyway) :wink:

Ugh, that worked, can’t believe I overlooked that the rest of the variables didn’t have quotes, I must’ve been frazzled. [And it works.]

Yeah I went hacking on conf files and scripts all over the place, to no avail. Best to revert everything, imho. Thanks for your help!