xvfb 初步探究
来源:互联网 发布:如何联系网络推手 编辑:程序博客网 时间:2024/06/05 18:24
有时候我们不关注程序是否有界面(比如自动化测试),只要程序在运行就可以了
很感谢 xvfb 这个工具给我们提供了相关的功能
比如在没有 X server 的机器上运行 gedit, 可以用下面的命令
xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24" gedit
xvfb 这个工具相当于一个wrapper, 给应用程序提供虚拟的 X server
用 ps auxf 观察进程的结构,可以发现 xvfb-run 首先创建了 Xvfb:103 这个 daemon 子进程,而后再运行 gedit
...
\_ /bin/sh /usr/bin/xvfb-run --auto-servernum --server-args=-screen 0 1280x760x24 gedit
\_ Xvfb :103 -screen 0 1280x760x24 -nolisten tcp
\_ gedit
如果,自己编写一个脚本 1.sh, 内容是显示 $DISPLAY 变量
---- 1.sh ---
echo $DISPLAY
再用下面的命令运行
xvfb-run --auto-servernum --server-args="-screen 0 1280x760x24" ./1.sh
输出是
:103
而查看进程,原来 deamon 提供 DISPLAY :103
\_ /bin/sh /usr/bin/xvfb-run --auto-servernum --server-args=-screen 0 1280x760x24 ./1.sh
\_ Xvfb :103 -screen 0 1280x760x24 -nolisten tcp
再用命令查看 netstat -ln, 可以看到提供服务的 unix socket
...
unix 2 [ ACC ] STREAM LISTENING 2060030 /tmp/.X11-unix/X103
...
总结:
xvfb 是通过提供一个类似 X server 守护进程 和 设置程序运行的环境变量 DISPLAY 来提供程序运行的环境
- xvfb 初步探究
- xvfb
- jQuery 原理初步探究
- MassTransit 探究初步
- boost bind初步探究
- MassTransit 探究初步
- GridLayout 初步探究
- AndroLua, Luajava初步探究
- jQuery 原理初步探究
- boost bind初步探究
- PendingIntent初步探究
- PaaS初步探究
- JCS的初步探究
- osg 纹理初步探究
- Javascript----Promise初步探究
- Onvif协议初步探究
- 模板函数初步探究1
- 函数模板初步探究2
- Android深入浅出之Binder机制
- unique函数
- Working Practice-发现领导说的与自己看到的不一致时,迅速沟通。
- 解决ubuntu server ping: unknown host www.baidu.com
- hive job执行出错--提示Execution failed with exit status 2
- xvfb 初步探究
- linux 查找命令
- 【UG活动ppt】Chris Mountford:敏捷软件开发的本质
- onkeyup(文本框验证)
- Android:hierarchy viewer unable to debug device--解决办法
- 小谈一下vi与vim
- Android 开发中的网络下载策略 与 文件缓存策略
- hibernate 注解配置一对多关系
- 在OnPaint中必须调用一次BeginPaint和EndPaint,且也只能调用一次。(上)