Por que meu iniciador personalizado é aberto sob um ícone separado?

12

Eu criei um arquivo do iniciador personalizado:

[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;

E arrastei esse arquivo para o meu iniciador. No entanto, quando clico no ícone, ele abre o aplicativo com um segundo ícone diferente (clico no ícone superior, abre o aplicativo na parte inferior):

ícones do iniciador

O ícone inferior não está presente até depois de iniciar o aplicativo usando o ícone P4v superior que eu adicionei manualmente.

ctote
fonte
1
Este é um aplicativo java?
Dobey 14/07
/ usr / bin / pv4 é um script que aparentemente abre o aplicativo de alguma maneira associado a um ícone. Provavelmente javascript - perforce.com/product/components/perforce-visual-client
doug
1
@doug não, é uma aplicação com uma janela e um .desktoparquivo "normal" (incluindo um ícone definido) em /usr/share/applications(eu o instalei para descobrir).
27630 Jacob Vlijm

Respostas:

10

Se um aplicativo produzir um segundo ícone, não sendo genérico

Se um aplicativo gera um segundo ícone na Unidade lançador de outro do que aa, ícone genérico cinza, deve já ser um (outro) lançador existente, chamando p4vem seu comando principal:

O .desktoparquivo de um aplicativo por definição possui um comando "principal" na primeira linha, começando com Exec=. Este é o comando que é executado quando o ícone é clicado no Unityiniciador ( ). Além disso, um .desktoparquivo pode ter uma ou mais seções de atalho, disponíveis quando você clica com o botão direito do mouse no ícone de representação no Unityiniciador.

Vários arquivos .desktop chamando o mesmo aplicativo em seu comando principal

Os sintomas que você está enfrentando podem ocorrer quando mais de um .desktoparquivo em um /usr/share/applicationsou ~/.local/share/applicationspossui o mesmo comando ("main-") em sua primeira Exec= linha, mas os arquivos têm nomes diferentes.

P4V por padrão deve instalar (e provavelmente tem instalado) um .desktoparquivo, chamado p4vasp.desktopem /usr/share/applications.

Como corrigir
Seu problema deve ser corrigido se você remover seu próprio .desktoparquivo (provavelmente local) , depois executar a p4vpartir do Dash e fixá-lo no iniciador.

E se você quiser personalizar o iniciador existente?

Se você deseja alterar o .desktopcomportamento do arquivo ou, por exemplo, seu ícone:

  • copie o arquivo de /usr/share/applicationspara~/.local/share/applications
  • não mude o nome do arquivo
  • abra o arquivo gedit(arraste-o sobre uma geditjanela aberta ) e faça as alterações desejadas
  • sair e voltar, a versão local do .desktoparquivo substituirá a global.

Para reverter, basta remover o local, sair e entrar novamente.

Relacionado a este post

Jacob Vlijm
fonte
Esta resposta é tão boa no Ubuntu 18.04 com GNOME 3
Todd
0

Solução que funcionou para mim no ubuntu 18.04 ao tentar obter uma AppImage adicionada aos meus favoritos. Esta solução é resumida em https://beamtic.com/duplicated-icons-in-launcher

  1. Obtenha classe de janela do seu programa com duplo ícone executando

    xprop WM_CLASS
    
  2. Selecione a janela principal desse programa clicando nela. Eu recebi duas cordas e apenas peguei a primeira (minúscula).

  3. Adicione a seguinte linha ao .desktoparquivo (eu tinha meu .desktoparquivo ~/.local/share/applications) e substitua [Name_of_Window_Class]pela saída do comando xprop:

    StartupWMClass=[Name_of_Window_Class]
    
  4. Iniciar / Reiniciar o aplicativo, pronto!

Axelfoley
fonte