Beispiel #1
0
def verify_display_ready(xvfb, display_name, shadowing):
    from xpra.log import Logger
    log = Logger("server")
    from xpra.x11.bindings.wait_for_x_server import wait_for_x_server        #@UnresolvedImport
    # Whether we spawned our server or not, it is now running -- or at least
    # starting.  First wait for it to start up:
    try:
        wait_for_x_server(display_name, 3) # 3s timeout
    except Exception as e:
        sys.stderr.write("%s\n" % e)
        return  None
    # Now we can safely load gtk and connect:
    assert "gtk" not in sys.modules
    import gtk.gdk          #@Reimport
    try:
        import glib
        glib.threads_init()
    except:
        #old versions do not have this method
        pass
    display = gtk.gdk.Display(display_name)
    manager = gtk.gdk.display_manager_get()
    default_display = manager.get_default_display()
    if default_display is not None:
        default_display.close()
    manager.set_default_display(display)
    if not shadowing and not check_xvfb_process(xvfb):
        #if we're here, there is an X11 server, but it isn't the one we started!
        log.error("There is an X11 server already running on display %s:" % display_name)
        log.error("You may want to use:")
        log.error("  'xpra upgrade %s' if an instance of xpra is still connected to it" % display_name)
        log.error("  'xpra --use-display start %s' to connect xpra to an existing X11 server only" % display_name)
        log.error("")
        return  None
    return display
Beispiel #2
0
def verify_display_ready(xvfb, display_name, shadowing_check=True):
    from xpra.x11.bindings.wait_for_x_server import wait_for_x_server  #@UnresolvedImport
    # Whether we spawned our server or not, it is now running -- or at least
    # starting.  First wait for it to start up:
    try:
        wait_for_x_server(strtobytes(display_name), VFB_WAIT)
    except Exception as e:
        log = get_vfb_logger()
        log("verify_display_ready%s", (xvfb, display_name, shadowing_check),
            exc_info=True)
        log.error("Error: failed to connect to display %s" % display_name)
        log.error(" %s", e)
        return False
    if shadowing_check and not check_xvfb_process(xvfb):
        #if we're here, there is an X11 server, but it isn't the one we started!
        log = get_vfb_logger()
        log.error("There is an X11 server already running on display %s:" %
                  display_name)
        log.error("You may want to use:")
        log.error(
            "  'xpra upgrade %s' if an instance of xpra is still connected to it"
            % display_name)
        log.error(
            "  'xpra --use-display start %s' to connect xpra to an existing X11 server only"
            % display_name)
        log.error("")
        return False
    return True
Beispiel #3
0
def main():
    import sys
    display = None
    if len(sys.argv)>1:
        display = strtobytes(sys.argv[1])
    from xpra.x11.bindings.wait_for_x_server import wait_for_x_server        #@UnresolvedImport
    wait_for_x_server(display, VFB_WAIT)
    print("OK")
Beispiel #4
0
def verify_display_ready(xvfb, display_name, shadowing):
    from xpra.log import Logger
    log = Logger("server")
    from xpra.x11.bindings.wait_for_x_server import wait_for_x_server  #@UnresolvedImport
    # Whether we spawned our server or not, it is now running -- or at least
    # starting.  First wait for it to start up:
    try:
        wait_for_x_server(display_name, 3)  # 3s timeout
    except Exception, e:
        sys.stderr.write("%s\n" % e)
        return None
Beispiel #5
0
def verify_display_ready(xvfb, display_name, shadowing):
    from xpra.log import Logger
    log = Logger("server")
    from xpra.x11.bindings.wait_for_x_server import wait_for_x_server        #@UnresolvedImport
    # Whether we spawned our server or not, it is now running -- or at least
    # starting.  First wait for it to start up:
    try:
        wait_for_x_server(display_name, 3) # 3s timeout
    except Exception, e:
        sys.stderr.write("%s\n" % e)
        return  None
Beispiel #6
0
 def setUp(self):
     ProcessTestUtil.setUp(self)
     self.splash = None
     self.display = None
     self.xvfb = None
     if not POSIX or OSX:
         return
     if USE_DISPLAY:
         self.display = os.environ.get("DISPLAY", "")
         return
     client_display = self.find_free_display()
     self.xvfb = self.start_Xvfb(client_display)
     self.display = client_display
     try:
         from xpra.x11.bindings.wait_for_x_server import wait_for_x_server
     except ImportError:
         time.sleep(5)
     else:
         wait_for_x_server(client_display.encode(), 10)
Beispiel #7
0
def verify_display_ready(xvfb, display_name, shadowing):
    from xpra.log import Logger
    log = Logger("server")
    from xpra.x11.bindings.wait_for_x_server import wait_for_x_server  #@UnresolvedImport
    # Whether we spawned our server or not, it is now running -- or at least
    # starting.  First wait for it to start up:
    try:
        wait_for_x_server(display_name, 3)  # 3s timeout
    except Exception as e:
        sys.stderr.write("%s\n" % e)
        return None
    # Now we can safely load gtk and connect:
    no_gtk()
    import gtk.gdk  #@Reimport
    try:
        import glib
        glib.threads_init()
    except:
        #old versions do not have this method
        pass
    display = gtk.gdk.Display(display_name)
    manager = gtk.gdk.display_manager_get()
    default_display = manager.get_default_display()
    if default_display is not None:
        default_display.close()
    manager.set_default_display(display)
    if not shadowing and not check_xvfb_process(xvfb):
        #if we're here, there is an X11 server, but it isn't the one we started!
        log.error("There is an X11 server already running on display %s:" %
                  display_name)
        log.error("You may want to use:")
        log.error(
            "  'xpra upgrade %s' if an instance of xpra is still connected to it"
            % display_name)
        log.error(
            "  'xpra --use-display start %s' to connect xpra to an existing X11 server only"
            % display_name)
        log.error("")
        return None
    return display
Beispiel #8
0
#!/usr/bin/env python
# This file is part of Xpra.
# Copyright (C) 2015 Antoine Martin <*****@*****.**>
# Xpra is released under the terms of the GNU GPL v2, or, at your option, any
# later version. See the file COPYING for details.

from xpra.x11.bindings.wait_for_x_server import wait_for_x_server  #@UnresolvedImport
import os

wait_for_x_server(os.environ.get("DISPLAY", ":0"), 5)
Beispiel #9
0
#!/usr/bin/env python
# This file is part of Xpra.
# Copyright (C) 2015 Antoine Martin <*****@*****.**>
# Xpra is released under the terms of the GNU GPL v2, or, at your option, any
# later version. See the file COPYING for details.

from xpra.x11.bindings.wait_for_x_server import wait_for_x_server       #@UnresolvedImport
import os

wait_for_x_server(os.environ.get("DISPLAY", ":0"), 5)
Beispiel #10
0
            log.error(
                "  'xpra --use-display start %s' to connect xpra to an existing X11 server only"
                % display_name)
            log.error("")
        return True

    if xvfb_error():
        return 1

    if not sys.platform.startswith("win") and not sys.platform.startswith(
            "darwin"):
        from xpra.x11.bindings.wait_for_x_server import wait_for_x_server  #@UnresolvedImport
        # Whether we spawned our server or not, it is now running -- or at least
        # starting.  First wait for it to start up:
        try:
            wait_for_x_server(display_name, 3)  # 3s timeout
        except Exception, e:
            sys.stderr.write("%s\n" % e)
            return 1
        if xvfb_error(True):
            return 1
        # Now we can safely load gtk and connect:
        assert "gtk" not in sys.modules
        import gtk.gdk  #@Reimport
        gtk.gdk.threads_init()
        display = gtk.gdk.Display(display_name)
        manager = gtk.gdk.display_manager_get()
        default_display = manager.get_default_display()
        if default_display is not None:
            default_display.close()
        manager.set_default_display(display)
Beispiel #11
0
            log.error("There is an X11 server already running on display %s:" % display_name)
            log.error("You may want to use:")
            log.error("  'xpra upgrade %s' if an instance of xpra is still connected to it" % display_name)
            log.error("  'xpra --use-display start %s' to connect xpra to an existing X11 server only" % display_name)
            log.error("")
        return True

    if xvfb_error():
        return  1

    if not sys.platform.startswith("win") and not sys.platform.startswith("darwin"):
        from xpra.x11.bindings.wait_for_x_server import wait_for_x_server        #@UnresolvedImport
        # Whether we spawned our server or not, it is now running -- or at least
        # starting.  First wait for it to start up:
        try:
            wait_for_x_server(display_name, 3) # 3s timeout
        except Exception, e:
            sys.stderr.write("%s\n" % e)
            return  1
        if xvfb_error(True):
            return  1
        # Now we can safely load gtk and connect:
        assert "gtk" not in sys.modules
        import gtk.gdk          #@Reimport
        gtk.gdk.threads_init()
        display = gtk.gdk.Display(display_name)
        manager = gtk.gdk.display_manager_get()
        default_display = manager.get_default_display()
        if default_display is not None:
            default_display.close()
        manager.set_default_display(display)