问题与解决
Ubuntu 23.10下安装搜狗拼音输入法并且使用搜狗输入法时,会闪屏。站内有人说可以换使用Xorg作为显示服务器,然后使用基于X11的桌面,其实可以不用那么麻烦,只需要设置QT的环境变量QT_QPA_PLATFORM=xcb,然后重新运行fcitx即可。
export QT_QPA_PLATFORM=xcbpkill fcitx; fcitx;
希望国内的Linux发行版和各种软件能够尽快适配Wayland。
更新
2024年5月14日更新:
个人推测,导致这个问题的原因是Ubuntu新的版本中默认使用了Wayland作为显示服务器,而搜狗输入法Linux版基于fcitx,fcitx是基于X11环境开发的,它需要用到xcb。所以在同一个终端下面设置export QT_QPA_PLATFORM=xcb,然后重新执行fcitx,fcitx在读取环境变量时读到的QT_QPA_PLATFORM的值就是xcb,自然会加载和使用正确的库。如果担心使用这个环境变量会影响其他程序,也可以重新设置这个QT_QPA_PLATFORM为原有的值,这么做不会影响到已经执行的fcitx,不过因为只是临时设置,所以其实也就只会影响到当前终端后续开始执行的需要使用QT_QPA_PLATFORM的软件。当然,如果还有其他问题,可能是缺少了某些库,这个可以从fcitx输出信息中看到。缺少哪些库就去安装对应的软件包。不过如果是按照搜狗输入法官方教程进行安装,或者使用dpkg安装搜狗拼音之后根据提示使用了sudo apt install --fix-broken,应该是不会缺少某些库。
这个方法也可能适用于某些过去基于X11开发的一些软件,但是我目前还没遇到,如果大家遇到了一些问题,可以尝试在终端执行自己需要用到软件,然后看看输出信息,根据信息修改QT_QPA_PLATFORM或者安装某些库。