GNOME 停止检测 dash to dock 上打开的桌面应用程序实例

GNOME 停止检测 dash to dock 上打开的桌面应用程序实例

有时 GNOME 的 dash to dock 插件会丢失打开的应用程序实例并启动一个新实例,而我已经在使用一个实例,这不是工作区问题,因为应用程序是在同一个工作区中打开的。它只是丢失了对打开内容的跟踪并再次启动,这非常烦人。

它发生在 Ubuntu 20.04.2 LTS 和 GNOME Shell 3.36.9 上

有人知道这是啥吗??

答案1

如果您使用的是 Xorg,Gnome 会使用应用程序的 WM_CLASS 属性来定位应用程序的实例。每个应用程序都有一个 .desktop 文件,其中有一个名为 的字段StartupWMClass。Gnome 会读取此字段来识别应用程序的实例。某些应用程序的桌面文件中不包含该StartupWMClass字段。这可能是导致问题的原因。要修复此问题,请按照以下步骤操作:

  1. 进入/usr/share/applications文件夹并搜索应用程序的名称。您将找到与该应用程序关联的桌面文件,例如foo.desktop。将该文件复制到~/.local/share/applications~代表用户的主目录)。

  2. 打开受影响的应用程序。打开终端并运行xprop WM_CLASS。光标将变为加号。然后点击受影响的应用程序。终端上将打印一行,内容如下:WM_CLASS(STRING) = 'foo'

  3. 现在使用文本编辑器打开步骤 1 中复制的文件。在文件末尾添加一行StartupWMClass=<wm_class>wm_class用上一步得到的输出(不带引号)替换。例如-StartupWMClass=foo

保存文件,然后重新启动应用程序,问题就解决了。

请注意,这仅在 Xorg 中有效,因为据我所知,Wayland 不需要该StartupWMClass属性。

相关内容