再更新,找到问题的原因和解决办法了。
对比sudo env,root用户和普通用户的env,三种环境变量的差异,root用户和普通用户的基本相同,但sudo env跟这两个相差都很大,最关键的是普通用户和root用户的环境变量都有QT_FONT_DPI=96和QT_SCALE_FACTOR=2,而sudo则没有。这两个就是关键。
验证:
sudo启动加上这两个环境变量:
sudo QT_FONT_DPI=96 QT_SCALE_FACTOR=2 wps
这次跟普通用户和root用户一样显示错位了。
普通用户去掉这两个变量的值:
QT_FONT_DPI= QT_SCALE_FACTOR= wps
这次就显示正常了。
QT_FONT_DPI这个环境变量会影响字体大小,QT_SCALE_FACTOR这个环境变量会影响内容显示位置。
将QT_FONT_DPI翻倍,QT_SCALE_FACTOR改为1,如下:
QT_FONT_DPI=192 QT_SCALE_FACTOR=1 wps
跟下面这样去掉这两个值的效果是一样的:
QT_FONT_DPI= QT_SCALE_FACTOR= wps
彻底解决该问题:
修改wps启动文件,在前面两行配置上面两个环境变量:
sudo vim /usr/bin/wps
在前面加上这两行即可:
export QT_FONT_DPI=
export QT_SCALE_FACTOR=
/usr/bin/wpp、/usr/bin/wpspdf,以及/usr/bin/et文件也做同样修改。
可以使用以下命令一次性修改:
sudo sed -i '/^#!\/bin\/bash/a\\nexport QT_FONT_DPI=\nexport QT_SCALE_FACTOR=\n' /usr/bin/wps /usr/bin/wpp /usr/bin/wpspdf /usr/bin/et
例如,/usr/bin/wps修改后如下如下:
#!/bin/bash
export QT_FONT_DPI=
export QT_SCALE_FACTOR=gOpt=
#gOptExt=-multiply
这样通过菜单图标启动wps都可以正常显示了。
对于这个问题,通过华为手机的华为小艺查找解决方案,它给了在wps启动文件配置export QT_QPA_PLATFORMTHEME=qt5ct,export QT_SCALE_FACTOR=2,export QT_STYLE_OVERRIDE=kvantum,但实际没有解决问题(将QT_SCALE_FACTOR改为1可以让内容位置正常,但工具栏字体太小)。不过这个也给了上面通过修改wps启动脚本增加QT环境变量解决问题的思路。
---------------------------------------------
再更新,可以确定是用户有关的问题。
昨天安装旧版本发现普通用户无法启动,sudo可以启动并正常显示之后,重新安装wps-office_12.1.0.17900_amd64.deb版本,这个版本普通用户默认是可以直接打开的,会出现显示错位的问题。使用sudo wps打开,就可以正常显示了。
另外,su切换到root用户再打开wps,也是显示错位。要用sudo启动才能正常。
为什么普通用户和root用户直接启动会错位显示,sudo启动可以正常显示,还是不知道原因。
=====================================
更新,这个问题安装旧版本的WPS可以解决,系统是Ubuntu Mate 24.04,显示器仍然是2倍放大。
安装这个版本wps-office_11.1.0.10976_amd64.deb可以解决,但是启动时要使用sudo,不然会报错:
dlopen /opt/kingsoft/wps-office/office6/libkprometheus.so failed , error: libcrypto.so.1.1: cannot open shared object file: No such file or directory
另外,直接执行wps命令,或者点击图标没有任何输出,用/opt/kingsoft/wps-office/office6/wps命令可以看到上面的错误,加上sudo可以正常启动:
sudo /opt/kingsoft/wps-office/office6/wps
-----------
使用普通用户无法执行的原因是有些so文件没有读或者执行权限:
sudo find /opt/kingsoft/wps-office/office6/ -type f ! -perm -o=r+x -name "lib*.so*" -ls
用下面命令给这些文件加上加上读或者执行权限,普通用户也可以启动wps了:
sudo find /opt/kingsoft/wps-office/office6/ -type f ! -perm -o=r+x -name "lib*.so*" -exec chmod o+rx {} \;
但发现普通用户启动wps,还是会出现显示错位的问题。这样看来,可能不是wps版本的问题了。
----
参考:
https://forum.manjaro.org/t/the-display-problem-of-wps-office-on-high-resolution-screens/103634
https://askubuntu.com/questions/1403055/error-libcrypto-so-1-1-could-not-open-while-try-run-wps-office-on-ubuntu-22-04
--------------------------------------------------
系统:Ubuntu MATE 22.04和24.04,在显示器设置200%放大的情况下,显示错位。
显示器配置:

WPS显示错位:


这个问题当前没有找到好的解决方式。
因为4K显示屏设置4K分辨率,图标,字体太小,显示器需要配置放大。
一配置放大,WPS就会显示错位。
其中一个解决方式是使用xrandr修改放大倍数,但这种方式显示不清晰。如下:
修改lightdm登录界面(arctica-greeter)图片和字体-优快云博客
补充:
尝试了这个脚本也不好使:xpra + run_scaled
https://github.com/kaueraal/run_scaled/blob/master/run_scaled
-----------------
这个问题不是个例,例如:
https://www.reddit.com/r/openSUSE/comments/qgugm3/downloaded_wps_office_high_resolution_monitor/
WPS Office determines screen resolution incorrectly - Unix & Linux Stack Exchange
https://www.reddit.com/r/linuxquestions/comments/po633y/wps_office_hidpi_scaling/
文章讲述了在UbuntuMATE22.04和24.04系统中,尤其是在高分辨率显示器和200%放大设置下,WPSOffice显示错位的问题。提到使用xrandr和修改lightdm登录界面的尝试,但效果不佳。这些问题在其他Linux论坛和Reddit上也被提及,反映了普遍性。
2837

被折叠的 条评论
为什么被折叠?



