Ubuntu MATE系统下高分辨率显示器放大后WPS显示错位的解决方案

文章讲述了在UbuntuMATE22.04和24.04系统中,尤其是在高分辨率显示器和200%放大设置下,WPSOffice显示错位的问题。提到使用xrandr和修改lightdm登录界面的尝试,但效果不佳。这些问题在其他Linux论坛和Reddit上也被提及,反映了普遍性。

再更新,找到问题的原因和解决办法了。

对比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)图片和字体-优快云博客

补充:

参考:x11 - How to scale the resolution/display of the desktop and/or applications? - Unix & Linux Stack Exchange

尝试了这个脚本也不好使: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/

The display problem of wps-office on high-resolution screens - Software & Applications - Manjaro Linux Forum

WPS Office determines screen resolution incorrectly - Unix & Linux Stack Exchange

https://www.reddit.com/r/linuxquestions/comments/po633y/wps_office_hidpi_scaling/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值