General
cancel
Showing results for 
Search instead for 
Did you mean: 

Want to Run Two X-Servers on same Server

Theodore Jay Allen
Occasional Advisor

Want to Run Two X-Servers on same Server

I have HPVM installed on an HP-UX 11iv3 rx2620 server with a monitor connected to the VGA port.

While logged into CDE to the HPVM Host, I would like to start the Gnome or KDE desktop for the SLES 10 VM Guest on one of the workspaces without the local HP-UX window manager being in control of that workspace.

If this isn't possible, what would be the most efficient way to configure two different X Servers, one that would display the default CDE login for the HPVM Host and the other that could be started on demand to access the SLES 10 HP VM Guest and have its Gnome or KDE window manager in control?

Best Regards,

Ted Allen
6 REPLIES
Matti_Kurkela
Honored Contributor

Re: Want to Run Two X-Servers on same Server

Workspaces are created by the window manager/desktop environment, so it is kind of difficult to "give" one workspace to another window manager.

Can the HPVM guest even see the VGA adapter?
Run "/sbin/lspci | grep -i vga" in the guest. Does it see any (virtualized) VGA adapters at all? An older thread on these forums seemed to indicate the guest does not get a virtual VGA adapter at all.

But... I think there is a way.
(DISCLAIMER: I have not done this myself. I just read about it, and I think it fits your requirements.)

Keep the ordinary HP X server on the host, and use a nested X server on the guest (Xnest or preferably Xephyr, if SLES 10 supports it).

A nested X server draws one window (which can be a full-screen one) to the real X server, and mostly just passes through all X protocol requests, so it should be an efficient solution. If you can get this to work, you should get the entire guest SLES desktop inside one big window on the host X server.

MK
MK
Theodore Jay Allen
Occasional Advisor

Re: Want to Run Two X-Servers on same Server

Thanks for the reply Matti. I'll give that a shot.

In the meantime I have been successful getting in via a Mozilla web browser session on the HPVM host to the VNC server (port 5801) of the SLES 10 VM guest. This presents the entire desktop within a browser window. Somewhat difficult to read because of sizing but usable. When I attempted this with Firefox on HP-UX it complained about needing a plug-in (application/x-java-vm). I'm not having much luck finding the correct plug-in to make it happy.

On Mac OS X I simply start an X Server application in full screen mode assigned to a different space than where the other apps are displayed and I get what I need. I was looking for similar function within the X Server on HP-UX.

Best Regards,

Ted Allen
Matti_Kurkela
Honored Contributor

Re: Want to Run Two X-Servers on same Server

The Java plugin might be closer than you think: it normally comes with the Java VM package (both JRE and JDK versions). The current versions of HP-UX always have some version(s) of Java installed by default.

See /opt/java1.4/jre/plugin/IA64N/mozilla or
/opt/java1.5/jre/plugin/IA64N/mozilla. On 11iv3, either or both of those should conatain a libjavaplugin_oji.so file in the default installation. Symlink that file to the plugin directory of your browser, and make sure the Java binary directory (/opt/java1.?/bin and/or /opt/java1.?/jre/bin) is added to your PATH before starting your browser.

---

On MacOS X the situation is different, because there the X server needs to cooperate with Mac-native GUI applications that use MacOS APIs instead of the X protocol. So the Mac X server must always be designed to share the control of the desktop.

In HP-UX the X server has total control of the VGA controller, and it is not expected to share that control with anything else. So either HPVM would have to provide a fully virtualized VGA controller to the guest (a complicated piece of programming, with a minimal benefit in typical server use), or the sharing must happen in some way that is allowed by the X protocol.

For both Linux and HP-UX, the local display controller is optional, so it makes sense not to implement it for HPVM guests. That leaves only the solutions working within the X protocol, e.g. the nested X server.

MK
MK
Jamie A Dennis
Frequent Advisor

Re: Want to Run Two X-Servers on same Server

I think your solution may be using virtual frame buffers (Xvfb). We've done similar things in the past using vfb, though not exactly what you're attempting to do.
"If hindsight is 20/20, why don't more people use their rearview mirrors?" - James (Jamie) A. Dennis, 1998
RUET
Regular Advisor

Re: Want to Run Two X-Servers on same Server

as said jamie, it's possible to run on X server by graphic cards, that will be displayed each of them on the associated screen.
But you car run many X virtual frame buffers (Xvfb). But the virtual frame buffers are not attached to any display.
By example you can have on a two graphic cards with each a screen connected (2 screens at the total):
a X server on first graphic card displaying on first screen (wks:0.0)
a second X server on second graphic card displaying on second screen (wks:1.0)
a X virtual display on wks:10.0, but not displayed on any screen.
a second X virtual servers on wks:11.0

It's mostly used by batch mode graphic application who needs graphic library and a X server to run ..

But I'm not sure this can be usefull for your request..

Regards

Patrick
PeterWolfe
Respected Contributor

Re: Want to Run Two X-Servers on same Server

Ted,

I think the simplest solution is to run VNC on all
the VM guests and the VM host. Then you can run
the VNC client from anywhere. You do not need to
use the browser-based VNC client (java applet) -
you can run it as java application from the
command line. Better yet, get the native VNC
client which is available for many environments
(Windows, x86 Linux, PA-RISC, etc.) and use that.