i3wm, kde, awesome等桌面管理器或桌面環境里運行基於deepin-wine的qq和tim時,會出現下面的錯誤
X Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 20 (X_GetProperty)
在gnome、mate、cinnamon三個桌面上運行較好,xfce4上運行有少許焦點上的bug,其它桌面環境和管理器下直接出上面的錯誤。
最近終於在aur上看到是因為deepin-wine依賴了gnome-setttings-daemon。(xsettings的一個后台進程,cinnamon和mate的xsettings進程也能用)
解決方案
1. 安裝gnome-settings-daemon (arch 系)
sudo pacman -S gnome-settings-daemon
ubuntu 下的包和運行的程序名略不一樣,參考:
https://github.com/wszqkzqk/deepin-wine-ubuntu/issues/12#issuecomment-443656358
2. 在tim啟動腳本中加入啟動
/opt/deepinwine/apps/Deepin-TIM/run.sh
的文件前添加下面的行:
/usr/lib/gsd-setttings &
注意
影響主題
在使用xsettings之后,主題等需要與對應的xsettings設置相對應。如使用gnome-settings-daemon時,需要在gnome的設置里更改主題。使用lxappearance修改主題只會更改~/.gtkrc-2.0等文件,不會生效。
csd-xsettings 的影響
csd-xsettings 主要影響兩個地方:1. 啟動過程; 2. 在tim內調用外部程序打開鏈接的過程(如打開網頁、打開本地目錄)。
可以考慮啟動后關閉對tim,可以避免影響系統主題一類的問題,但無法調用外部程序。加上運行后5s關閉的參數即可:
/usr/lib/cinnamon-settings-daemon/csd-xsettings --exit-time 5 &
附:使用cinnamon的xsettings的設置
主題的問題略坑,懶得去試gnome上的主題設置需要哪些包,安裝整個gnome的包需要800多M,直接安裝了cinnamon的基礎包(90M左右)。
cinnamon的xsettings默認也沒用那個不太能忍的主題。
sudo pacman -S cinnamon
# awesome的autorun里加入下面程序使開機運行
/usr/lib/cinnamon-settings-daemon/csd-xsettings
在系統設置里可以下載和更改主題
小坑
tim和qq都會在點擊好友圖像時卡死,原因是因為pulseaudio進程,kill掉就行,會影響聲音的調整。(千里之外的兩個程序不知道為什么會卡一起)
貌似pulseaudio與deepin-wine八字不合,使用csd-xsettings時無法調聲音,關了之后就行了….
最后
又從mate+awesomewm回到純awesomewm,但運行了一個xsetting進程也不知道和直接mate+awesome比能節約多少內存。