From 4cc5a54c0c11e53421dbaab54da1bd9f15cc9b2a Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sat, 4 Jun 2016 11:32:26 +0000 Subject: [PATCH] verify that we can access the X11 display for all non-proxy servers on posix systems git-svn-id: https://xpra.org/svn/Xpra/trunk@12742 3bb7dfac-3a0b-4e04-842a-767bc560f471 --- src/xpra/scripts/server.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/xpra/scripts/server.py b/src/xpra/scripts/server.py index 533204ba35..24e17e903d 100644 --- a/src/xpra/scripts/server.py +++ b/src/xpra/scripts/server.py @@ -1119,16 +1119,17 @@ def run_server(error_cb, opts, mode, xpra_file, extra_args, desktop_display=None return 1 display = None - if start_vfb: - if not verify_display_ready(xvfb, display_name, shadowing): - return 1 - if nested and not verify_display_ready(nested, child_display, False): - return 1 + if not proxying: + no_gtk() + if os.name=="posix" and starting or starting_desktop: + #check that we can access the X11 display: + if not verify_display_ready(xvfb, display_name, shadowing): + return 1 + if nested and not verify_display_ready(nested, child_display, False): + return 1 display = verify_gdk_display(display_name) if not display: return 1 - elif not proxying: - no_gtk() import gtk #@Reimport assert gtk @@ -1249,10 +1250,11 @@ def kill_xvfb(): except: pass # Close our display(s) first, so the server dying won't kill us. + if display: + import gtk #@Reimport + for display in gtk.gdk.display_manager_get().list_displays(): + display.close() log.info("killing xvfb with pid %s" % xvfb_pid) - import gtk #@Reimport - for display in gtk.gdk.display_manager_get().list_displays(): - display.close() os.kill(xvfb_pid, signal.SIGTERM) if xvfb_pid is not None and not opts.use_display and not shadowing: