我的操作系统:
Distributor ID: Ubuntu
Description: Ubuntu 21.04
Release: 21.04
Codename: hirsute
请注意,我没有使用Wayland
Ubuntu 21.04 默认使用的显示服务器协议。由于这在当前版本中显然存在错误,我不得不切换回来Xorg
。如何做到这一点如下所述这里。
在 Ubuntu 左侧的导航中,每个程序的新实例旁边都会有一个红色项目符号,因此项目符号的数量表示打开了多少个实例。例如,对于 thunderbird,每个新的电子邮件窗口也会得到另一个点。但是对于某些程序(如 kile,还有其他程序),这似乎不起作用,如下所示:
您可以看到,导航中的 kile 程序图标(蓝色)——我单击该图标将其打开!——没有显示任何红色项目符号。相反,它会打开另一个实例(正确显示红点),并且该实例使用默认图标。显然这是一个错误!如何解决?如前所述,这种行为并非 kile 独有,其他程序也会发生这种情况。
还请注意,这似乎与以下内容(极其)密切相关堆栈溢出帖子,尽管那篇帖子也没有任何答案(尽管它也在 Ubuntu 21.04 中,但似乎仍在使用 Wayland)。我不认为它是重复的,因为存在差异:那篇帖子谈到了在桌面上创建新启动器时出现的这种现象,而这不是我所做的。我只是在导航中单击了正确的图标。(正如所说:我停用了 Wayland,而其他用户显然没有。)
是什么原因造成的?如何解决?
答案1
xprop
如果您没有该工具,请安装。sudo apt install x11-utils
获取你的 Kile 应用程序的 WM 类。
发射 Kile。
打开终端并执行以下操作:
xprop | grep WM_CLASS
光标将变为十字(“+”)形状。使用此光标单击 Kile 窗口的标题栏。
在终端中,您将看到类似如下的输出:
WM_CLASS(STRING) = ...
记下该值。
更新您的
*.desktop
文件。在终端中执行:
sudo nano /usr/share/applications/org.kde.kile.desktop
滚动到文件末尾,按Enter添加新行,然后键入以下内容。 将其替换
<WM_CLASS>
为您在步骤 2 中记下的值。StartupWMClass=<WM_CLASS>
按CtrlX,然后Y,然后Enter保存更改并退出 Nano 编辑器。
现在,当您启动 Kile 时,您将在 Dock 中看到一个用于运行实例的图标(多个)。
答案2
解决了!我意识到这实际上是一个关于重复项目的此问题的重复。
好吧,我不需要多说,因为提供的解决方案pomsky
绝对完美!只需按照他的详细分步说明操作,一切就都正常了。:)
(如果您认为我应该再次在这里复制他的指示,请在评论中告诉我。)