Ubuntu 通达信出现双图标问题原因与彻底解决方法(原生 deb 版)

一、现象描述

在 Linux(Ubuntu / Deepin / 优麒麟)安装 通达信官方 deb 版(原生 Linux,非 Wine) 后,出现:

  • 启动器图标一个样式
  • 打开软件后任务栏多出第二个不同图标
  • 两个图标不合并、不统一
  • 锁定到 dock 后依然双图标

很多人误以为是 Wine 兼容问题,但 deb 版通达信是原生 Linux 程序,不是 Wine。

linux-tdx-duplicate-icon-fix

二、根本原因(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

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress