Adicione a seguinte linha ao seu arquivo .desktop
StartupWMClass=com-mathworks-util-PostVMInit
Quando eu executo o Matlab a partir do seu launcher, um segundo ícone aparecerá. O engraçado é que se eu colocar o mouse no novo ícone, o texto que aparece nele não é o que eu tenho no meu arquivo .desktop. Então, meu palpite é que o lançador está lançando o script, mas não é capaz de associá-lo ao seu ícone, então ele inicia um secundário.
Até agora só aconteceu com o Matlab.
Eu não sei o que aconteceu, estava funcionando bem e agora não funciona. Eu não sinto que mudei nada.
Eu tenho o arquivo .desktop em .local / share / launchers. Seu código é:
[Desktop Entry]
Type=Application
Name=Matlab
Comment=Matlab
Exec=/usr/local/MATLAB/R2012a/bin/matlab -desktop
Icon=/home/kais3r/.local/share/launchers/Matlab.png
Terminal=false
Categories=Math;IDE;
StartupNotify=true
Mas não acho que o problema esteja relacionado a isso. Talvez algumas das últimas atualizações? Não sei.
Adicione a seguinte linha ao seu arquivo .desktop
StartupWMClass=com-mathworks-util-PostVMInit
Eu tive o mesmo problema com o Matlab R2013a. Eu abri o arquivo .desktop e descobri que o conteúdo estava certo, exceto pelo fato de que havia uma linha em branco entre StartupNotify=true
e StartupWMClass=com-mathworks-util-PostVMInit
. Eu removi a linha em branco, reiniciei o matlab e funcionou. Agora apenas um ícone aparece conforme o esperado. Não tenho certeza, como funcionou!
Adicione a seguinte linha ao seu arquivo .desktop
StartupWMClass = com-mathworks-util-PostVMInit
Para mim, funcionou. O segundo ícone aparece apenas quando o matlab está iniciando e há a pequena janela com o "Matlab: the Language of Technical computing" escrito; então desaparece e apenas um ícone permanece.
Eu também instalei o pacote matlab-support, talvez ele possa ser útil.
Aqui, o link menciona uma possível solução (tive o mesmo problema):
Para que os ícones apareçam corretamente,
StartupWMClass
precisa ser definido na entrada da área de trabalho. Para descobrir isso, inicie o MATLAB, executexprop | grep WM_CLASS
no terminal e selecione a janela do MATLAB.
Você já tentou isso?
(Por favor, note claro que é mais seguro apenas mover o arquivo para fora do diretório, por exemplo, movê-lo para a área de trabalho antes de excluir, para garantir que ele solucione o problema antes de excluir o arquivo.)
Para qualquer pessoa interessada, estou postando a solução para o problema. eu tenho execute o seguinte comando em
/usr/share/applications
e~/.local/share/applications
para encontrar arquivos contendo a entrada Matlab independentemente do caso; Eu aprendi esse truque de StackOverflow .grep -Ril "Matlab" /usr/share/applications/
A saída foi:
/usr/share/applications/matlab.desktop
sendo o arquivo gerado manualmente. No entanto, quando eu corri o comando no outro diretório
grep -Ril "Matlab" ~/.local/share/applications/
A saída foi:
/home/ongun/.local/share/applications/com-mathworks-util-postvminit.desktop /home/ongun/.local/share/applications/mimeapps.list
Após verificar a primeira entrada (já que era um arquivo
.desktop
) eu descobriu que era o culpado e excluí-lo remediado a duplicata ícone emDash
.
A solução acima, em blockquote, é tirada daqui, isso funcionou para mim