今天要记录的是通过Xvfb实现无显示器情况下调用浏览器,实现浏览器视频功能。

问题是这样的,最近我在学openVidu的相关技术,测试类中有通过浏览器去调取视频的相关代码,在windows操作系统下能够正常运行,能够通过java代码来调用浏览器,同样在有桌面窗口的linux也是可以正常调起来浏览器的。

不过在无桌面窗口的linux服务器上就不可以了,因为浏览器调用摄像头和麦克风是需要有UI界面的,经过的一番查询,期初也没有找到相关的实现功能。

就在昨天经过跟同事沟通讨论,得知Xvfb可以实现在没有显示器的情况下正常调用浏览器,并完成视频的播放和录制相关功能。

Xvfb是一个实现了X11显示服务协议的显示服务器。 不同于其他显示服务器,Xvfb在内存中执行所有的图形操作,不需要借助任何显示设备。

了解了以上情况,用起来就很简单了

安装Xvfb

yum install Xvfb -y

启动

Xvfb -ac :99 -screen 0 1280x1024x16 &

切换到虚拟显示器 ,99为启动时设置的参数 ,可以自己指定

export DISPLAY=:99

启动我们需要的程序,这里我是java程序
java -jar xxx.jar

这样 java就能在没有显示器和图像化界面的情况下调用浏览器了

通过Xvfb实现无显示器情况下调用浏览器相关推荐

  1. 树莓派3B+无显示器情况下——只用一根网线实现电脑远程控制的学习心得

    目录 Step1:共享网络 Step2:安装树莓派系统 Step3:确定树莓派IP Step4:连接树莓派 Step5:修改软件源 Step6:配置VNC Step7:安装VNC Viewer 这是我 ...

  2. 显示器可以远程管理Linux吗,Ubuntu 无显示器情况下的远程控制

    一.安装vnc4server 服务器安装:sudo apt-get install vnc4server 安装后执行vncserver会让你输入vnc客户端登录时输入的帐号和密码 安装后vncserv ...

  3. 显示器可以远程管理Linux吗,Ubuntu无显示器情况下的远程控制的方法及命令

    一.安装vnc4server 服务器安装:sudo apt-get install vnc4server 安装后执行vncserver会让你输入vnc客户端登录时输入的帐号和密码 安装后vncserv ...

  4. KVM虚拟机内无agent情况下的监控方法

    KVM虚拟机内无agent情况下的监控(ceilometer实现) 今天看到大家在群里讨论KVM虚拟机的监控问题,而且是要求VM内无agent情况下的监控.这方面确实没有深入研究,但尚有些openst ...

  5. 偷梁换柱 | 无备份情况下的数据恢复实践(二)

    黄玮(Fuyuncat) ♥       资深 Oracle DBA,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. 个人网站 www.HelloDBA.com 在 数据恢复实践(一)中, ...

  6. R语言使用timeROC包计算无竞争情况下的生存资料多个标记物在相同时间下的cox及协变量分析AUC值、并可视化多个标记物在相同时间下的ROC值、多指标的ROC曲线

    R语言使用timeROC包计算无竞争情况下的生存资料多个标记物在相同时间下的cox及协变量分析AUC值.并可视化多个标记物在相同时间下的ROC值.多指标的ROC曲线(Time-dependent RO ...

  7. R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值、R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的不同标记物情况下对应的AUC曲线、并进行对比

    R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值.R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的不同标记物情况下对应的AUC曲线.并进行对比 目录

  8. rtsp协议_如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口?...

    原标题:如何在RTSP协议视频智能平台EasyNVR未登录的情况下调用通道直播的接口? TSINGSEE青犀视频云边端架构全线都提供了丰富的API接口,用户可以自由调用进行二次开发.在本文之前,我们博 ...

  9. c++无继承情况下的对象构造

    无继承情况下的对象构造 C struct的Point声明 在C和C++中有什么区别? 抽象数据类型 包含虚函数的Point声明 自定义构造函数中会安插初始化vptr的代码 以成员为基础的赋值操作 C ...

最新文章

  1. Xamarin XAML语言教程模板视图TemplatedView(二)
  2. VC++使用ADO连接SQL Server数据库
  3. JavaScript实现动态规划方法计算特定位置的斐波那契数fibonacciNth算法(附完整源码)
  4. oracle 插入timestamp
  5. ActiveMQ网络连接器
  6. 数据结构链表之栈,Python3简单实现——5
  7. JS 原型对象(prototype)
  8. 木鸟民宿发布“中秋国庆出游住宿预测报告” 重庆、长沙最受欢迎
  9. linux 小度 驱动_Linux硬链接和软链接
  10. 《QQ欢乐斗地主》山寨版
  11. 学习python:实例属性和类属性
  12. 苹果Mac电脑配置flutter开发环境
  13. java 将汉字编码_JAVA中的汉字编码问题
  14. Controller中使用swagger注解的正确姿势
  15. qpsk相点 matlab,MATLAB-QPSK在AWGN信道下的仿真
  16. react学习—Reducer Hook
  17. Ubuntu18.04出现无WIFI适配器解决方法汇总
  18. Excel中数据透视表的使用(一)
  19. 歌曲:最初的梦想 原唱:范玮琪
  20. RealView MDK

热门文章

  1. 2007年7月28日 - 高县雷雨露营记II
  2. Linux Vim文本编辑器-Vim常用命令
  3. 【性能】什么是NUMA(Non-Uniform Memory Access)|什么是SMP
  4. 使用 Python 绘制中秋月饼案例,大家中秋节快乐
  5. docker容器相关异常certificate signed by unknown authority或者action: push: unauthorized to access repository
  6. java 数据库连接池的maxIdle该如何配置(转载非我原创)备忘
  7. 重学 Java 设计模式:实战命令模式「模拟高档餐厅八大菜系,小二点单厨师烹饪场景」
  8. Java字节流和字符流,是时候总结一下IO流了
  9. 社区版Pycharm如何使用Flask
  10. ADK+MDT实现域控服务器全自动静默下发系统(六):MDT的部署--添加预安装软件的引导文件