[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XL Console: Accessing DomU Guis?



Hi,

On 06 Jan 2024 20:18, John L. Poole wrote:

 > My understanding is that the Dom0 _console_ simply can't display
 > the GUI from the DomU. "xl console" does what it says, it shows
 > the console of the DomU. The output of the DomU console after starting
 > xinit shows that this is working as intended. "xl create" with
 > the "-c" option is equivalent to using "xl console". Also, a Dom0
 > console is not "activated" by the DomU in any way, I think a DomU
 > influencing the Dom0 in such a way would violate the security aspect
 > of virtualization.
Correct.  I have not be careful with my terminology.  What I envision
is running Xfce in Dom0 as user jlpoole, and then within the Xfce
session, launching a console within and executing the command:
"sudo xl console [X]".  This procedure should be distinguished
from being in the console window at boot time and trying therein
"sudo xl console [X]" where I am not operating over an
already-launched gui.

I think you misunderstand the way it works.
"xl console", or more generally a "console", is just a *text* interface, it cannot display a GUI, only a TUI (Text User Interface). In a way, the console can only display what would be displayed on tty1-tty6, but not tty7 (where the GUI usually resides).
(In effect, [xl] console displays tty1, and tty1 only).

For graphics *and* without installing anything in the domU, you have 2 choices: VNC or SDL.

Xen (for PV) or QEMU (for HVM) provide a VNC server to access the video output of your domU, but VNC is not installed in the domU !

Some analogy: a real computer has a videocard, a cable and a monitor, whereas virtualized hosts have a virtual videocard (vfb or emulated), and VNC or SDL "replace/virtualize" the cable and the monitor.

If you want to access the VNC display with the Xen commands, run :
    xl vncviewer $domU_id_or_name

Of course, you need at least one VNC *viewer* installed in dom0 (gvncviewer, tigervnc, virt-viewer, etc).

With SDL, the (GUI) window starts automatically with the domU, but remember that closing the SDL window will shutdown the domU !

 >>     ...
 >>     vfb = [ 'type=sdl' ]
 >>     ...
 >>     # ref: https://www.youtube.com/watch?v=s1Ro0KxHooQ
 >>     #
 >>     videoram=16
 >>     stdvga=1
 >>     sdl = 1
 >>     vnc = 0
 >
 >
 > Two aspects come to my mind here:
 >
 > 1) There seem to be different options for SDL depending on the
 > type of the DomU (PV or HVM).
 > You seem to be setting options for both versions. Perhaps
 > they get in the way of each other?
 > See here: https://xenbits.xen.org/docs/unstable/man/xl.cfg.5.html

I will look into this more and try to figure out the nuances.
I was hoping by posting here I might garner the attention
of somebody who runs the kind of configuration I want to do
and I would be directed with some simple instructions or
someone would point out what I have missed or overlooked.

As Paul wrote, the configuration depends if your domUs are HVM or PV.
The "vfb" stanza is used for PV/PVH guests *only*, not HVM.
"vfb" means Virtual FrameBuffer, it is the PV equivalent of the emulated videocard of the HVM domUs.
So, config stanzas :
    PV/H -> vfb =
    HVM  -> vga =

For Windows, which has to be HVM, your config for SDL would be :
# VIDEO CARD
vga = "stdvga"
videoram = 128
# REMOTE ACCESS
sdl = 1
opengl = 1

If you want VNC instead :
# VIDEO CARD
vga = "stdvga"
videoram = 128
# REMOTE ACCESS
vnc = 1
vnclisten = "127.0.0.1:7"
# OR, if you want to access the domU GUI from your network, use the IP of the dom0 NIC connected to your local network, for example :
# vnclisten = "192.168.1.1:7"

AFAIK, QEMU provides *either* VNC *or* SDL, but not both at the same time, so if you want to use SDL from your dom0 *and* be able to connect to your domU from remote hosts as well, then you'd have to also install VNC *within* the domU (like you would do with any non-virtualized host).

 >
 > 2) In the video you referenced, my point from above is
 > confirmed: With starting the DomU, a separate X window
 > opens automatically, the GUI of the DomU is _not_ shown
 > in the terminal window. In fact, no "xl console" is ever executed.

Correct.  I tried to launch my Windows 7 ISO, but have run into
other problems with my qemu complaining about being unable
to find i386 stuff... I think it is a bug Gentoo's distribution
has caused and need to file a bug according for the
file complained of is, in fact, present on my system, it just
is in another directory.
Gentoo often has these kind of change-the-directory to suit Gentoo's
philosophy and then some other software expect to find a file in a
directory where Gentoo's installer changed it.

You seem to know what the problem is, so just a remark: did you install the correct QEMU packages ? I'm using Debian so I don't know how it's handled in Gentoo, but at some point the QEMU packages in Debian have been split between GUI and non-GUI packages (to reduce the number of dependencies on X/GUI stuff for servers). For example on Debian, to use the SDL you need the package "qemu-system-gui". YMMV !

Hope it helps.

--
++
zithro / Cyril




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.