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 · 5303 次点击
    这是一个创建于 2468 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安装 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
    huiyifyj
        1
    huiyifyj  
       2018-02-19 09:24:41 +08:00 via Android
    退不出?
    zetaoyang
        2
    zetaoyang  
    OP
       2018-02-19 09:25:40 +08:00
    @huiyifyj 可以正常退出,就是图标变了,很难受。
    huiyifyj
        3
    huiyifyj  
       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
    Humorce
        5
    Humorce  
       2018-02-19 09:39:29 +08:00 via iPhone
    这个是开发者在致敬 Windows
    yx17
        6
    yx17  
       2018-02-19 10:00:08 +08:00 via Android
    @Humorce 我墙都不扶就服你
    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   ·   实用小工具   ·   2496 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:10 · PVG 09:10 · LAX 17:10 · JFK 20:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.