Multiseat solution with VMwarePlayer and Plugable DC-125 device in a modern Linux environment.


#1

Multiseat solution with VMwarePlayer and Plugable DC-125 device in a modern Linux environment.

>> How to: DisplayLink USB Single Monitor on Linux by Jerome (Posted on 23. Dec, 2011)
>> http://plugable.com/2011/12/23/usb-gr…

First of all Thanks to Plugable and Jerome for the above great and clear article it was the key to my new idea.

I wanted to get a Multiseat without any long, difficult and tricky settings unlike this:
http://en.wikibooks.org/wiki/Multiter… .
Even if we used these more complicated settings in the Linux inside we would need to follow the version changing.
So I think also this task is waiting for the Linux developers to build it to the distributions in normal case.

Until that we can use the DC-125 device with a virtual Linux box,
and it acts like an X terminal. In this case we need to adopt Jerome’s settings on a virtual Linux box only.
So our real Linux environment (on the hardware) can be absolutely free from any magic settings.
This real Linux environment will act as our application server and it will be the placeholder all of our actual software.
There are some circumstances (e.g. in education or office environment…) where it is more preferable to see a desktop of the application server, and for some people this remote desktop only means the real Multiseat solution.In this case we have a simple and standard method also, basically we need to enable the XDMCP on the
‘main’ real Linux environment and start a nested X server e.g. Xephyr on our virtual Linux box.

http://en.wikipedia.org/wiki/XDMCP#X_…
http://en.wikipedia.org/wiki/X_Window…
These above two links are very good and usable to imagine how the XDMCP is working.

I have been using the VMwareWorkstation and VMPlayer for quite a while but I think it is not too difficult to start to use it (or any other appropriate virtual box) for a general Linux user.
The advantage of VMwarePlayer that it is free but VMwareWorkstation is more efficient for using more seats. Every seat (beyond the main seat) is made up of a DC-125 and a virtual Linux box.
My experimental configuration has got one plus seat only so I am using the VMwarePlayer with a DC-125 now.
The virtual boxes could be optimized for low memory usage. So the overhead left by virtual machines can be a reasonable compromise to yield standard solution.

I have been using the above configuration for some weeks and it seems to be very stable and fast. There was no problem with the suspend state of the real Linux, too.

I would like to give an outline of my configuration.

Hardware:
Mother board/CPU/memory:
Gigabyte GA-870A / AMD Phenom II X2 560 3GHz /Kingmax DDR3 1333MHz 6GByte
Display card: Asus HD5450 512MB
One DC-125 and two L1942s LG monitor (1280x1024)

OS: Ubuntu 11.10 \n \l 64-bit Kernel Linux 3.0.0-14-generic
and VMwarePlayer 4 64bit

