一、现象描述
在 Linux(Ubuntu / Deepin / 优麒麟)安装 通达信官方 deb 版(原生 Linux,非 Wine) 后,出现:
- 启动器图标一个样式
- 打开软件后任务栏多出第二个不同图标
- 两个图标不合并、不统一
- 锁定到 dock 后依然双图标
很多人误以为是 Wine 兼容问题,但 deb 版通达信是原生 Linux 程序,不是 Wine。

二、根本原因(SEO 重点)
1. Linux 桌面靠 WM_CLASS 识别窗口归属
Ubuntu / GNOME / Deepin 任务栏判断 “这个窗口属于哪个图标”,
完全靠窗口的 WM_CLASS 属性。
2. 通达信窗口真实 WM_CLASS
终端执行:
xprop WM_CLASS
点击通达信窗口,得到:
WM_CLASS(STRING) = "tdxw.fak", "tdxcfv"
关键:主类名是 tdxcfv
3. .desktop 文件缺少或写错 StartupWMClass
如果 .desktop 文件中没有这个字段参数:
StartupWMClass=tdxcfv
系统会认为:
启动器是一个程序,
打开的窗口是另一个程序
于是出现 两个图标、不合并、不统一。
三、确认通达信是原生 Linux(不是 Wine)
终端:
ps aux | grep -i tdx
你会看到大概如下信息:
swper@Mt:/etc/alternatives$ ps aux | grep -i tdx
swper 18818 29.2 1.6 3796392 534052 ? Sl 13:32 2:53 /opt/apps/com.tdx.tdxcfv/files/bin/tdxw
swper 18983 0.0 0.1 211048 45788 ? S 13:32 0:00 /opt/apps/com.tdx.tdxcfv/files/bin/cefclient --type=zygote --no-sandbox --locales-dir-path=/opt/apps/com.tdx.tdxcfv/entries/locale/locales --log-file=/home/swper/.local/share/tdxcfv/dosdevices/c:/tc/T0002/tmp/debug.log --log-severity=error --resources-dir-path=/opt/apps/com.tdx.tdxcfv/files/bin/ --user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 TdxW --lang=zh-CN
- 没有
wine进程 → 原生 Linux cefclient是 CEF 浏览器内核 → 原生程序特征
结论:deb 版通达信是原生 Linux,不是 Wine。
四、彻底解决方法(一步到位)
1. 编辑 desktop 文件
文件的路径怎么知道?通过find命令查找
sudo find / -name "com.tdx.tdxcfv.desktop"
返回结果大概如下:
/usr/share/applications/com.tdx.tdxcfv.desktop
/opt/apps/com.tdx.tdxcfv/entries/applications/com.tdx.tdxcfv.desktop #这个是安装包目录下的
写入完整正确内容:
vim /usr/share/applications/com.tdx.tdxcfv.desktop
[Desktop Entry]
Name=tdxcfv
Name[zh_CN]=通达信金融终端
Comment=tdx tdxcfv client
Comment[zh_CN]=通达信金融终端客户端
Exec=/opt/apps/com.tdx.tdxcfv/files/bin/tdxw.sh
Terminal=false
Icon=com.tdx.tdxcfv
Categories=Finance;Network;
Type=Application
StartupNotify=true
StartupWMClass=tdxcfv
2. 更新数据库
需要根据上面com.tdx.tdxcfv.desktop保存路径,不同目录执行不生效哦
update-desktop-database /usr/share/applications/
3. 注销重新登陆
五、结果验证
重新打开通达信:
- 只出现一个图标
- 启动器与窗口自动合并
- 锁定到 dock 也不会再出现双图标
六、总结
- Linux 通达信双图标 = StartupWMClass 不匹配
- deb 版通达信 = 原生 Linux,不是 Wine
- 正确 WM_CLASS = tdxcfv
- 解决:desktop 文件加入
StartupWMClass=tdxcfv