标签 QXcbConnection 下的文章

Linux: 统信的机子输入密码进入不了界面。。


问题

同事说有一台统信(UOS)的机子输入密码进不去界面了。之前就发生过此问题,以为跟一个缺qt库一样的问题。一查看,并不是想象的那样。因为缺qt库的情况是输入密码的界面也会直接卡死没有。这个问题不一样,有输入密码的界面,而且密码输入正确,会无限次输入密码,而且提示了输入正确。
微信图片_20230426074845.jpg

解决过程

Ctrl+Alt+F2进入命令行模式

尝试着在命令行里重启以下桌面,会提示【QXcbConnection: Could not connect to display】,这个问题个之前的统信缺库就不一样的,那只好百度以下。

  • # 输入账号密码进入命令行
  • cas_user@casuser-PC:/$ dde-desktop
  • qt.qpa.screen: QXcbConnection: Could not connect to display
  • Could not connect ot any X display.
  • cas_user@casuser-PC:/$

百度出来的解决办法

首先

vim ~/.bashrc
然后在里面添加

export QT_QPA_PLATFORM='offscreen'
即时生效

source ~/.bashrc
这样就可以额

每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。
一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。

` 其过程就是首先其次再然后。

准备处理

  • cas_user@casuser-PC:/$ cd ~
  • cas_user@casuser-PC:/$
  • # 然后发现居然进不去自己的目录
  • cas_user@casuser-PC:/$ cd /home && ls -al
  • cas_user@casuser-PC:/$
  • 总用量 16
  • drwxr-xr-x 4 root root 4096 411 19:18 .
  • drwxr-xr-x 25 root root 4096 420 03:08 ..
  • drwxr-x--- 27 root root 4096 426 07:19 cas_user # ? 权限咋都是root?
  • drwxr-xr-x 3 root root 4096 420 16:59 highgo
  • cas_user@casuser-PC:/home$ sudo chown cas_user:cas_user cas_user -R
  • 请输入密码:
  • 验证成功
  • cas_user@casuser-PC:/home$ ls -al
  • 总用量 16
  • drwxr-xr-x 4 root root 4096 411 19:18 .
  • drwxr-xr-x 25 root root 4096 420 03:08 ..
  • drwxr-x--- 27 cas_user cas_user 4096 426 07:19 cas_user # 这回权限才对啊
  • drwxr-xr-x 3 root root 4096 420 16:59 highgo

就这么发现问题了,由于用户自己的目录权限变成了root,导致的界面访问不到相关的配置文件导致的进不了页面。那就不用百度的方法了啊。。。。

找找问题是出自哪里

  • cas_user@casuser-PC:/home$ sudo su
  • 请输入密码:
  • 验证成功
  • root@casuser-PC:/home# history
  • ···
  • 373 chown -R root:root /home/cas_user
  • ···

???这谁受得了啊,说实话这命令跟rm /* -rf 可能没啥区别,所以我建议尽可能的别用root权限,真的很容易出现问题。