After the VMwarePlayer 64bit installation ( http://www.vmware.com/ ) the guest OS (virtual Linux box Ubuntu 11.10 64 or 32 bit) can be installed.
When the guest Ubuntu 11.10 has already been running under the VMwarePlayer, the WMware tools should be installed under the guest OS. It is important to provide the appropriate interface between guest and VMwarePlayer. Bridge is my preferred LAN setting in VMwarePlayer. In this case the guest OS has its own MAC address on the LAN. And the IP setting can be
DHCP or static both of OS and useful to fill in the /etc/hosts file also.

At this point we have two independent Linux OS (the main on the PC and guest under the VMwarePlayer) and both of them can see the Internet and each other on the virtual local LAN.
Still we have been using the guest OS’s desktop through the VMwarePlayer’s GUI and we can prepare and check the important settings on the main display and keyboard without the DC-125.
The connection of the DC-125 to the guest OS will be only the last step.

We need to create some users, mainly on the main OS because we need to connect to it with different user.
Now we can install the remained necessary softwares: SSH server/client and Xephyr on both OS for the simplicity.
#apt-get install openssh-server
#apt-get install openssh-client
#apt-get install xserver-xephyr

[XDMCPServer]
enabled=true
Append the above two lines into the /etc/lightdm/lightdm.conf on the main host for enable the XDMCP.

Eventually we can enable to choose the Classic GNOME desktop on both OS (and we are using this at the login time instead of Unity)
#apt-get install gnome-session-fallback
Moreover I installed several DM on the main host and I could choose between them at login time.
#apt-get install xfce4
#apt-get install gnome-shell
#apt-get install kde-plasma-desktop
#apt-get install twm

Now we can ssh as a different user from guest to the main host with -X option for graphics application and we can check these:
#xclock &
#gcalctool &
#libreoffice &
#firefox &
You can set the passwordless authentication : https://help.ubuntu.com/11.10/serverg… .

We can also check the remote DM of main OS from the guest. Only you need to start Xephyr on the guest OS.
#Xephyr :1 -screen 1024x768 -query host_or_ip # sg like this and choose the desktop manager at graphics login prompt except unity.
Don’t forget to login with different user.
There are a lot of useful option for Xephyr e.g.; -fullscreen also. (You can grab the mouse with Shift+Cntrl instead of Cntrl+Shift that looks in the title bar.)
The Xephyr is useful also locally to use more DM to collect the work space. I note that the Xnest was unusable.

Finally we can setup the DC125. Plug it to USB2 of the PC with display, keyboard, mouse, speaker, microphone.

The next step to create two files on the guest OS according to the mentioned article: http://plugable.com/2011/12/23/usb-gr… .
/etc/modprobe.d/50-displaylink.conf and /usr/share/X11/xorg.conf.d/60-plugable.conf

Shutdown the guest and check the VMwarePlayer settings that USB Controller has been added and sound card must not be added.
After it you can boot the guest OS, it will come up with black screen in the GUI of WMwarePlayer of course.
It is needed to confirm to pick up the drivers of DC-125 on GUI of VMwarePlayer.

Newnham Plugable DC-125 #display
Elan Input device #keyboard
Pixart Imaging USB Optical Mouse #mouse
C-Media USB Multimedia Audio Device #sound

Now the guest OS is ready for use through DC-125 as a second seat and we have a graphic login to the guest OS on it.
After login you can connect to the main OS the same way that was tested above
#ssh -X main_host and/or #Xephyr :1 -screen 1024x768 -query main_host.

So the guest OS acts like an X terminal and we are working on the main OS except the sound availability. The microphone and speaker connected to DC-125
can work only with guest OS because they are the local peripheries of guest OS now.

However if you would loss the GUI of second station you can restart its DM from the main OS e.g.:
#ssh root@guest service lightdm restart

In addition I mention that an MS XP/SP3 is also usable as a guest with DC-125 installing the driver
from Plugable : http://plugable.com/2011/12/17/displa…
and setting the Display properties :
Display: DisplayLink Graphics Adapter (1280x1024)
Use this device as the primary monitor.
Extend my windows desktop this monitor.
On this XP seat I started the MobaXterm (download from here http://mobaxterm.mobatek.net/ ) and I chose the XDMCP session from its X server on the GUI menu.
I had got the DM login to the main Linux OS like with Xephyr.

Some more questions that I’d like to know:
Now I am working behind a router and firewall but on the public network it should be needed to look after the secret settings of
XDMCP if it is enabled. When we start the Xephyr on the real Linux box with “ssh -X host” from the virtual environment, it is working but has a little bit slow response.

Also could be an interesting question to minimize the memory usage of virtual Linux box if it needs to act only as a dumb X terminal and we are using more seats.
In this situation probably it would be more efficient to use VMwareWorkstation than the VMwarePlayer.

I would interest if such a device like the DC-125 is available but with LAN interface instead of USB ?

Best Regards
Laszlo Szilagyi
szilagyi314@gmail.com

!](https://s3.amazonaws.com/satisfaction-production/s3_images/697362/multiseat_inline.jpg?1329081846)](https://s3.amazonaws.com/satisfaction-production/s3_images/697362/multiseat.jpg?1329081846)


#2

Hi Laszlo,

Thanks so much for posting this great description of your setup! If anyone has any questions on what Laszlo has setup, please feel free to post.

Thanks!
Bernie


#3

Thanks for this post. I tried this setup under VirtualBox with UD-160-A. It allows me to assign a virtual machine to a seat with its own keyboard, mouse and display with user’s choice of operating system running on it. It worked fine since VirtualBox supports assignment of USB devices including USB graphics.

I wanted a full open source solution and I have tried this setup under QEMU/KVM but got no luck. Same with VirtualBox, I was able to assign USB devices such as keyboard, mouse and graphics as indicated by lsusb command but the VM’s display was not redirected to the seat’s display. What am I missing here?

Thanks.
Rene


#4

Hi Rene,

Thanks for contacting us with your question about using QEMU/KVM with the UD-160-A. Unfortunately not all of the virtual machine solutions handle USB graphics. Some work and some don’t. We haven’t tested with QEMU, but if you are able to assign the connect to the other USB devices but the USB graphics isn’t getting passed through correctly I’m afraid there’s not much we can do.

Let us know if you find a work around and I’ll post back if I find any better solution. Sorry I don’t have better news.

Jerome.

Plugable Technologies


#5