以前写过一篇文章说在Linux下面使用deepin的wine QQ和微信, 虽然这个版本挺好用,可是一直以来有个bug困扰我:QQ和微信的图标都是wine的小图标,如出一辙不说,还重叠在一块儿,当你使用 ctrl+tab 切换应用的时候很头疼,用过的人应该生有感觉!git
有段时间我网上查了好久都没有找到答案,起初觉得是图标问题!在Linux下面桌面图标快捷方式是由一个desktop文件配置,好比微信的内容基本上以下:github
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
X-Created-By=Deepin WINE Team
Categories=chat;
Icon=deepin.com.wechat
Exec="/opt/deepinwine/apps/Deepin-WeChat/run.sh" -u %u
Name=WeChat
Name[zh_CN]=微信
Comment=Tencent WeChat Client on Deepin Wine
StartupWMClass=WeChat.exe
MimeType=
复制代码
其中有几个比较关键的地方,一个是Icon,一个是Exec,还有Name,有一天我看到这个 StartupWMClass 突发奇想,虽然我不懂是啥意思,可是感受这个有问题。ubuntu
因而百度了一下,基本上找不到任何内容,只有一篇文章,点进去竟然是404...还好有百度快照!bash
终于找到问题所在了,默认状况下,Linux是根据可执行文件的名称断定是属于哪一个desktop文件配置的,大部分desktop文件的Exec配置的可执行文件恰好就是实际执行的文件名,因此不少没有StartupWMClass配置项。微信
可是这个配置项很重要,好比说在上面的微信的配置里面这个值是”WeChat.exe“,可是为何仍是不行呢?app
根据文章的说法,能够经过xprop WM_CLASS
获取窗口的属性值,在命令行下执行这个命令,鼠标会变成+,而后点击要QQ或微信的窗口:spa
jwang@jwang:~$ xprop WM_CLASS
WM_CLASS(STRING) = "wechat.exe", "Wine"
复制代码
不知道这个值是否是不一样的电脑不同,反正在个人电脑上面这个值是”wechat.exe“,竟然是小写!命令行
这样的话,咱们只需把desktop配置文件里面的StartupWMClass改为小写的就好了,问题解决!code