Eu tive um problema parecido, resolvi onde o firefox criava essas entradas "más gêmeas". O processo envolvido na correspondência de aplicativos em execução com ícones é chamado de bamfdaemon
. Em primeiro lugar, encontre a versão da sua sessão deste daemon:
$ ps x | grep bamf
1147 pts/11 S+ 0:00 grep --color=auto bamf
2597 ? Sl 0:22 /usr/lib/i386-linux-gnu/bamf/bamfdaemon
Agora vamos rastrear a inicialização do seu aplicativo - então feche-o.
$ strace -o ~/bamf.txt -p 2597
Agora recebi um aviso sobre a incapacidade de me conectar a esse pid, então eu o corri novamente com sudo
.
Inicie seu aplicativo e aguarde até que o ícone seja exibido. Em seguida, retorne à sua instância strace e mate-a com Ctrl-C
.
Agora olhe pelo arquivo ~ / bamf.txt - o que eu encontrei foi bamf percebe meu novo processo (firefox)
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}], 3, -1) = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"130,mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5854000
_llseek(12, 0, [0], SEEK_CUR) = 0
read(12, "/usr/lib/firefox/firefoxaccess("/opt/firefox-4.0/firefox", X_OK) = -1 ENOENT (No such file or directory)
clock_gettime(CLOCK_MONOTONIC, {13405, 712196198}) = 0
write(8, "$ ps x | grep bamf
1147 pts/11 S+ 0:00 grep --color=auto bamf
2597 ? Sl 0:22 /usr/lib/i386-linux-gnu/bamf/bamfdaemon
$ strace -o ~/bamf.txt -p 2597
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}], 3, -1) = 1 ([{fd=6, revents=POLLIN}])
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"130,mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5854000
_llseek(12, 0, [0], SEEK_CUR) = 0
read(12, "/usr/lib/firefox/firefoxaccess("/opt/firefox-4.0/firefox", X_OK) = -1 ENOENT (No such file or directory)
clock_gettime(CLOCK_MONOTONIC, {13405, 712196198}) = 0
write(8, "%pre%%pre%%pre%%pre%%pre%%pre%%pre%", 8) = 8
futex(0x9319698, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x9308780, FUTEX_WAKE_PRIVATE, 1) = 1
", 4096) = 25
read(12, "", 3072) = 0
close(12) = 0
munmap(0xb5854000, 4096) = 0
open("/usr/share/applications/firefox-4.0.desktop", O_RDONLY|O_LARGEFILE) = 12
fstat64(12, {st_mode=S_IFREG|0644, st_size=3740, ...}) = 0
read(12, "[Desktop Entry]\nVersion=1.0\nName"..., 4096) = 3740
read(12, "", 4096) = 0
close(12) = 0
03%pre%%pre%new: ID=\"compiz-2674"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 224
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"130,%pre%04%pre%%pre%ting\ Firefox\ Web\ "..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 96
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"130,%pre%04%pre%%pre%ications/firefox.des"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 64
%pre%%pre%%pre%%pre%", 8) = 8
futex(0x9319698, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x9308780, FUTEX_WAKE_PRIVATE, 1) = 1
", 4096) = 25
read(12, "", 3072) = 0
close(12) = 0
munmap(0xb5854000, 4096) = 0
open("/usr/share/applications/firefox-4.0.desktop", O_RDONLY|O_LARGEFILE) = 12
fstat64(12, {st_mode=S_IFREG|0644, st_size=3740, ...}) = 0
read(12, "[Desktop Entry]\nVersion=1.0\nName"..., 4096) = 3740
read(12, "", 4096) = 0
close(12) = 0
03%pre%%pre%new: ID=\"compiz-2674"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 224
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"130,%pre%04%pre%%pre%ting\ Firefox\ Web\ "..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 96
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"130,%pre%04%pre%%pre%ications/firefox.des"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 64
Em seguida, procura o executável (para o firefox seu in lib), em seguida, abre o arquivo .desktop
que ele encontrou como melhor correspondência:
Hmmm, ... isso é engraçado - o firefox-4.0 era uma versão beta que eu instalei yonks atrás, então ele procura pelo arquivo exec no .desktop
:
E, no meu caso, recebi um ícone ruim porque o executável desapareceu desde 2011! Mova esse .destkop
para fora e, de repente, o firefox corresponde ao seu ícone novamente.
No seu caso, você provavelmente pode parar no ponto em que você vê qual arquivo .desktop
é aberto - esse é o que você deseja excluir.