1 问题描述

Ubuntu16.04在更新了NVIDIA驱动之后,出现WPS演示闪退的问题。

在命令行运行WPS演示:

$ cd /opt/kingsoft/wps-office/office6
$ ./wpp

得到的错误信息如下:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Critical: Errors linking simple shader: ""
Critical: Errors linking blit shader: ""
段错误 (核心已转储)

可能是没有使用NVIDIA驱动的libGL库导致的。

2 删除/usr/lib/i386-linux-gnu/mesa/libGL.so.1

如果使用nvidia驱动程序,有时会看到libGL.so.1指向由mesa和NVIDIA提供的模糊libGL(即有多个libGL)。运行如下命令测试:

$ sudo ldconfig -p | grep -i gl.so

输出如下:

...
libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
...

可以看到有mesa提供的libGL.so.1,也有NVIDIA提供的。

现在只需要移除mesa提供的libGL.so.1,就可以恢复正常:

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1

上面的方法是别人提供的,我照做了,但是问题仍然没有解决,因为我的链接不是多了libGL.so.1,而是多了libGL.so,如下所示:

...
libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-384/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/nvidia-384/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64) => /usr/lib/nvidia-384/libGL.so
libGL.so (libc6) => /usr/lib32/nvidia-384/libGL.so
...

可是我没有删除/usr/lib/x86_64-linux-gnu/libGL.so,因为我不敢 ?,所以我采用了以下方法,重定向/usr/lib/x86_64-linux-gnu/libGL.so。

3 重链接/usr/lib/x86_64-linux-gnu/libGL.so

先找到libGL.so的位置(其实不必要):

$ locate libGL.so

然后备份libGL.so,再重新创建链接,指向NVIDIA的libGL.so:

$ sudo mv /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so.bak
$ sudo ln -s /usr/lib/nvidia-352/libGL.so.352.63 /usr/lib/x86_64-linux-gnu/libGL.so

这样就可以了,我的问题就得到了解决。不需要重新创建libglx.so的链接,也不需要注意循环登录问题。

不过之前我参考该博客一步一步执行,说是要那样做才不会出现循环登录问题,我照做了最后却出现了循环登录的问题,害得我重新安装了NVIDA驱动、CUDA和cuDNN,差点就想重装系统了,后来查看了错误报告,如下:

$ vim ~/.xsession-errors

然后根据里面的错误信息正确解决了循环登录问题。

4 重复登录

重新安装NVIDIA驱动后出现了重复登录的问题,最后根据资料和自己的理解,找到了解决方法,如下所示:

sudo rm  /usr/lib/x86_64-linux-gnu/libGL.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so.1

其实就是参考的博客中把libGL.so.1和libGL.so的顺序搞错了。

5 总结

正确的操作步骤应该是:

  1. 先查看自己的系统中是libGL.so多了,还是libGL.so.1多了
  2. 根据实际情况修改或删除多出来的libGL.so或libGL.so.1
  3. 修改还是删除,自己决定,但是千万记得备份

6 参考

  • Steam: libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast
  • 解决Ubuntu WPS演示全屏闪退(swrast_dri.so: undefined symbol: _glapi_tls_Dispatch)的错误

【Ubuntu】Ubuntu16.04下WPS演示闪退相关推荐

  1. wepe 装linux ubuntu,Ubuntu16.04下安装Wechat的实现方法

    Ubuntu16.04下安装Wechat 很久没写博客了,前两天电脑因为teamviewer不了,原因显示是libqt5gui5版本过低,研究了一波更新,卸载了libqt5gui5,和它的依赖qtba ...

  2. 解决ubuntu 22.04上teamViewer/toDesk闪退等问题

    解决办法:同时安装teamviewer和向日葵等远程控制软件,同时开,g了一个用另一个重启. 向日葵官网下载:https://sunlogin.oray.com/download/linux team ...

  3. 解决 ubuntu 14.04下,eclipse adt-bundle-linux 闪退的问题,最新ADT-23.0.7

    解决 ubuntu 14.04下,eclipse adt-bundle-linux 闪退的问题,最新ADT-23.0.7 今天 早上,早早的来到办公室,想把领导昨天布置的任务,快速完成.其实,就是很简 ...

  4. Ubuntu 13.04下安装WPS for Linux

    有人说Linux下不是有open office 和libre office么?是啊,可是将windows下的doc文档或者ppt放到Libreoffice上打开的时候我们很明显的可以看到格式完全不统一 ...

  5. Ubuntu 14.04安装WPS

    Ubuntu 14.04安装WPS Linux下有个liboffice,但是用着感觉老是不方便,还与office的一些文件不太兼容,很不方便 去官网下载deb包,地址http://community. ...

  6. Ubuntu 18.04下autoware 1.12 安装日志(含花屏解决方法)

    Ubuntu 18.04下autoware 1.12 安装日志 安装Autoware 1.12 Autoware官网信息 下载相关依赖项 新建文件夹下载autoware 1.12 编译autoware ...

  7. ubuntu 20.04 下安装easyconnect记录

    最近需要在linux下连接公司内网,试了下主要有一下两个问题: 1.easyconnect在ubuntu20下无法打开: 2.在解决第一个问题后在easyconnect登陆过程中闪退. 解决方案主要参 ...

  8. ubuntu16.04下ROS最新换源方法,解决Hash sum mismatch 问题

    1.更换源 备份原始数据 cd /etc/apt/ sudo cp sources.list sources.list.bak sudo gedit sources.list 科大源: deb htt ...

  9. Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

最新文章

  1. Color the ball----HDOJ1556
  2. Servlet接口中有哪些方法?
  3. 微服务架构设计模式 pdf_六种常用的微服务架构设计模式之一: 入门级模式...
  4. 机器学习基础-聚类算法-15
  5. GNS结合SecureCRT连接问题
  6. grid++中打印表格时怎么让每页有打印表头_一张表学习EXCEL(七):打印也有方法...
  7. 计算机三级网络技术知识点cn,计算机等级三级网络技术考试详解
  8. Thingsboard 3.1.0 - 远程控制和GPIO状态显示
  9. 转载:在Python 3中使用深度森林(Deep Forest)进行分类
  10. Python实现统计二叉树叶子结点个数
  11. telnet 回显 linux,telnet实现本地回显
  12. Android接入融云即时通讯SDK,实现单聊和发送自定义消息。
  13. cad线加粗怎么设置_cad2016怎么把线加粗
  14. 沪牌每月价格预测模型
  15. python 类的执行中保部存值_c/c++关于内存分配的知识(非常详细的比较,且VirtualAlloc分配内直接在进程的地址空间中保留一快内存)...
  16. C# LINQ源码分析之ToList()
  17. JAVA梅森旋转随机算法,你没听过的梅森旋转算法
  18. 局域网文件共享需要打开服务器,局域网共享工具有什么用怎么开启
  19. 分布式多级服务器架构设计构思
  20. 苹果新一代iPad Pro规格配置怎样?

热门文章

  1. 什么是CodeIgniter,它如何工作?
  2. PHP契约类的作用,LOL混沌契约作用详解 LOL混沌契约是什么
  3. Oracle查询正在执行的语句、锁表、耗费资源的语句
  4. oreacle数据库为utf8,但是plsql还是插入数据中文乱码问题
  5. inotify实时同步数据
  6. 微信小程序幸运大转盘
  7. android 原生分享界面_原生 Android 用户终于能用上骚扰电话拦截了
  8. 计算机考研保研复试上机算法技巧
  9. 收件服务器imap账户信息,imap账号收件服务器地址
  10. Mac进入和离开全屏模式