deepin-wine-ubuntu
deepin-wine-ubuntu copied to clipboard
gsd-xsetting 破坏 KDE 以及应用程序
体验了十分钟,发现的已知问题有:
- 在 gsd-xsettings 后启动的 App,字体 DPI 设置丢失,无法正确适配 HiDPI
- 托盘 fcitx 图标变模糊,似乎是被识别为 GNOME 桌面
表示没有测试到。。。。。。
表示没有测试到。。。。。。
第1点我这里可100%复现,复现方法:
- 打开kde系统设置-字体,钩选“固定字体dpi”并将dpi设为一个较大的值(如144)
- 打开一个应用,此时字体会变大
- 运行gsd-xsettings,之后再打开一个应用,字体大小又变回去了
自定义一个 xsession, 在执行 startkde 前, 先执行 gsd-xsettings 但是 gtk 程序依然会受到影响, 可结合 gtk 的 HiDPI 相关设置进行补充设置
使用 SDDM + KDE 在刚刚登录 Linux 后的几秒钟内可以正常启动 Deepin Wine 而不会触发 X Error of failed request: BadWindow (invalid Window parameter)
错误,按这个思路也许能找到罪魁祸首。
P.S. Arch Linux,没有安装 gnome-settings-daemon
或运行 gsd-xsettings
。
@kidonng 对,我发现这个了,但我没能找到这个的原因
在使用4K屏的KDE环境下, 这是一个很严重的问题.
@RRRRRm 可以简单地改 dconf 把缩放因子调至合适,或者像 @Peytonlan 说的先开 gsd-xsettings 如果觉得这些方案都不优雅,可以选择使用原版 wine + winelibs (https://phpcj.org/wineqq/)
确实会影响高分屏的使用。第一次安装时使用 KDE-install.sh
运行 gsd-xsettings
后所有的字体 DPI 都变低了,貌似需要重新登入才能恢复原来的设置。
一个解决办法就是用 dconf 把 com.ubuntu.user-interface.desktop.text-scaling-factor
和 org.gnome.desktop.interface.text-scaling-factor
均改为和 KDE 的屏幕缩放一样。
lxde 运行gsd-xsettings之后 lxpanel就死掉了
如果这个想要好一点的办法的话可能只能改run.sh了
Arch KDE,使用gnome-settings-daemon, 解决方案如下:
- 环境设置
gsettings set org.gnome.desktop.interface text-scaling-factor 2
gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Gdk/WindowScalingFactor', <2>}]"
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Xft/DPI', <192>}]"
- 自启动
/usr/lib/gsd-xsettings&
- 一些注意事项
- scaling-factor 是整数, text-scaling-factor 是浮点数
- 字体大小似乎与'Xft/DPI'的值无关,仅取决于text-scaling-factor 。但对火狐窗口内鼠标指针缩放与'Xft/DPI'有关
- 似乎四条缺一不可,但顺序无所谓
manjaro kde 安装xsettingsd
(pacman -S xsettingsd
) (100多k),不需要gsd-xsetting
后台运行可解决tim默认无法启动、破坏kde字体设置中字体微调问题(dpi未测试)
运行前后未发现GTK主题有变化
参考此配置xsettingsd : https://github.com/derat/xsettingsd/wiki/Installation
顺便说一下:
kde 字体设置 微调 为 中等
或完全
,外加lib32-freetype2-infinality-ultimate
(tim 字体dpi :120)
可以让字体比较好看
这里的让tim在高分屏大小合适的解决方案在我这体验完美! 而正如上面的兄弟说的xsetingsd
比gsd-xsettings
好很多, 使用方法也可以像这样改良. 只对wine进行设置应当是对其他应用干扰最小的方式了. 总结下来在arch系kde高分屏安装tim流程如下:
-
yay -S deepin.com.qq.office yay -S xsettingsd
- 在wine的Grapics中修改dpi为210
env WINEPREFIX=$HOME/.deepinwine/Deepin-TIM deepin-wine winecfg
- 设置启动tim前启动
xsetingsd
. 修改/opt/deepinwine/tools/run.sh
:RunApp() { + if [[ -z "$(ps -e | grep -o xsettingsd)" ]] + then + /usr/bin/xsettingsd & + fi if [ -d "$WINEPREFIX" ]; then UpdateApp else
- 修一修不能输入中文等小毛病
Arch KDE
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Xft/DPI', <192>}]"
添加这项设置会导致chrome的字体缩放出现严重的问题
表示用了deepin-wine后steam和codeblocks等应用就不认我设定的dpi缩放了
指针在窗口与桌面之间切换时大小会发生变化
换鼠标样式后指针在桌面时的样式仍是默认样式(在部分窗口的部件上也是默认样式)
不知问题具体出在哪里
ps.deepin-wine是从deepin源直接装的, 系统是kubuntu20.04