Unity 图标重复。具体案例:Matlab

Unity 图标重复。具体案例:Matlab

当我从启动器运行 Matlab 时,会显示第二个图标。有趣的是,如果我将鼠标放在新图标上,图标上显示的文本不是我在 .desktop 文件中的文本。所以我的猜测是启动器正在启动脚本,但它无法将其与图标关联,因此它会启动第二个脚本。

到目前为止,这种情况只发生在 Matlab 上。

我不知道发生了什么,它本来运行良好,现在却不行了。我觉得我没有改变任何东西。

我在 .local/share/launchers 中有一个 .desktop 文件。其代码如下:

[Desktop Entry]
Type=Application
Name=Matlab
Comment=Matlab
Exec=/usr/local/MATLAB/R2012a/bin/matlab -desktop
Icon=/home/kais3r/.local/share/launchers/Matlab.png
Terminal=false
Categories=Math;IDE;
StartupNotify=true

但我不认为问题与此有关。也许是最近的一些更新?我不知道。

答案1

将以下行添加到您的 .desktop 文件

StartupWMClass=com-mathworks-util-PostVMInit

答案2

我在使用 Matlab R2013a 时遇到了同样的问题。我打开了 .desktop 文件,发现内容正确,只是和之间有一个空行StartupNotify=trueStartupWMClass=com-mathworks-util-PostVMInit我删除了空行,重新启动了 matlab,它就正常工作了。现在只出现了一个图标,正如预期的那样。不知道它是怎么工作的!

答案3

这里https://wiki.archlinux.org/index.php/matlab#Activation提到一个可能的解决方案(我遇到了同样的问题):

为了使图标正确显示,StartupWMClass需要在桌面条目中设置。要找到它,请启动 MATLAB,xprop | grep WM_CLASS在终端上运行并选择 MATLAB 窗口。

答案4

你尝试过这个吗?

(请注意,将文件移出目录当然更安全,例如在删除之前将其移动到桌面,以确保在删除文件之前先解决问题。)

如果有人感兴趣,我会发布这个问题的解决方案。我运行了以下命令来/usr/share/applications查找 ~/.local/share/applications包含该条目的文件 矩阵不管怎样;我从 堆栈溢出

grep -Ril "Matlab" /usr/share/applications/

输出为:

/usr/share/applications/matlab.desktop

这是我手动生成的文件。但是,当我在另一个目录中运行该命令时

grep -Ril "Matlab" ~/.local/share/applications/

输出为:

/home/ongun/.local/share/applications/com-mathworks-util-postvminit.desktop
/home/ongun/.local/share/applications/mimeapps.list

检查了第一个条目后(因为它是一个.desktop文件)我发现它是罪魁祸首并且删除它解决了中的重复图标问题Dash

上面的解决方案,在 blockquote 中取自此处,对我有用

相关内容