Patchwork [4/7] Add support for -display vnc

login
register
mail settings
Submitter Jes Sorensen
Date March 16, 2011, 12:33 p.m.
Message ID <1300278816-29513-5-git-send-email-Jes.Sorensen@redhat.com>
Download mbox | patch
Permalink /patch/87245/
State New
Headers show

Comments

Jes Sorensen - March 16, 2011, 12:33 p.m.
From: Jes Sorensen <Jes.Sorensen@redhat.com>

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 qemu-options.hx |    5 ++++-
 vl.c            |   14 ++++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

Patch

diff --git a/qemu-options.hx b/qemu-options.hx
index 08a99b5..5f8dc04 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -592,7 +592,8 @@  ETEXI
 
 DEF("display", HAS_ARG, QEMU_OPTION_display,
     "-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]\n"
-    "            [,window_close=on|off]|curses|none\n"
+    "            [,window_close=on|off]|curses|none|\n"
+    "            vnc=<display>[,<optargs>]\n"
     "                select display type\n", QEMU_ARCH_ALL)
 STEXI
 @item -display @var{type}
@@ -615,6 +616,8 @@  graphics card, but its output will not be displayed to the QEMU
 user. This option differs from the -nographic option in that it
 only affects what is done with video output; -nographic also changes
 the destination of the serial and parallel port data.
+@item vnc
+Start a VNC server on display <arg>
 @end table
 ETEXI
 
diff --git a/vl.c b/vl.c
index 0a409f4..555bc49 100644
--- a/vl.c
+++ b/vl.c
@@ -1610,6 +1610,20 @@  static DisplayType select_display(const char *p)
         fprintf(stderr, "SDL support is disabled\n");
         exit(1);
 #endif
+    } else if (strstart(p, "vnc", &opts)) {
+        display_remote++;
+
+        if (*opts) {
+            const char *nextopt;
+
+            if (strstart(opts, "=", &nextopt)) {
+                vnc_display = nextopt;
+            }
+        }
+        if (!vnc_display) {
+            fprintf(stderr, "VNC requires a display argument vnc=<display>\n");
+            exit(1);
+        }
     } else if (strstart(p, "curses", &opts)) {
 #ifdef CONFIG_CURSES
         display = DT_CURSES;