Ubuntu20.04运行Rivermax SDK media_receiver时glutInit()报错freeglut(empty): failed to open display
解决Ubuntu 20.04下Rivermax SDK media_receiver的freeglut显示报错问题
检查并设置DISPLAY环境变量
终端执行echo $DISPLAY,若输出为空或无效值,手动设置:export DISPLAY=:0若为远程连接场景,需允许本地程序访问X服务器:
xhost +local:之后再运行目标应用。
确保运行时继承环境变量
如果需要用sudo运行应用,需添加-E参数保留当前用户的环境变量:sudo -E ./media_receiver检查glutInit调用参数
对比示例程序的初始化代码,确保目标应用中glutInit正确传递了argc和argv参数,例如:glutInit(&argc, argv);避免出现
argc=0或argv为空的情况。修复或重新安装依赖库
重新安装freeglut及相关图形依赖:sudo apt install --reinstall libgl1-mesa-glx freeglut3 freeglut3-dev排查虚拟显示或无桌面环境场景
若在纯命令行环境运行,需启动虚拟X服务器:Xvfb :1 -screen 0 1024x768x24 & export DISPLAY=:1再运行目标应用。
对比示例程序的运行配置
检查示例程序的启动命令是否包含额外的环境变量(如LD_LIBRARY_PATH)或参数,确保目标应用使用相同配置。例如示例若用:LD_LIBRARY_PATH=/opt/rivermax/lib ./sample_receiver目标应用也需同步设置该库路径。
查看详细错误日志
运行目标应用时添加调试参数(如-v),或查看系统日志:journalctl -f定位更具体的错误原因。
内容的提问来源于stack exchange,提问作者boy expert
相关产品推荐
相关产品推荐

