I'm trying to setup a multi-user VNC server on recent versions of Fedora without success thus far. I understand that doing so requires a display manager with XDMCP support. The current default DM is SDDM which does not include such support (at least so far as I've found). That means I need to change the DM.
Following a suggestion I found somewhere, I ran "dnf install kdm; systemctl enable --force kdm.service". I chose KDM because the machines involved generally use KDE, not Gnome. That seems to be a painless substitution. However, I'm sure I'll have to install some protections against automatic updates that reverse the change.
Then I tried to follow the instructions in RH Bugzilla 1393971 (https://bugzilla.redhat.com/show_bug.cgi?id=1393971) and those at RH Solutions 2516 (for XDMCP with xinetd) and 2681531 (which replaces xinetd with a systemd socket). I also modified /etc/kde/kdm/Xaccess to uncomment "*". After this I get a connection but no login screen, just a blank screen with a momentary note about using F8.
The log shows several errors at different times in my experiments. Sometimes Plymouth is not running. Sometimes I'm told the VNC service got more than one socket. Usually KDM reports that it can't open the display, using an IPv6 notation for the display.
Can anyone point me to instructions which take into account systemd and the structure of recent Fedora releases? It seems to me likely that I've messed up something simple in trying to adapt the instructions (which are for xinetd and GDM). Or have I provided enough information to make a guess as to the problem?
On 07/07/17 09:26, CLOSE Dave wrote:
I'm trying to setup a multi-user VNC server on recent versions of Fedora without success thus far. I understand that doing so requires a display manager with XDMCP support. The current default DM is SDDM which does not include such support (at least so far as I've found). That means I need to change the DM.
Following a suggestion I found somewhere, I ran "dnf install kdm; systemctl enable --force kdm.service". I chose KDM because the machines involved generally use KDE, not Gnome. That seems to be a painless substitution. However, I'm sure I'll have to install some protections against automatic updates that reverse the change.
Then I tried to follow the instructions in RH Bugzilla 1393971 (https://bugzilla.redhat.com/show_bug.cgi?id=1393971) and those at RH Solutions 2516 (for XDMCP with xinetd) and 2681531 (which replaces xinetd with a systemd socket). I also modified /etc/kde/kdm/Xaccess to uncomment "*". After this I get a connection but no login screen, just a blank screen with a momentary note about using F8.
The log shows several errors at different times in my experiments. Sometimes Plymouth is not running. Sometimes I'm told the VNC service got more than one socket. Usually KDM reports that it can't open the display, using an IPv6 notation for the display.
Can anyone point me to instructions which take into account systemd and the structure of recent Fedora releases? It seems to me likely that I've messed up something simple in trying to adapt the instructions (which are for xinetd and GDM). Or have I provided enough information to make a guess as to the problem?
This should help....
https://docs.fedoraproject.org/en-US/Fedora/21/html/System_Administrators_Gu...
Especially....
8.1.2.1. Configuring VNC Server for Two Users
I wrote:
I'm trying to setup a multi-user VNC server on recent versions of Fedora without success thus far. I understand that doing so requires a display manager with XDMCP support. The current default DM is SDDM which does not include such support (at least so far as I've found). That means I need to change the DM.
Following a suggestion I found somewhere, I ran "dnf install kdm; systemctl enable --force kdm.service". I chose KDM because the machines involved generally use KDE, not Gnome. That seems to be a painless substitution. However, I'm sure I'll have to install some protections against automatic updates that reverse the change.
Then I tried to follow the instructions in RH Bugzilla 1393971 (https://bugzilla.redhat.com/show_bug.cgi?id=1393971) and those at RH Solutions 2516 (for XDMCP with xinetd) and 2681531 (which replaces xinetd with a systemd socket). I also modified /etc/kde/kdm/Xaccess to uncomment "*". After this I get a connection but no login screen, just a blank screen with a momentary note about using F8.
The log shows several errors at different times in my experiments. Sometimes Plymouth is not running. Sometimes I'm told the VNC service got more than one socket. Usually KDM reports that it can't open the display, using an IPv6 notation for the display.
Can anyone point me to instructions which take into account systemd and the structure of recent Fedora releases? It seems to me likely that I've messed up something simple in trying to adapt the instructions (which are for xinetd and GDM). Or have I provided enough information to make a guess as to the problem?
On 07/06/17 19:51, Ed Greshko wrote:
This should help....
https://docs.fedoraproject.org/en-US/Fedora/21/html/System_Administrators_Gu...
Especially....
8.1.2.1. Configuring VNC Server for Two Users
Oh, and FWIW, I am currently running only a single user setup on an F25/KDE-Only system. No need to change sddm as your DM as that isn't what is being used by VNC.
Unfortunately, no, that doesn't help. I already have a one-user setup working and I understand how to extend it to additional users -- so long as the list of users is finite and known to me in advance. But the extension technique involves using unique ports for each user. It is not a properly scalable solution.
With the single-user approach, vncviewer directly asks the user for his password before initiating the connection. That's why it needs a unique port for each user. Using XDMCP with a display manager that supports it works differently. vncviewer doesn't ask for a password and initiates the connection immediately. The user is presented with the same graphical login screen a local user would see. Thus the number of users is not limited by anything I do setting up the configuration.
So, I'm still hoping someone here can help.
On 07/08/17 01:50, CLOSE Dave wrote:
Unfortunately, no, that doesn't help. I already have a one-user setup working and I understand how to extend it to additional users -- so long as the list of users is finite and known to me in advance. But the extension technique involves using unique ports for each user. It is not a properly scalable solution.
With the single-user approach, vncviewer directly asks the user for his password before initiating the connection. That's why it needs a unique port for each user. Using XDMCP with a display manager that supports it works differently. vncviewer doesn't ask for a password and initiates the connection immediately. The user is presented with the same graphical login screen a local user would see. Thus the number of users is not limited by anything I do setting up the configuration.
OK. Sorry to have misunderstood precisely what you want to do. I now have it working as I suspect you need it.
1. Yes, you need KDM. So, if you've not installed it do so.
2. Edit /etc/kde/kdm/kdmrc the [Xdmcp] section Enable=true.
3. Go to /lib/systemd/system and copy xvnc@.service and xvnc.socket to /etc/systemd/system
4. Edit /etc/systemd/system/xvnc@.service and delete the User=nobody line.
5. Now this part is "temporary" until I determine the "proper" way to fix it. Edit /etc/sysconfig/selinux and change it to be permissive. If you don't do that then Xvnc won't be able to bind to port 5900.
6. Enable port 5900 on your firewall.
7. If you've not already done it "systemctl --force enable kdm"
8. Reboot.
Your console should now be showing KDM as your login screen.
And you now should be able to connect with something like remmina using VNC protocol and get presented with a KDM login screen.
If you run into trouble, let me know.
On 07/08/17 08:32, Ed Greshko wrote:
If you've not already done it "systemctl --force enable kdm"
Reboot.
Your console should now be showing KDM as your login screen.
And you now should be able to connect with something like remmina using VNC protocol and get presented with a KDM login screen.
If you run into trouble, let me know.
Oooopppssss forgot one ....
7a. systemctl enable xvnc.socket
I missed that since I was paraphrasing the instructions in xvnc@.service to add the step of deleting the User line and forgot you may not have read that part.
Ed Greshko wrote:
OK. Sorry to have misunderstood precisely what you want to do. I now have it working as I suspect you need it.
Great. Thanks.
Yes, you need KDM. So, if you've not installed it do so.
Edit /etc/kde/kdm/kdmrc the [Xdmcp] section Enable=true.
Go to /lib/systemd/system and copy xvnc@.service and xvnc.socket
to /etc/systemd/system
Done previously.
- Edit /etc/systemd/system/xvnc@.service and delete the User=nobody
line.
Done now. Wasn't done before.
- Now this part is "temporary" until I determine the "proper" way
to fix it. Edit /etc/sysconfig/selinux and change it to be permissive. If you don't do that then Xvnc won't be able to bind to port 5900.
Running selinux disabled.
Enable port 5900 on your firewall.
If you've not already done it "systemctl --force enable kdm"
Done previously.
- Reboot.
Your console should now be showing KDM as your login screen.
And you now should be able to connect with something like remmina using VNC protocol and get presented with a KDM login screen.
If you run into trouble, let me know.
Almost. But the service isn't starting.
# systemctl status -l xvnc@:.service xvnc@:.service - XVNC per Connection Daemon Loaded: loaded (/etc/systemd/system/xvnc@.service; enabled; vendor preset: disabled) Active: failed (Result: resources)
Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Got more than one socket. Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Failed to run 'start' task: Invalid argument Jul 07 18:27:08 server systemd[1]: Failed to start XVNC per Connection Daemon. Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Unit entered failed state. Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Failed with result 'resources'. Jul 07 18:27:08 server systemd[1]: Starting XVNC per Connection Daemon...
# systemctl status -l xvnc.socket ● xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: failed (Result: resources) Listen: 10.76.185.91:5901 (Stream) Accepted: 0; Connected: 0
Jul 07 18:27:06 server systemd[1]: xvnc.socket: Failed to listen on sockets: Cannot assign requested address Jul 07 18:27:06 server systemd[1]: Failed to listen on XVNC Server. Jul 07 18:27:06 server systemd[1]: xvnc.socket: Unit entered failed state. Jul 07 18:27:06 server systemd[1]: Starting XVNC Server.
Here's my files.
# cd /etc/systemd/system # cat xvnc@.service [Unit] Description=XVNC per Connection Daemon After=syslog.target
[Service] Type=simple ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None -fp /usr/share/X11/fonts/misc StandardInput=socket StandardError=syslog
[Install] WantedBy=multi-user.target # cat xvnc.* [Unit] Description=XVNC Server
[Socket] ListenStream=10.76.185.91:5900 Accept=yes
[Install] WantedBy=sockets.target
On 07/08/17 09:40, CLOSE Dave wrote:
Almost. But the service isn't starting.
# systemctl status -l xvnc@:.service xvnc@:.service - XVNC per Connection Daemon Loaded: loaded (/etc/systemd/system/xvnc@.service; enabled; vendor preset: disabled) Active: failed (Result: resources)
Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Got more than one socket. Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Failed to run 'start' task: Invalid argument Jul 07 18:27:08 server systemd[1]: Failed to start XVNC per Connection Daemon. Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Unit entered failed state. Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Failed with result 'resources'. Jul 07 18:27:08 server systemd[1]: Starting XVNC per Connection Daemon...
You actually don't want xvnc@.service to be enabled or started. The connection to the socket triggers starting of Xvnc
On my system with no VNC clients connected.
[root@f25f system]# ps -eaf | grep vnc root 3523 1251 0 10:04 pts/0 00:00:00 grep --color=auto vnc
[root@f25f system]# systemctl status xvnc@.service Failed to get properties: Unit name xvnc@.service is missing the instance name.
[root@f25f system]# systemctl status xvnc.socket ● xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabl Active: active (listening) since Sat 2017-07-08 10:04:27 CST; 48s ago Listen: [::]:5900 (Stream) Accepted: 3; Connected: 0
Jul 08 10:04:27 f25f.greshko.com systemd[1]: Listening on XVNC Server.
Once a client connects....
[root@f25f system]# ps -eaf | grep vnc root 3529 1 1 10:06 ? 00:00:00 /usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None
# systemctl status -l xvnc.socket ● xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: failed (Result: resources) Listen: 10.76.185.91:5901 (Stream) Accepted: 0; Connected: 0
Jul 07 18:27:06 server systemd[1]: xvnc.socket: Failed to listen on sockets: Cannot assign requested address Jul 07 18:27:06 server systemd[1]: Failed to listen on XVNC Server. Jul 07 18:27:06 server systemd[1]: xvnc.socket: Unit entered failed state. Jul 07 18:27:06 server systemd[1]: Starting XVNC Server.
I find it odd that you get this "Listen: 10.76.185.91:5901" when your file below for xvnc.socket has "ListenStream=10.76.185.91:5900". That is 5901 v.s. 5901. I think you may have done something like what the vncserver@.service file tells you to do? That is enable xvnc@:1.service?
Here are my files...
[root@f25f system]# pwd /etc/systemd/system
[root@f25f system]# cat xvnc@.service | grep -v ^#
[Unit] Description=XVNC Per-Connection Daemon
[Service] ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None StandardInput=socket StandardError=syslog
[root@f25f system]# cat xvnc.socket | grep -v ^#
[Unit] Description=XVNC Server
[Socket] ListenStream=5900 Accept=yes
[Install] WantedBy=sockets.target
And, with no client connected....
root@f25f system]# netstat -nap | grep 5900 tcp6 0 0 :::5900 :::* LISTEN 1/systemd
And connected....
[root@f25f system]# netstat -nap | grep 5900 tcp6 0 0 :::5900 :::* LISTEN 1/systemd tcp6 0 0 192.168.1.198:5900 192.168.1.18:56272 ESTABLISHED 1/systemd
Ed Greshko wrote:
You actually don't want xvnc@.service to be enabled or started. The connection to the socket triggers starting of Xvnc
I realized that a while ago but forgot. It is presently not enabled.
I find it odd that you get this "Listen: 10.76.185.91:5901" when your file below for xvnc.socket has "ListenStream=10.76.185.91:5900".
I did my cut-and-paste to these messages from different tests. I'm actually trying to use port 5901 to make the transition transparent for users who are now using the single-user access technique.
I had written:
# systemctl status -l xvnc@:.service ... Jul 07 18:27:08 server systemd[1]: xvnc@:.service: Got more than one socket.
# systemctl status -l xvnc.socket ... Active: failed (Result: resources)
This was caused because the old service, vncserver@:1, was still running. After I stopped it (and deleted the files, just to be sure), status looks correct.
---
# systemctl -l status xvnc.socket xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: active (listening) since Mon 2017-07-10 14:10:50 PDT; 27min ago Listen: 10.76.185.91:5901 (Stream) Accepted: 2; Connected: 0
Jul 10 14:10:50 pses37top systemd[1]: Listening on XVNC Server. Jul 10 14:10:50 pses37top systemd[1]: Starting XVNC Server.
# cat /etc/systemd/system/xvnc.socket [Unit] Description=XVNC Server
[Socket] ListenStream=10.76.185.91:5901 Accept=yes
[Install] WantedBy=sockets.target
# cat /etc/systemd/system/xvnc@.service [Unit] Description=XVNC per Connection Daemon After=syslog.target
[Service] Type=simple ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None -fp /usr/share/X11/fonts/misc StandardInput=socket StandardError=syslog
---
HOWEVER, when I connect with "vncviewer server::5901", I get a blank screen with a momentary F8 prompt. I do not see the normal greeting screen. Something is still missing.
On 07/11/17 05:42, CLOSE Dave wrote:
This was caused because the old service, vncserver@:1, was still running. After I stopped it (and deleted the files, just to be sure), status looks correct.
# systemctl -l status xvnc.socket xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: active (listening) since Mon 2017-07-10 14:10:50 PDT; 27min ago Listen: 10.76.185.91:5901 (Stream) Accepted: 2; Connected: 0
Jul 10 14:10:50 pses37top systemd[1]: Listening on XVNC Server. Jul 10 14:10:50 pses37top systemd[1]: Starting XVNC Server.
# cat /etc/systemd/system/xvnc.socket [Unit] Description=XVNC Server
[Socket] ListenStream=10.76.185.91:5901 Accept=yes
[Install] WantedBy=sockets.target
# cat /etc/systemd/system/xvnc@.service [Unit] Description=XVNC per Connection Daemon After=syslog.target
[Service] Type=simple ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None -fp /usr/share/X11/fonts/misc StandardInput=socket StandardError=syslog
HOWEVER, when I connect with "vncviewer server::5901", I get a blank screen with a momentary F8 prompt. I do not see the normal greeting screen. Something is still missing.
First I though the problem may be due to using 5901, but I changed to that and it still works for me. Then I thought maybe it was your addition of -fp /usr/share/X11/fonts/misc. So, I added that and it still works for me.
Then I noticed one thing which seems off or odd do me.
When you do "systemctl -l status xvnc.socket" you system is outputting 2 lines.
Jul 10 14:10:50 pses37top systemd[1]: Listening on XVNC Server. Jul 10 14:10:50 pses37top systemd[1]: Starting XVNC Server.
My system outputs only one.
Jul 11 06:48:30 f25f.greshko.com systemd[1]: Listening on XVNC Server.
Without any clients connected/connecting can you check to see if Xvnc is running? I only have a running /usr/bin/Xvnc when a client is connected.
Also, check /var/log/kdm.log to see if there are errors.
Ed Greshko wrote:
HOWEVER, when I connect with "vncviewer server::5901", I get a blank screen with a momentary F8 prompt. I do not see the normal greeting screen. Something is still missing.
Then I noticed one thing which seems off or odd do me.
When you do "systemctl -l status xvnc.socket" you system is outputting 2 lines.
Jul 10 14:10:50 server systemd[1]: Listening on XVNC Server. Jul 10 14:10:50 server systemd[1]: Starting XVNC Server.
My system outputs only one.
Jul 11 06:48:30 f25f.greshko.com systemd[1]: Listening on XVNC Server.
That is evidently due to something wrong during boot. After a fresh boot, here's what I see.
[root@server ~]# systemctl status xvnc.socket xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: failed (Result: resources) Listen: 10.76.185.91:5901 (Stream) Accepted: 0; Connected: 0
Jul 10 16:57:13 server systemd[1]: xvnc.socket: Failed to listen on sock...ss Jul 10 16:57:13 server systemd[1]: Failed to listen on XVNC Server. Jul 10 16:57:13 server systemd[1]: xvnc.socket: Unit entered failed state. Jul 10 16:57:13 server systemd[1]: Starting XVNC Server. Hint: Some lines were ellipsized, use -l to show in full. [root@server ~]# systemctl start xvnc.socket [root@server ~]# systemctl status xvnc.socket xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: active (listening) since Mon 2017-07-10 17:04:20 PDT; 1s ago Listen: 10.76.185.91:5901 (Stream) Accepted: 0; Connected: 0
Jul 10 17:04:20 server systemd[1]: Listening on XVNC Server. Jul 10 17:04:20 server systemd[1]: Starting XVNC Server.
Without any clients connected/connecting can you check to see if Xvnc is running? I only have a running /usr/bin/Xvnc when a client is connected.
Without a connection, "ps -ef | grep vnc" shows only the grep. During an attempted connection, Xvnc is running with all the right options.
Also, check /var/log/kdm.log to see if there are errors.
/var/log/kdm.log just tells me that useful messages are in syslog. In there, greping for kdm, I see:
Jul 10 16:56:07 server audit: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jul 10 16:56:07 server audit: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jul 10 16:57:27 server audit: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jul 10 16:57:27 server kdm[1676]: plymouth is running Jul 10 16:57:27 server kdm[1676]: plymouth is active on VT 1, reusing for :0 Jul 10 16:57:27 server kdm[1676]: plymouth should quit after server startup Jul 10 16:57:30 server kdm[1676]: Quitting Plymouth with transition Jul 10 16:57:30 server kdm[1676]: Is Plymouth still running? no
And when I try to connect,
Jul 10 17:05:49 server kdm: fe80::3617:ebff:feeb:6b02:1[7472]: Cannot connect to fe80::3617:ebff:feeb:6b02:1, giving up Jul 10 17:05:49 server kdm[1676]: Display fe80::3617:ebff:feeb:6b02:1 cannot be opened
On 07/11/17 08:18, CLOSE Dave wrote:
Ed Greshko wrote:
HOWEVER, when I connect with "vncviewer server::5901", I get a blank screen with a momentary F8 prompt. I do not see the normal greeting screen. Something is still missing.
Then I noticed one thing which seems off or odd do me.
When you do "systemctl -l status xvnc.socket" you system is outputting 2 lines.
Jul 10 14:10:50 server systemd[1]: Listening on XVNC Server. Jul 10 14:10:50 server systemd[1]: Starting XVNC Server.
My system outputs only one.
Jul 11 06:48:30 f25f.greshko.com systemd[1]: Listening on XVNC Server.
That is evidently due to something wrong during boot. After a fresh boot, here's what I see.
[root@server ~]# systemctl status xvnc.socket xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: failed (Result: resources) Listen: 10.76.185.91:5901 (Stream) Accepted: 0; Connected: 0
Jul 10 16:57:13 server systemd[1]: xvnc.socket: Failed to listen on sock...ss Jul 10 16:57:13 server systemd[1]: Failed to listen on XVNC Server. Jul 10 16:57:13 server systemd[1]: xvnc.socket: Unit entered failed state. Jul 10 16:57:13 server systemd[1]: Starting XVNC Server. Hint: Some lines were ellipsized, use -l to show in full. [root@server ~]# systemctl start xvnc.socket [root@server ~]# systemctl status xvnc.socket xvnc.socket - XVNC Server Loaded: loaded (/etc/systemd/system/xvnc.socket; enabled; vendor preset: disabled) Active: active (listening) since Mon 2017-07-10 17:04:20 PDT; 1s ago Listen: 10.76.185.91:5901 (Stream) Accepted: 0; Connected: 0
Jul 10 17:04:20 server systemd[1]: Listening on XVNC Server. Jul 10 17:04:20 server systemd[1]: Starting XVNC Server.
Without any clients connected/connecting can you check to see if Xvnc is running? I only have a running /usr/bin/Xvnc when a client is connected.
Without a connection, "ps -ef | grep vnc" shows only the grep. During an attempted connection, Xvnc is running with all the right options.
Also, check /var/log/kdm.log to see if there are errors.
/var/log/kdm.log just tells me that useful messages are in syslog. In there, greping for kdm, I see:
Jul 10 16:56:07 server audit: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jul 10 16:56:07 server audit: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jul 10 16:57:27 server audit: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=kdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jul 10 16:57:27 server kdm[1676]: plymouth is running Jul 10 16:57:27 server kdm[1676]: plymouth is active on VT 1, reusing for :0 Jul 10 16:57:27 server kdm[1676]: plymouth should quit after server startup Jul 10 16:57:30 server kdm[1676]: Quitting Plymouth with transition Jul 10 16:57:30 server kdm[1676]: Is Plymouth still running? no
And when I try to connect,
Jul 10 17:05:49 server kdm: fe80::3617:ebff:feeb:6b02:1[7472]: Cannot connect to fe80::3617:ebff:feeb:6b02:1, giving up Jul 10 17:05:49 server kdm[1676]: Display fe80::3617:ebff:feeb:6b02:1 cannot be opened
I found that if I have ListenStream=192.168.1.198:5901 in my xvnc.socket file I also get a failure on boot. I thought it could have been due to my using DHCP on that VM. I changed it back to ListenStream=5901. Can you try just having that?
Odd that you're getting an IPV6 error message. I don't have a global IPv6 address and only show....
[egreshko@f25f system]$ ip address show enp0s3 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:15:6d:e0 brd ff:ff:ff:ff:ff:ff inet 192.168.1.198/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 84207sec preferred_lft 84207sec inet6 fe80::a00:27ff:fe15:6de0/64 scope link valid_lft forever preferred_lft forever
FWIW, after being summoned for breakfast I did add "Type=simple" and things still worked for me.
On 07/10/17 17:32, Ed Greshko wrote:
Odd that you're getting an IPV6 error message. I don't have a global IPv6 address and only show....
[egreshko@f25f system]$ ip address show enp0s3 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:15:6d:e0 brd ff:ff:ff:ff:ff:ff inet 192.168.1.198/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 84207sec preferred_lft 84207sec inet6 fe80::a00:27ff:fe15:6de0/64 scope link valid_lft forever preferred_lft forever
Yes, I also found that strange. But the address shown is the right one per the output of ifconfig. I'm not intentionally running v6...
On 07/11/17 08:42, CLOSE Dave wrote:
On 07/10/17 17:32, Ed Greshko wrote:
Odd that you're getting an IPV6 error message. I don't have a global IPv6 address and only show....
[egreshko@f25f system]$ ip address show enp0s3 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:15:6d:e0 brd ff:ff:ff:ff:ff:ff inet 192.168.1.198/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 84207sec preferred_lft 84207sec inet6 fe80::a00:27ff:fe15:6de0/64 scope link valid_lft forever preferred_lft forever
Yes, I also found that strange. But the address shown is the right one per the output of ifconfig. I'm not intentionally running v6...
And you still get the same error if you change to simply "ListenStream=5901" ?
On 07/10/2017 05:42 PM, CLOSE Dave wrote:
On 07/10/17 17:32, Ed Greshko wrote:
Odd that you're getting an IPV6 error message. I don't have a global IPv6 address and only show....
[egreshko@f25f system]$ ip address show enp0s3 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:15:6d:e0 brd ff:ff:ff:ff:ff:ff inet 192.168.1.198/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 84207sec preferred_lft 84207sec inet6 fe80::a00:27ff:fe15:6de0/64 scope link valid_lft forever preferred_lft forever
Yes, I also found that strange. But the address shown is the right one per the output of ifconfig. I'm not intentionally running v6...
The IPV6 you're seeing is the IPV6 link-local Unicast representation of your MAC address. All systems have that. It's part of IPV6's neighbor discovery and stateless address configuration systems.
Link-local Unicast addresses can't be routed--they're only visible on the link the NIC is attached to. You can sort of think of them as the IPV6 equivalent of IPV4's "224.0.0.0" addresses, although they do more. ---------------------------------------------------------------------- - Rick Stevens, Systems Engineer, AllDigital ricks@alldigital.com - - AIM/Skype: therps2 ICQ: 226437340 Yahoo: origrps2 - - - - Consciousness: that annoying time between naps. - ----------------------------------------------------------------------
Ed Greshko wrote:
I found that if I have ListenStream=192.168.1.198:5901 in my xvnc.socket file I also get a failure on boot. I thought it could have been due to my using DHCP on that VM. I changed it back to ListenStream=5901. Can you try just having that?
The socket now reports that it is up correctly after boot. But I still get a blank screen on connecting.
On 07/11/17 08:46, CLOSE Dave wrote:
Ed Greshko wrote:
I found that if I have ListenStream=192.168.1.198:5901 in my xvnc.socket file I also get a failure on boot. I thought it could have been due to my using DHCP on that VM. I changed it back to ListenStream=5901. Can you try just having that?
The socket now reports that it is up correctly after boot. But I still get a blank screen on connecting.
OK..... So, since you're getting the blank screen and Xvnc is getting started and you are getting connection error in the kdm log I think it is safe to say that there is nothing wrong with the systemd stuff and the issue is with kdm and/or Xvnc.
Here is my /etc/kde/kdm/kdmrc file....
[root@f25f kdm]# grep -v ^# kdmrc
[General] ConfigVersion=2.4 StaticServers=:0 ReserveServers=:1,:2,:3 ServerVTs=-1 ConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6 PidFile=/var/run/kdm/kdm.pid AuthDir=/var/run/kdm
[Xdmcp] Enable=true Xaccess=/etc/kde/kdm/Xaccess Willing=/etc/kde/kdm/Xwilling
[Shutdown] HaltCmd=/sbin/poweroff BootManager=None
[X-*-Core] Setup=/etc/kde/kdm/Xsetup Session=/etc/kde/kdm/Xsession ForceUserAuthDir=true AutoReLogin=false AllowRootLogin=true AllowShutdown=Root SessionsDirs=/usr/share/xsessions,/usr/share/kde4/apps/kdm/sessions ClientLogFile=.xsession-errors-%d
[X-*-Greeter] GUIStyle=Plastique LogoArea=Logo LogoPixmap=/usr/share/icons/hicolor/96x96/apps/fedora-logo-icon.png GreetString=Fedora 22 (Twenty Two) AntiAliasing=true GreetFont=Sans,16,-1,5,75,0,0,0,0,0 StdFont=Sans,10,-1,5,50,0,0,0,0,0 FailFont=Sans,12,-1,5,75,0,0,0,0,0 UserList=false ShowUsers=NotHidden HiddenUsers=root MinShowUID=-1 MaxShowUID=65530 SortUsers=true FaceSource=PreferUser FocusPasswd=true EchoPasswd=true UseBackground=true BackgroundCfg=/var/lib/kdm/backgroundrc GrabInput=Always GrabServer=false ForgingSeed=1108476160 AllowConsole=false Preloader=/usr/bin/preloadkde UseTheme=true Theme=/usr/share/kde4/apps/kdm/themes/fedora
[X-:*-Core] ServerAttempts=2 ServerTimeout=60 ServerCmd=/usr/bin/X -br -novtswitch -quiet ServerArgsLocal=-background none -nolisten tcp TerminateServer=true AllowNullPasswd=true AllowShutdown=All
[X-:*-Greeter] PreselectUser=Previous FocusPasswd=true LoginMode=DefaultLocal AllowClose=false
[X-:0-Core] ClientLogFile=.xsession-errors
[X-:0-Greeter]
And because I can't think of anything else at the moment....
[root@f25f kdm]# netstat -nap | grep kdm udp6 0 0 :::177 :::* 767/kdm unix 2 [ ACC ] STREAM LISTENING 26390 767/kdm /var/run/xdmctl/dmctl-:1/socket unix 2 [ ACC ] STREAM LISTENING 21331 767/kdm /var/run/xdmctl/dmctl-:0/socket unix 2 [ ACC ] STREAM LISTENING 20931 767/kdm /var/run/xdmctl/dmctl/socket unix 3 [ ] STREAM CONNECTED 26404 1311/kdm_greet unix 3 [ ] STREAM CONNECTED 21674 866/kdm_greet unix 3 [ ] STREAM CONNECTED 26393 767/kdm unix 3 [ ] STREAM CONNECTED 26395 767/kdm unix 3 [ ] STREAM CONNECTED 21334 767/kdm unix 2 [ ] DGRAM 20944 767/kdm unix 3 [ ] STREAM CONNECTED 21356 866/kdm_greet unix 3 [ ] STREAM CONNECTED 21336 767/kdm unix 3 [ ] STREAM CONNECTED 26414 1311/kdm_greet
And when I connect there are no entries sent to the logs of kdm or messages. Only when I close the vncviewer window do I get...
Jul 11 09:00:52 f25f kdm: localhost:1[1365]: Abnormal termination of greeter for display localhost:1, code 1, signal 0 Jul 11 09:00:52 f25f kdm: localhost:1[1365]: Fatal X server IO error: No such file or directory
On 07/11/17 08:18, CLOSE Dave wrote:
And when I try to connect,
Jul 10 17:05:49 server kdm: fe80::3617:ebff:feeb:6b02:1[7472]: Cannot connect to fe80::3617:ebff:feeb:6b02:1, giving up Jul 10 17:05:49 server kdm[1676]: Display fe80::3617:ebff:feeb:6b02:1 cannot be opened
Oh, and since I think you said you're not using IPv6 for anything you can disable it completely and try again.
Adding ipv6.disable=1 to the boot parameters seems to work the best. That way it is disabled from boot time.
Ed Greshko wrote:
Oh, and since I think you said you're not using IPv6 for anything you can disable it completely and try again.
Adding ipv6.disable=1 to the boot parameters seems to work the best. That way it is disabled from boot time.
That did it! The greeting screen now appears as it should. Thanks!
On 07/13/17 02:13, CLOSE Dave wrote:
Ed Greshko wrote:
Oh, and since I think you said you're not using IPv6 for anything you can disable it completely and try again.
Adding ipv6.disable=1 to the boot parameters seems to work the best. That way it is disabled from boot time.
That did it! The greeting screen now appears as it should. Thanks!
Great. Now the only unanswered question is Why do you have to disable IPv6 and I don't? Well, maybe that will remain unanswered. :-) :-)
On 07/11/17 05:42, CLOSE Dave wrote:
# cat /etc/systemd/system/xvnc@.service [Unit] Description=XVNC per Connection Daemon After=syslog.target
[Service] Type=simple ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None -fp /usr/share/X11/fonts/misc StandardInput=socket StandardError=syslog
Oh....Another thing....
You have a line in the Service segment of "Type". I do not have that and it isn't in the original file in /lib/systemd/system. Did you add that?
On 07/10/2017 04:38 PM, Ed Greshko wrote:
On 07/11/17 05:42, CLOSE Dave wrote:
# cat /etc/systemd/system/xvnc@.service [Unit] Description=XVNC per Connection Daemon After=syslog.target
[Service] Type=simple ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None -fp /usr/share/X11/fonts/misc StandardInput=socket StandardError=syslog
Oh....Another thing....
You have a line in the Service segment of "Type". I do not have that and it isn't in the original file in /lib/systemd/system. Did you add that?
I believe "Type=simple" is the default if you have "ExecStart=" defined, but it wouldn't hurt to add it. After you edit any of these files, make sure you do a "systemctl daemon-reload" or your changes won't be seen by systemd until a reboot. ---------------------------------------------------------------------- - Rick Stevens, Systems Engineer, AllDigital ricks@alldigital.com - - AIM/Skype: therps2 ICQ: 226437340 Yahoo: origrps2 - - - - I won't rise to the occasion, but I'll slide over to it. - ----------------------------------------------------------------------
Ed Greshko wrote:
You have a line in the Service segment of "Type". I do not have that and it isn't in the original file in /lib/systemd/system. Did you add that?
Rick Stevens wrote:
I believe "Type=simple" is the default if you have "ExecStart=" defined, but it wouldn't hurt to add it. After you edit any of these files, make sure you do a "systemctl daemon-reload" or your changes won't be seen by systemd until a reboot.
I had that line because it was in the example in bug 1393971. It isn't in the later pages which seem to be derived from that. But, as you say, having it or not doesn't make any difference.
On 07/08/17 09:40, CLOSE Dave wrote:
Here's my files.
Just to clarify a bit more...
# cd /etc/systemd/system # cat xvnc@.service [Unit] Description=XVNC per Connection Daemon After=syslog.target
[Service] Type=simple ExecStart=-/usr/bin/Xvnc -inetd -query localhost -geometry 1024x768 -depth 24 -once -SecurityTypes=None -fp /usr/share/X11/fonts/misc StandardInput=socket StandardError=syslog
The next 2 lines must not appear in that file...
[Install] WantedBy=multi-user.target
On 07/07/17 09:26, CLOSE Dave wrote:
I'm trying to setup a multi-user VNC server on recent versions of Fedora without success thus far. I understand that doing so requires a display manager with XDMCP support. The current default DM is SDDM which does not include such support (at least so far as I've found). That means I need to change the DM.
Oh, and FWIW, I am currently running only a single user setup on an F25/KDE-Only system. No need to change sddm as your DM as that isn't what is being used by VNC.