首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Linux操作系统中使用Python脚本启动bare X server (X -retro &)?

如何在Linux操作系统中使用Python脚本启动bare X server (X -retro &)?
EN

Stack Overflow用户
提问于 2019-05-30 20:55:48
回答 1查看 105关注 0票数 0

我是一个新手,正在尝试用Python自动化一个基于Linux的测试。请帮帮我。

这就是我尝试过的。但它不起作用。无错误,但显示器显示空白黑屏。

代码语言:javascript
运行
复制
subprocess.Popen(['pkill', 'X'])
time.sleep(5)
subprocess.Popen(['X', '-retro', '&']).communicate()
subprocess.Popen(['export', 'DISPLAY=:0']).communicate()
subprocess.Popen(['openbox', '--replace', '&']).communicate()
EN

回答 1

Stack Overflow用户

发布于 2019-05-30 23:00:47

如果需要外壳,则export将不起作用,因为每个命令都在单独的外壳中进行评估,否则将只涉及fork和exec。通过字典关键字参数传递环境变量。

通信将等待程序退出。此外,&也是没有意义的,因为Popen不会等待程序完成,并且将作业放在不是外壳的背景中是没有意义的,并且没有这种区别的概念或状态。

代码语言:javascript
运行
复制
subprocess.Popen(['pkill', 'X'])
time.sleep(5)
subprocess.Popen(['X', '-retro'])
import sys
env = dict(sys.environ)
env['DISPLAY']=':0'
subprocess.Popen(['openbox', '--replace'], env=env)

如果有问题的话,那就是涉及到的命令,而不是Python代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56378759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档