1

   I've downloaded IntelliJ Idea, then just unziped it and run it by execute idea.sh in terminal and made a new project. I wanted to see what would happen if I simply right click on icon at the left side bar in Unity -> lock to Launcher instead of standard way of making new idea.desktop file also used for making Eclipse launcher icon. And it just made icon on launcher wich runs that particular project. After that I've made idea.desktop icon standard way and it looks like this:

[Desktop Entry]
Name=IntelliJ IDEA
Type=Application
Exec=idea.sh
Terminal=false
Icon=/opt/idea/idea-IC-135.909/bin/idea.png
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=IntelliJ IDEA
X-Desktop-File-Install-Version=0.22

Now when I click on that standard idea.desktop it runs another instance of application (that one which I've made with right click on icon on left side bar in Unity -> lock to Launcher) and it results with situation shown on image below. result situation

I am trying to find this something.desktop icon which I have made with lock to Launcher if any and delete it, but I can't find it in /usr/share/applications.
   

  • What Ubuntu actually does when I click on lock to Launcher?
  • Whether it creates some .desktop file or something else?
  • How can I delete icon made by lock to Launcher?

3
  • you can unlock the icon form launcher and then delete it
    – Chinmaya B
    Jul 21, 2014 at 10:13
  • 'delete it' how? Icon is already unlocked from launcher but it is still present in Unity Dash and it is launched when i click on idea.desktop as shown on image in question.
    – yujaiyu
    Jul 21, 2014 at 10:32
  • Finally someone els has this problem, I've had this problem on one machine for one app (firefox) since 12.10. And found this because this week a new machine and a different app (nautilus) has acquired this problem. I've been unable to express what the problem is to be able to form a useful google search to find where or how to log the problem.
    – Greg
    Nov 12, 2014 at 4:54

1 Answer 1

0

I had a similar problem I just resolved where firefox was creating these "evil twin" entries. The process involved in matching running applications to icons is called bamfdaemon. Firstly find your session's version of this 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

Now we're going to trace the startup of your application - so close it down.

$ strace -o ~/bamf.txt -p 2597

Now I got a warning about being unable to connect to that pid, so I re-ran it with sudo.

Start your app and wait until the icon appears. Then return to your strace instance and kill it with Ctrl-C.

Now look through the ~/bamf.txt file - what I found was bamf notices my new process (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)=[{"\241\10\353\220,\0\300\2\243\1\0\0new: ID=\"compiz-2674"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 224
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\241\10\353\220,\0\300\2\244\1\0\0ting\\ Firefox\\ Web\\ "..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 96
recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\241\10\353\220,\0\300\2\244\1\0\0ications/firefox.des"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 64

Then looks up the executable (for firefox its in lib), then opens the .desktop file it found as best match:

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/firefox\0", 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

Hmmm,... thats funny - firefox-4.0 was a beta version I installed yonks ago, so it looks for the exec file in the .desktop:

access("/opt/firefox-4.0/firefox", X_OK) = -1 ENOENT (No such file or directory)
clock_gettime(CLOCK_MONOTONIC, {13405, 712196198}) = 0
write(8, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x9319698, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x9308780, FUTEX_WAKE_PRIVATE, 1) = 1

And in my case I got a bad icon because that executable has been gone since 2011! Move that .destkop out of the way and suddenly firefox matches its icon again.

In your case you can probably stop at the point where you see which .desktop file it opens - thats the one you'll want to delete.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .