Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(411)

Side by Side Diff: remoting/tools/me2me_virtual_host.py

Issue 10918224: Cross-platform plumbing for resize-to-client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed Clang errors. Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« remoting/remoting.gyp ('K') | « remoting/remoting.gyp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # Virtual Me2Me implementation. This script runs and manages the processes 6 # Virtual Me2Me implementation. This script runs and manages the processes
7 # required for a Virtual Me2Me desktop, which are: X server, X desktop 7 # required for a Virtual Me2Me desktop, which are: X server, X desktop
8 # session, and Host process. 8 # session, and Host process.
9 # This script is intended to run continuously as a background daemon 9 # This script is intended to run continuously as a background daemon
10 # process, running under an ordinary (non-root) user account. 10 # process, running under an ordinary (non-root) user account.
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 display = self.get_unused_display_number() 246 display = self.get_unused_display_number()
247 ret_code = subprocess.call("xauth add :%d . `mcookie`" % display, 247 ret_code = subprocess.call("xauth add :%d . `mcookie`" % display,
248 shell=True) 248 shell=True)
249 if ret_code != 0: 249 if ret_code != 0:
250 raise Exception("xauth failed with code %d" % ret_code) 250 raise Exception("xauth failed with code %d" % ret_code)
251 251
252 max_width = max([width for width, height in self.sizes]) 252 max_width = max([width for width, height in self.sizes])
253 max_height = max([height for width, height in self.sizes]) 253 max_height = max([height for width, height in self.sizes])
254 254
255 try: 255 try:
256 xvfb = locate_executable("Xvfb-randr") 256 # TODO(jamiewalch): This script expects to be installed alongside
257 # Xvf-randr, but that's no longer the case. Fix this once we have
Lambros 2012/09/13 22:00:35 typo: Xvfb-randr
Jamie 2012/09/14 21:07:34 Done.
258 # a Xvfb-randr package that installs somewhere sensible.
259 xvfb = "/usr/bin/Xvfb-randr"
Sergey Ulanov 2012/09/13 20:52:43 Not directly related to this CL: maybe we can just
Jamie 2012/09/14 21:07:34 Lambros had some reason for preferring to keep the
260 if not os.path.exists(xvfb):
261 xvfb = locate_executable("Xvfb-randr")
257 except Exception: 262 except Exception:
258 xvfb = "Xvfb" 263 xvfb = "Xvfb"
259 264
260 logging.info("Starting %s on display :%d" % (xvfb, display)) 265 logging.info("Starting %s on display :%d" % (xvfb, display))
261 screen_option = "%dx%dx24" % (max_width, max_height) 266 screen_option = "%dx%dx24" % (max_width, max_height)
262 self.x_proc = subprocess.Popen([xvfb, ":%d" % display, 267 self.x_proc = subprocess.Popen([xvfb, ":%d" % display,
263 "-noreset", 268 "-noreset",
264 "-auth", X_AUTH_FILE, 269 "-auth", X_AUTH_FILE,
265 "-nolisten", "tcp", 270 "-nolisten", "tcp",
266 "-screen", "0", screen_option 271 "-screen", "0", screen_option
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 606
602 607
603 def main(): 608 def main():
604 DEFAULT_SIZE = "1280x800" 609 DEFAULT_SIZE = "1280x800"
605 EPILOG = """This script is not intended for use by end-users. To configure 610 EPILOG = """This script is not intended for use by end-users. To configure
606 Chrome Remote Desktop, please install the app from the Chrome 611 Chrome Remote Desktop, please install the app from the Chrome
607 Web Store: https://chrome.google.com/remotedesktop""" 612 Web Store: https://chrome.google.com/remotedesktop"""
608 parser = optparse.OptionParser( 613 parser = optparse.OptionParser(
609 usage="Usage: %prog [options] [ -- [ X server options ] ]", 614 usage="Usage: %prog [options] [ -- [ X server options ] ]",
610 epilog=EPILOG) 615 epilog=EPILOG)
611 parser.add_option("-s", "--size", dest="size", action="append", 616 parser.add_option("-s", "--size", dest="size", action="append",
rmsousa 2012/09/13 21:59:05 TODO: For this feature to be fully functional we n
Jamie 2012/09/14 21:07:34 I forgot to increase the default maximum size. You
612 help="Dimensions of virtual desktop (default: %s). " 617 help="Dimensions of virtual desktop (default: %s). "
613 "This can be specified multiple times to make multiple " 618 "This can be specified multiple times to make multiple "
614 "screen resolutions available (if the Xvfb server " 619 "screen resolutions available (if the Xvfb server "
615 "supports this)" % DEFAULT_SIZE) 620 "supports this)" % DEFAULT_SIZE)
616 parser.add_option("-f", "--foreground", dest="foreground", default=False, 621 parser.add_option("-f", "--foreground", dest="foreground", default=False,
617 action="store_true", 622 action="store_true",
618 help="Don't run as a background daemon.") 623 help="Don't run as a background daemon.")
619 parser.add_option("", "--start", dest="start", default=False, 624 parser.add_option("", "--start", dest="start", default=False,
620 action="store_true", 625 action="store_true",
621 help="Start the host.") 626 help="Start the host.")
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 return 0 852 return 0
848 elif os.WEXITSTATUS(status) == 5: 853 elif os.WEXITSTATUS(status) == 5:
849 logging.info("Host domain is blocked by policy - exiting.") 854 logging.info("Host domain is blocked by policy - exiting.")
850 os.remove(host.config_file) 855 os.remove(host.config_file)
851 return 0 856 return 0
852 # Nothing to do for Mac-only status 6 (login screen unsupported) 857 # Nothing to do for Mac-only status 6 (login screen unsupported)
853 858
854 if __name__ == "__main__": 859 if __name__ == "__main__":
855 logging.basicConfig(level=logging.DEBUG) 860 logging.basicConfig(level=logging.DEBUG)
856 sys.exit(main()) 861 sys.exit(main())
OLDNEW
« remoting/remoting.gyp ('K') | « remoting/remoting.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698