virt-manager/docs/dbus-remote-control.txt

90 lines
3.1 KiB
Plaintext

DBus Remote Control
===================
The GNOME virt manager provides the ability to control its high level
UI actions via a DBus service.
Interface description
---------------------
The service is intended to run on the session bus, and when launched
will register a well known bus name of 'com.redhat.virt.manager'.
Within this service, a single object is to be exported under the
path of '/com/redhat/virt/manager'.
This object implements a single interface 'com.redhat.virt.manager'
which contains the following methods:
- show_domain_performance(string:uri, string:uuid)
Takes a domain's UUID in printable string format and displays
the window showing detailed performance data
- show_domain_editor(string:uri, string:uuid)
Takes a domain's UUID in printable string format and displays
the window for configuring the VM hardware resources
- show_domain_console(string:uri, string:uuid)
Takes a domain's UUID in printable string format and displays
the window for accessing the graphical framebuffer associated
with the VM.
- show_domain_serial_console(string:uri, string:uuid)
Takes a domain's UUID in printable string format and displays
the window for accessing the serial console connected to the
guest VM. NB, not all domains have a serial console activated,
and it is only typically accessible as root.
- show_domain_creator(string:uri)
Displays the window for creating & configuring a new domain.
NB. the domain creator is only accessible as root.
- show_host_summary(string:uri)
Displays the window showing a summary of all active domains
on the host
- show_connect()
Displays the dialog for connecting to a hypervisor
In all these methods the 'uri' parameter is the URI for the hypervisor,
typically either 'Xen', or 'test://default'.
Example usage from shell
------------------------
To display the performance window for the domain with a UUID of
'349025e8-ad34-34ff-239a-12ae095249f3', one would use the dbus-send
command as follows:
# First ensure the application is running
$ dbus-send --print-reply --session --dest="org.freedesktop.DBus" \
"/org/freedesktop/DBus" \
"org.freedesktop.DBus.StartServiceByName" \
"string:com.redhat.virt.manager"
# Now call the show_domain_performance method
$dbus-send --print-reply --session --dest="com.redhat.virt.manager" \
"/com/redhat/virt/manager"
"com.redhat.virt.manager.show_domain_performance" \
"string:xen" \
"string:349025e8-ad34-34ff-239a-12ae095249f3"
Example usage from python
-------------------------
import dbus
bus = dbus.SessionBus()
bus_object = bus.get_object("org.freedesktop.DBus", "/org/freedesktop/DBus")
bus_iface = dbus.Interface(bus_object, "org.freedesktop.DBus")
bus_iface.StartServiceByName("com.redhat.virt.manager")
virt_object = bus.get_object("com.redhat.virt.manager",
"/com/redhat/virt/manager")
virt_iface = dbus.Interface(virt_object, "com.redhat.virt.manager")
virt_iface.show_domain_performance("xen", "349025e8-ad34-34ff-239a-12ae095249f3")