Xfce 中的系统托盘图标加倍

Xfce 中的系统托盘图标加倍

我的Red Hat系统基于XfceDE,并Skype从官方网站安装了最新版本。当我在系统托盘中运行它(仅一次,使用一个用户帐户)时,我看到双重Skype图标,而不仅仅是Skype您在屏幕截图中看到的那样。

如何去掉重复的图标?

截屏


我的系统:

  • RHEL 7.5
  • 森托斯 7.5
  • Xfce 4.12
  • Skype 8.28
  • 电报桌面版 1.3

今天最新的软件..

答案1

正如这里提到的:xfce 中的系统托盘图标 - Microsoft Community- 使用 GNOME 桌面的 Fedora 28 也存在同样的问题。

电子框架似乎在放大托盘图像方面存在问题,但在缩小图像方面似乎没有问题。因此,当前情况的另一种解决方法是用较大的版本替换小(16px)图像 - 我怀疑即使没有这个问题,在大多数情况下,将 256px 图标缩小到(任意)目标托盘大小也会看起来更好而不是放大额外的小图标。

直到这个问题在 Electron 中得到修复或者在 Skype 中默认使用更大的图标解决这个问题之前,您可以自己解决它。为此,需要解压/usr/share/skypeforlinux/resources/app.asar(使用 electro asar 工具),替换 中的图像<unpacked-dir>/app/images/tray/linux/,然后将其打包。托盘图标已提供两个版本:16px 和 32px(HiDPI,@2x 名称后缀)。因此,如果您的托盘尺寸不超过 32 像素,您只需将 32 像素版本复制到 16 像素版本即可。


解决步骤:

  1. 安装所需软件
    $ sudo yum install npm
    $ sudo npm install -g asar
    
  2. 打开包装app.asar
    $ asar extract /usr/share/skypeforlinux/resources/app.asar ./skypeapp
    
  3. 将较小的图标替换为较大的图标
  4. 重新包装app.asar并更换旧的
    $ asar pack ./skypeapp ./app.asar
    $ sudo cp ./app.asar /usr/share/skypeforlinux/resources/app.asar
    

稍加修改也适用于 Debian 9。

答案2

据我所知,这似乎是一个电子问题(背后的框架新的微软 Skype),也许也落后于您的其他应用程序。

无论如何,您有几种选择作为解决方法:

  1. 尝试安装(如果还没有)libappindicator1 和 libappindicator3
  2. 减小面板设置中的图标大小(查看上面 Microsoft 问题链接中的最后一页)
  3. 检查会话/启动选项,确保没有运行同一应用程序的 2 个实例(我知道这是一个明显的实例,但是,它确实发生了)。

在他们修复 Electron 中的错误之前,可能还有其他解决方法。

答案3

来自解决方案提议者天文学家2007:

$ sudo npm install -g asar
$ asar extract /usr/share/skypeforlinux/resources/app.asar ./skypeapp
$ cd ./skypeapp/images/tray/linux
$ ls -1 | grep "@2x" | while read -r pngFile; do cp "./$pngFile" "./${pngFile//$@@2x/}"; done
$ cd ../../../../
$ asar pack ./skypeapp ./app.asar
$ sudo cp ./app.asar /usr/share/skypeforlinux/resources/app.asar

答案4

你可以尝试六吉合玉在 Ask Ubuntu 上的回答(参见参考资料):

作为解决方法,请将 /usr/share/applications/skypeforlinux.desktop 中的 EXEC 更改为

Exec=/usr/bin/skypeforlinux %U

Exec=env XDG_CURRENT_DESKTOP=Unity /usr/bin/skypeforlinux %U

您必须对 ~/.config/autostart/skypeforlinux.desktop 进行相同的更改,以便每次系统重新启动时 Skype 都可以保留在托盘中。但是,Skype 似乎每次重新启动时都会撤消此自动启动文件的更改。我的解决方案是使该文件只读,例如

chmod 440 ~/.config/autostart/skypeforlinux.desktop

似乎适用于 Mate(帖子中提到)和 Ubuntu gnome-shell(对我有用)。

相关内容