qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] feature idea: allow user to run custom scripts


From: Markus Armbruster
Subject: Re: [Qemu-devel] feature idea: allow user to run custom scripts
Date: Mon, 28 Sep 2015 09:29:09 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Programmingkid <address@hidden> writes:

> On Sep 27, 2015, at 10:30 PM, Michael Roth wrote:
>
>> Quoting Programmingkid (2015-09-27 20:49:24)
>>> 
>>> On Sep 27, 2015, at 2:53 PM, Peter Crosthwaite wrote:
>>> 
>>>> On Sun, Sep 27, 2015 at 3:13 AM, Peter Maydell
>>>> <address@hidden> wrote:
>>>>> On 27 September 2015 at 04:39, Programmingkid
>>>>> <address@hidden> wrote:
>>>>>> Would you be open to a feature that allows the user to select
>>>>>> and run a custom file that has commands in it that would run
>>>>>> in the monitor?
>>>>> 
>>>>> Sounds like a VM management layer feature.
>>>>> 
>>>> 
>>>> Should -monitor file:/foo/bar do something like this?
>>> 
>>> If you are saying this command line argument loads monitor commands,
>>> then it would only work when QEMU is first started. The feature I want
>>> would work anytime during the running of QEMU. 
>> 
>> For that sort of flexibility I think writing commands to a socket via
>> a script/program is simple enough that an additional interface doesn't
>> seem worthwhile. Even our qtest unit tests use this approach. Plus you
>> get the flexibility of a being able to branch based on the return
>> value of commands (error-handling, stateful commands, incorporating
>> output from a serial console, etc.). It seems like a nice feature but
>> it's vastly inferior to what's possible with an external driver.
>
> How many people know how to communicate with QEMU via a socket?
> How do you even do it? It doesn't sound very easy to do.

It's easy, as QEMU command line goes:

    -qmp unix:test-hmp,server,nowait

This is syntactic sugar for something like

    -chardev socket,id=compat_monitor1,path=sock-qmp,server=on,wait=off
    -mon mode=control,chardev=compat_monitor1

The long form is more flexible.  If you use it, don't use
id=compat_monitor1, obviously.

Easier on the eyes as configuration file for -readconfig:

    [chardev "qmp"]
      backend = "socket"
      path = "sock-qmp"
      server = "on"
      wait = "off"

    [mon "qmp"]
      mode = "control"
      chardev = "qmp"

>                                                          A menu item
> that displays a file open dialog is very easy to use. The user just selects
> a file and QEMU loads and runs all the commands in it. This feature
> would make QEMU easier to use. It would also make QEMU easily
> expandable. Typing long commands in the monitor is difficult and
> error prone. Saving these commands in a file would make it much
> easier for the user. An example command someone could put in a
> file is sending Control-Alt-Delete to the emulator. Another command
> could be mounting an image file. This feature would make things
> much easier for the user.

You didn't mention you're talking about a *GUI* feature.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]