diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-06-15 20:47:18 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-06-15 20:47:18 (GMT) |
commit | 13dca9c59da4fb811f422a9f60345e3b79dac7c9 (patch) | |
tree | fba57a0b3d074de4bd9486e9199302673244b7b7 /scripts/check-system | |
parent | 6e3cdf1b4855fd0c82ae9abcfcf91400e7341c45 (diff) |
Run Xvfb properly
Diffstat (limited to 'scripts/check-system')
-rwxr-xr-x | scripts/check-system | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/scripts/check-system b/scripts/check-system index 1469621..ba31063 100755 --- a/scripts/check-system +++ b/scripts/check-system @@ -172,15 +172,28 @@ for info in libs: else: missing_libs.append(info) +xvfb_display = ":100" +xvfb_proc = subprocess.Popen(args=["Xvfb", xvfb_display], + stdout=devnull, + stderr=subprocess.STDOUT) +orig_display = os.environ.get("DISPLAY", None) +os.environ["DISPLAY"] = xvfb_display + for info in imports: - if subprocess.call(["Xvfb", ":100", "-ac", - "python", "-c", info["import"]], + if subprocess.call(["python", "-c", info["import"]], stdout=devnull, stderr=subprocess.STDOUT) == 1: if distro in info["packages"]: packages.append(info["packages"][distro]) else: missing_libs.append(info) +if orig_display: + os.environ["DISPLAY"] = xvfb_display +else: + del os.environ["DISPLAY"] + +xvfb_proc.terminate() + if packages: install_packages(packages) |