我有一个在beaglebone上远程运行的应用程序,用wxPython编写.我想使用Xvfb在虚拟帧缓冲区内运行应用程序,并使用VNC远程访问它.
您可能也应该知道我正在从应用程序内部启动VNC,如下所示:
display = Display(":99")
root = display.screen().root
win_ids = [w.id for w in root.query_tree()._data['children'] if w.get_wm_name() and 'myappname' in w.get_wm_name().lower()]
if (win_ids[0]):
print("Found my win id. Starting x11vnc")
system("x11vnc -quiet -sid %s -forever &" % win_ids[0])
else:
print("Can't find my Window ID!")
编辑:我使用Debian Jessie与内核版本3.8.13和xenomai.我找不到xvfb-run或Xvfb的版本号,但我可以告诉你我的xorg版本是1.16.4
当我启动应用程序时:
sudo xvfb-run ./myApp -s :99 -screen 0 1920x1080x16 -ac
我看到以下内容:
但是,当我单独启动Xvfb时:
Xvfb :99 -screen 0 800x600x16 -ac &
然后启动应用程序:
DISPLAY=:99 ./myApp
我看到了(应该是什么):
任何见解?
解决方法:
我们显然没有相同版本的xvfb-run,但我的是shell
脚本和运行时
xvfb-run ./myApp -s :99 -screen 0 1920x1080x16 -ac
根本没有参数传递给Xvfb服务器,所有参数都传递给应用程序.该应用程序必须是最后一行的-s 1920x1080x16等选项才能传递给服务器.没有这个屏幕的默认深度为8位,这可能是导致外观问题的原因.
此外,传递给服务器的args(在-s之后)必须变成单个sting.
最后,运行:
xvfb-run -s '-screen 0 1920x1080x16' ./myApp
标签:xvfb,python,vnc 来源: https://codeday.me/bug/20190815/1660417.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。