[Spice-devel] [PATCH xf86-video-qxl 3/3] XSpice: auto generate temp files for the vdagent process.
Jeremy White
jwhite at codeweavers.com
Mon Oct 26 13:36:39 PDT 2015
Signed-off-by: Jeremy White <jwhite at codeweavers.com>
---
scripts/Xspice | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/scripts/Xspice b/scripts/Xspice
index 33f02d1..644887c 100755
--- a/scripts/Xspice
+++ b/scripts/Xspice
@@ -90,9 +90,9 @@ parser.add_argument('--streaming-video', choices=['off', 'all', 'filter'],
add_boolean('--ipv4-only')
add_boolean('--ipv6-only')
parser.add_argument('--vdagent', action='store_true', dest='vdagent_enabled', default=False, help='launch vdagent & vdagentd. They provide clipboard & resolution automation')
-parser.add_argument('--vdagent-virtio-path', default='/tmp/xspice-virtio', help='virtio socket path used by vdagentd')
-parser.add_argument('--vdagent-uinput-path', default='/tmp/xspice-uinput', help='uinput socket path used by vdagent')
-parser.add_argument('--vdagent-udcs-path', default='/tmp/xspice-vdagent', help='udcs socket path used by vdagent and vdagentd')
+parser.add_argument('--vdagent-virtio-path', help='virtio socket path used by vdagentd')
+parser.add_argument('--vdagent-uinput-path', help='uinput socket path used by vdagent')
+parser.add_argument('--vdagent-udcs-path', help='udcs socket path used by vdagent and vdagentd')
parser.add_argument('--vdagentd-exec', help='path to spice-vdagentd (used with --vdagent)')
parser.add_argument('--vdagent-exec', help='path to spice-vdagent (used with --vdagent)')
parser.add_argument('--vdagent-no-launch', default=True, action='store_false', dest='vdagent_launch', help='do not launch vdagent & vdagentd, used for debugging or if some external script wants to take care of that')
@@ -247,6 +247,23 @@ EndSection
""" % locals())
cf.flush()
+if args.vdagent_enabled:
+ for f in [args.vdagent_udcs_path, args.vdagent_virtio_path, args.vdagent_uinput_path]:
+ if f and os.path.exists(f):
+ os.unlink(f)
+
+ if not cf:
+ cf = tempfile.NamedTemporaryFile(prefix="Xspice-vdagent-", delete=True)
+ # Auto generate temporary files for vdagent
+ if not args.vdagent_udcs_path:
+ args.vdagent_udcs_path = cf.name + ".udcs"
+ if not args.vdagent_virtio_path:
+ args.vdagent_virtio_path = cf.name + ".virtio"
+ if not args.vdagent_uinput_path:
+ args.vdagent_uinput_path = cf.name + ".uinput"
+
+ cleanup_files.extend([args.vdagent_udcs_path, args.vdagent_virtio_path, args.vdagent_uinput_path])
+
var_args = ['port', 'tls_port', 'disable_ticketing',
'x509_dir', 'sasl', 'cacert_file', 'x509_cert_file',
'x509_key_file', 'x509_key_password',
@@ -321,3 +338,6 @@ else:
except KeyboardInterrupt:
# Catch Ctrl-C as that is the common way of ending this script
print "Keyboard Interrupt"
+
+if cf:
+ cf.close()
--
2.1.4
More information about the Spice-devel
mailing list