为什么我的自定义启动器会在单独的图标下打开?


12

我创建了一个自定义启动器文件:

[Desktop Entry]
Type=Application
Name=P4V
Comment=Perforce Visual Client
Icon=/usr/lib/p4v/P4VResources/icons/P4-V_128x128.png
Exec=/usr/bin/p4v
Terminal=false
Categories=Development;

并将此文件拖到我的启动器中。但是,当我单击该图标时,它将在第二个不同的图标下打开该应用程序(单击顶部的一个,它将在底部的一个图标下打开该应用程序):

启动器图标

在使用我手动添加的顶部P4v图标启动应用程序之后,才显示底部图标。


1
这是一个Java应用程序吗?
dobey

/ usr / bin / pv4是一个脚本,该脚本显然以某种与图标相关联的方式打开了您的应用程序。也许JavaScript的- perforce.com/product/components/perforce-visual-client
道格·

1
@doug nope,它是一个带有窗口和“ 我”安装了它的“正常” .desktop文件(包括设置图标)的应用程序/usr/share/applications(找出来)。
Jacob Vlijm

Answers:


10

如果应用程序产生第二个图标,而不是通用图标

如果应用程序产生一第二在Unity图标启动其他比AA灰色的,通用的图标,必须有一个已经其它现有发射器,呼叫p4v在其主命令:

根据.desktop定义,应用程序的文件在第一行中以“ main”命令开头Exec=。这是在(Unity)启动器中单击图标时运行的命令。除此之外,.desktop文件可以具有一个或多个快捷方式部分,当您右键单击Unity启动器中的代表图标时,这些部分将可用。

多个.desktop文件在其主命令中调用同一应用程序

当其中一个.desktop文件中有多个文件/usr/share/applications~/.local/share/applications它们的第一 Exec=行中具有相同(“ main-”)命令时,就会出现您遇到的症状,但是文件的名称不同。

P4V默认情况下,应该安装(可能已安装)一个.desktop文件,命名为p4vasp.desktop/usr/share/applications

如何解决
如果删除自己的.desktop文件(可能是本地文件),然后p4v从Dash 运行,然后将其固定在启动器上,则应该解决此问题。

如果要自定义现有启动器怎么办?

如果要更改.desktop文件的行为或其图标,例如:

  • 复制文件/usr/share/applications~/.local/share/applications
  • 不要更改文件名
  • 打开文件gedit(在打开的gedit窗口中将其拖动)并进行所需的更改
  • 注销并重新登录,.desktop文件的本地版本将取代全局版本。

要还原,只需删除本地的,然后注销并重新登录。

此帖子相关


这个答案在带有GNOME 3的Ubuntu 18.04中一样好
Todd

0

在将AppImage添加到我的收藏夹中时,在ubuntu 18.04上对我有用的解决方案。该解决方案摘自 https://beamtic.com/duplicated-icons-in-launcher

  1. 通过执行获取带有双图标的程序的窗口类

    xprop WM_CLASS
    
  2. 通过单击选择该程序的主窗口。我收到了两个字符串,只是拿了第一个(小写)。

  3. 将以下行添加到.desktop文件中(我的.desktop文件位于~/.local/share/applications),并替换[Name_of_Window_Class]为xprop命令的输出:

    StartupWMClass=[Name_of_Window_Class]
    
  4. 启动/重新启动应用程序,完成!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.