请教 “Ubuntu 16.04 Unity 桌面下 系统托盘第三方应用图标重复”如何解决? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zetaoyang
V2EX    Linux

请教 “Ubuntu 16.04 Unity 桌面下 系统托盘第三方应用图标重复”如何解决?

  •  
  •   zetaoyang 2018-02-19 09:16:24 +08:00 5785 次点击
    这是一个创建于 2805 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安装 albertflameshot 后,

    1.先启动 albert,再启动 flameshot,这两图标全部变成 flameshot 的图标;

    2.先启动 flameshot,再启动 albert,这两图标全部变成 albert 的图标;

    遇到这样问题,请问高手们应该怎样解决?

    第 1 条附言    2018-02-19 19:12:55 +08:00
    我在 Ubuntu 17.10 Gnome 环境下,试过,也是正常的,没有问题。
    38 条回复    2018-02-26 19:39:48 +08:00
    fengyj
        1
    fengyj  
       2018-02-19 09:24:41 +08:00 via Android
    退不出?
    zetaoyang
        2
    zetaoyang  
    OP
       2018-02-19 09:25:40 +08:00
    @huiyifyj 可以正常退出,就是图标变了,很难受。
    fengyj
        3
    fengyj  
       2018-02-19 09:27:58 +08:00 via Android
    c++写的还有这种问题,你试试给他们 issue 下问问。
    zetaoyang
        4
    zetaoyang  
    OP
       2018-02-19 09:30:34 +08:00
    @huiyifyj 在 Ubuntu 17.10 Gnome 环境下没有问题,图标显示正常。
    也有很多人也出现了类似的问题,但没解决:
    https://bugs.launchpad.net/ubuntu/+source/quiterss/+bug/1529957
    rzti483NAJ66l669
        5
    rzti483NAJ66l669  
       2018-02-19 09:39:29 +08:00 via iPhone
    这个是开发者在致敬 Windows
    omph
        7
    omph  
       2018-02-19 14:52:44 +08:00
    unity 好像出新版了
    x86vk
        8
    x86vk  
       2018-02-19 17:24:19 +08:00
    楼主可以试试看用 hardcode-tray,说不定有奇效
    zetaoyang
        9
    zetaoyang  
    OP
       2018-02-19 17:44:18 +08:00
    omph Unity 7.4.5 用了,没用
    zetaoyang
        10
    zetaoyang  
    OP
       2018-02-19 18:06:23 +08:00
    @x86vk hardcode-tray 没有用啊
    x86vk
        11
    x86vk  
       2018-02-19 18:23:33 +08:00
    @zetaoyang 那就不知道了,我在 Manjaro+Deepin 上也试了这两个软件,没有你这个问题
    x86vk
        12
    x86vk  
       2018-02-19 18:25:28 +08:00
    zetaoyang
        13
    zetaoyang  
    OP
       2018-02-19 19:04:38 +08:00
    @x86vk 出问题的是 Unity 桌面环境。不是 deepin 的桌面环境。
    x86vk
        14
    x86vk  
       2018-02-19 19:13:05 +08:00   1
    @zetaoyang 知道呀,就是跟你说一下这个 bug 估计是 unity-only 的,再偷偷的安利一下 dde 和 kde (
    luojianxhlxt
        15
    luojianxhlxt  
       2018-02-19 19:14:34 +08:00 via iPhone
    @Humorce windows 也会有这个 bug ?
    zetaoyang
        16
    zetaoyang  
    OP
       2018-02-19 19:15:49 +08:00
    @x86vk 多谢。
    heiybb
        17
    heiybb  
       2018-02-19 19:17:33 +08:00 via Android
    @luojianxhlxt 对的还会经常空图标
    bigxu
        18
    bigxu  
       2018-02-19 19:22:00 +08:00
    我用了 ubuntu 很多年了,竟然不知道有两个这么好的软件。请问还有其它软件推荐没有啊??@zetaoyang,谢谢
    zetaoyang
        19
    zetaoyang  
    OP
       2018-02-19 19:28:11 +08:00
    zetaoyang
        20
    zetaoyang  
    OP
       2018-02-19 19:29:08 +08:00
    @bigxu 还有些软件没有加进去,我抽空会更一更。
    luojianxhlxt
        21
    luojianxhlxt  
       2018-02-19 19:29:41 +08:00 via iPhone
    @heiybb 我没遇到过呢…
    x86vk
        22
    x86vk  
       2018-02-19 19:37:06 +08:00
    @zetaoyang 博客里面图在我这儿挂啦
    zetaoyang
        23
    zetaoyang  
    OP
       2018-02-19 19:41:18 +08:00
    @x86vk 我这边可以打开,图片没有挂掉。你可以挂个代理试试
    zetaoyang
        24
    zetaoyang  
    OP
       2018-02-19 19:44:25 +08:00
    @x86vk
    我还重新用 AppImage 打包了 深度截图。https://github.com/ZetaoYang/deepin-app-package/releases
    x86vk
        25
    x86vk  
       2018-02-19 21:49:43 +08:00
    @zetaoyang 666 不过我这边 dde 自带有这个(而且我觉得 flameshot 好像比深度截图好用
    zetaoyang
        26
    zetaoyang  
    OP
       2018-02-20 11:43:26 +08:00
    @x86vk ''qb" 这图标是什么应用啊?![3434318.png]( https://i.loli.net/2018/02/20/5a8b992be8077.png)
    x86vk
        27
    x86vk  
       2018-02-20 11:44:59 +08:00   1
    @zetaoyang 是一个叫做 qbittorrent 的应用,下 bt 的
    hosiet
        28
    hosiet  
       2018-02-20 12:57:53 +08:00 via Android   1
    顺便说一下,之后可以在 Ubuntu 18.04 官方源里找到 flameshot。
    zetaoyang
        29
    zetaoyang  
    OP
       2018-02-20 13:28:37 +08:00
    @hosiet 感谢你为 flameshot 所做的工作。
    dandycheung
        30
    dandycheung  
       2018-02-22 18:33:50 +08:00
    我的系统是 Ubuntu 16.04 LTS,在我这里是可以重现的。作为一个老程序员,推测应该是向系统注册通知栏图标的时候 ID 重复了……
    dandycheung
        31
    dandycheung  
       2018-02-22 18:42:43 +08:00   1
    刚才随便看了下两者的源代码,看到 flameshot 是使用 QDBusInterface 去和系统的 org.freedesktop.Notifications 服务交互的,ID 指定为 0。由此,结合上面有人提到的新版本系统下无此问题的情况,进一步推测,应该是指定值为 0 的 ID 会由系统生成随机 ID,也许算法是某种 hash,而 flameshot 和 albert 的计算结果正好撞上了。
    zetaoyang
        32
    zetaoyang  
    OP
       2018-02-23 09:36:39 +08:00
    @dandycheung 十分感谢,不过在 Ubuntu 17.10 Unity 桌面环境下图标是正常的。
    iwtbauh
        33
    iwtbauh  
       2018-02-23 17:47:53 +08:00 via Android
    @dandycheung 借这个地方问一下。org.freedesktop.Notifications 这个 dbus 服务不是用来向桌面发送通知消息的吗,这个能实现托盘图标吗?托盘图标不是基于 X11 协议的吗?
    https://developer.gnome.org/notification-spec/
    https://specifications.freedesktop.org/systemtray-spec/systemtray-spec-0.3.html
    dandycheung
        34
    dandycheung  
       2018-02-24 16:52:26 +08:00
    @iwtbauh 我对 *nix 的图形系统所知相当有限,但是从你列出的第一个链接里看,很显然应该就是在 gnome 环境下实现托盘图标的基本方法。而且,X11 作为底层协议,貌似也不应该能够对桌面实现这样的高层直接定义 API/通讯方式吧。
    顺便 @zetaoyang,从上面这位 V 友提供的官方编程接口文档来看,我的推测有所偏差,ID 是对应图标不差,不过调用时指定的话是用于更新图标的(也即代表要被更新的图标),0 这个值表示并不是更新图标,而是新增一个。尽如此,我仍然推测是系统在这个机制的实现代码里有 bug,而在 17.10 这样的后续版本中得到了修正。
    iwtbauh
        35
    iwtbauh  
       2018-02-24 19:32:32 +08:00 via Android
    @dandycheung
    我是说 org.freedesktop.Notifications 似乎不是托盘图标( System Tray )协议,而是“通知”( Notifications )的协议
    比如卸载一个 u 盘时 Ubuntu 在右上角显示一个长方形通知“ xxxx 已安全移除”
    托盘协议
    iwtbauh
        36
    iwtbauh  
       2018-02-24 19:34:53 +08:00 via Android
    @iwtbauh 手抖,接上文
    托盘协议可能是基于 X11 的(基于 X11 ),但库可能对其封装,比如 QT 就封装这个协议
    最终似乎是使用 _NET_SYSTEM_TRAY_OPCODE
    这两者应该不是同一个东西
    dandycheung
        37
    dandycheung  
       2018-02-26 19:37:11 +08:00 via Android
    @iwtbauh 这个我认为极有可能。假如 DE 换成 KDE 的话,也会以 KDE 的风格相应展现,但你只要知道 DE 会自如地处理这个请求就够了,毕竟只是使用它。
    dandycheung
        38
    dandycheung  
       2018-02-26 19:39:48 +08:00 via Android
    @iwtbauh 因为单从效果来看,你并不在意是不是 qt 封装,上述讨论中我也没太考虑 qt 自己的方式。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2628 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:45 PVG 22:45 LAX 07:45 JFK 10:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86