有时 GNOME 的 dash to dock 插件会丢失打开的应用程序实例并启动一个新实例,而我已经在使用一个实例,这不是工作区问题,因为应用程序是在同一个工作区中打开的。它只是丢失了对打开内容的跟踪并再次启动,这非常烦人。
它发生在 Ubuntu 20.04.2 LTS 和 GNOME Shell 3.36.9 上
有人知道这是啥吗??
答案1
如果您使用的是 Xorg,Gnome 会使用应用程序的 WM_CLASS 属性来定位应用程序的实例。每个应用程序都有一个 .desktop 文件,其中有一个名为 的字段StartupWMClass
。Gnome 会读取此字段来识别应用程序的实例。某些应用程序的桌面文件中不包含该StartupWMClass
字段。这可能是导致问题的原因。要修复此问题,请按照以下步骤操作:
进入
/usr/share/applications
文件夹并搜索应用程序的名称。您将找到与该应用程序关联的桌面文件,例如foo.desktop
。将该文件复制到~/.local/share/applications
(~
代表用户的主目录)。打开受影响的应用程序。打开终端并运行
xprop WM_CLASS
。光标将变为加号。然后点击受影响的应用程序。终端上将打印一行,内容如下:WM_CLASS(STRING) = 'foo'
现在使用文本编辑器打开步骤 1 中复制的文件。在文件末尾添加一行
StartupWMClass=<wm_class>
。wm_class
用上一步得到的输出(不带引号)替换。例如-StartupWMClass=foo
保存文件,然后重新启动应用程序,问题就解决了。
请注意,这仅在 Xorg 中有效,因为据我所知,Wayland 不需要该StartupWMClass
属性。