Bug 1168024

Summary: [Feature Request] Allow simultaneous client connections for VNC
Product: Red Hat Enterprise Linux 6 Reporter: Justin Garrison <justin.garrison>
Component: anacondaAssignee: Samantha N. Bueno <sbueno>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 6.7CC: atodorov, jstodola, justin.garrison, mnavrati, salmy, sbueno
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: anaconda-13.21.232-1 Doc Type: Bug Fix
Doc Text:
When starting the VNC server, Anaconda always passed the "-nevershared" option, and Anaconda only allowed one VNC connection. This update removes the "-nevershared" option. The user has to use the "-shared" option from their VNC client to connect to a shared connection.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-22 06:22:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
updates.img w/fix none

Description Justin Garrison 2014-11-25 21:59:10 UTC
Description of problem: 
When anaconda runs with the vnc option it will only allow one connection in VNC. By default it sends the -nevershared flag to Xvnc. We would like a way to turn that option off with an anaconda flag or some other way to load a VNC instance that allows multiple client connections

Version-Release number of selected component (if applicable):


How reproducible:
Always. Only vnc options are 
vnc
host=
port=
password

Steps to Reproduce:
1. run anaconda with vnc enabled
2. If ssh is also enabled you can see the Xvnc server running with ps

Xvnc :1 -nevershared -depth 16 -br IdleTimeout=0 -auth /dev/null -once DisconnectClients=false desktop=Red Hat Enterprise Linux 6.6 installation on host vmtest SecurityTypes=None rfbauth=0

Actual results:
VNC clients show vnc already in use when multiple clients try to connect.

Expected results:
simultaneous client connections should be allowed

Additional info:

Comment 2 Samantha N. Bueno 2014-12-03 14:04:32 UTC
This is doable; it's a simple fix, and we have already done this upstream in master branch.

Comment 3 Justin Garrison 2014-12-03 16:23:16 UTC
Is there something I can edit in my kickstarts or on the extracted iso itself to make this work before a fix is pushed out?

I poked around a little bit but didn't find anything to allow me to change the flags passed to Xvnc.

Comment 4 Samantha N. Bueno 2014-12-03 20:59:09 UTC
(In reply to Justin Garrison from comment #3)
> Is there something I can edit in my kickstarts or on the extracted iso
> itself to make this work before a fix is pushed out?
> 
> I poked around a little bit but didn't find anything to allow me to change
> the flags passed to Xvnc.

Sure thing, I'll attach an updates.img which contains a patch to fix this. Upload it to a bit of web space, then when you boot the ISO and get to the boot menu, hit <TAB>, and add the following line: 
updates=http://path.to/updates.img

If you'd like to instead amend your kickstart file(s), add this line (same as above, minus the "="):
updates http://path.to/updates.img

Keep in mind you will still need to specify to your client that you desire to connect to a shared connection (e.g. vncviewer -shared $ip:$display)

Comment 5 Samantha N. Bueno 2014-12-03 21:01:47 UTC
Created attachment 964326 [details]
updates.img w/fix

This is built against anaconda-13.21.229-1, found in RHEL-6.6.

Comment 6 Justin Garrison 2014-12-03 22:06:56 UTC
That update didn't work for me. I actually just put it in my images/ folder and named it updates.img since I'm using NFS. The image was autoloaded but it still only allows one client to connect. The second client gets "End of stream" error when trying to connect.

I verified that the Xvnc instance removed the -nevershared option via ssh

Xvnc :1 -depth 16 -br IdleTimeout=0 -auth /dev/null -once DisconnectClients=false desktop=Red Hat Enterprise Linux 6.6 installation on host el6test SecurityTypes=None rfbauth=0

Is there a different VNC option I would need to set in the kickstart?

Comment 7 Justin Garrison 2014-12-03 22:38:23 UTC
I just looked at the vnc.py you sent and it looks like the -once option may be the culprit

-once Terminate server after one session

I tried repackaging the img but I'm not actually sure how to create it. Maybe you could send a new img to try when you get a chance.

Comment 8 Justin Garrison 2015-01-06 18:15:56 UTC
I'm back from break and would be willing to test another patch or try and patch myself if you have time.

Thanks

Comment 10 Alexander Todorov 2015-03-25 10:33:39 UTC
(In reply to Justin Garrison from comment #7)
> I just looked at the vnc.py you sent and it looks like the -once option may
> be the culprit
> 
> -once Terminate server after one session
> 
> I tried repackaging the img but I'm not actually sure how to create it.
> Maybe you could send a new img to try when you get a chance.

I'm also seeing the same behavior with anaconda-13.21.232.

Comment 11 Jan Stodola 2015-03-25 11:36:21 UTC
Alex,
how did you connect to the vnc server? Did you use the -shared option Samantha mentioned in comment 4? What is the version of your vnc client?

It works for me with that option and tigervnc-1.3.1-11.fc21:
$ vncviewer -shared 192.168.122.57:1

Comment 12 Alexander Todorov 2015-03-25 14:56:07 UTC
I've missed the -shared option. Confirmed it works with it. Moving to VERIFIED.

Comment 14 errata-xmlrpc 2015-07-22 06:22:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-1297.html