Непоследовательные значки в Единице Ubuntu

   Я загрузил Идею IntelliJ, затем просто разархивировал ее и работал, она выполняется idea.sh в терминале и сделанный новым проектом. Я хотел видеть то, что произойдет если я просто right click on icon at the left side bar in Unity -> lock to Launcher вместо стандартного способа сделать новым idea.desktop файл также используется для того, чтобы сделать значок средства запуска Eclipse. И это просто сделало значок на средстве запуска, которое выполняет тот конкретный проект. После этого я сделал idea.desktop стандарт значка путь и это похожи на это:

[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

Теперь, когда я нажимаю на тот стандарт idea.desktop это выполняет другой экземпляр приложения (что тот, с которым я сделал right click on icon on left side bar in Unity -> lock to Launcher) и это заканчивается с ситуацией, показанной на изображении ниже. result situation

Я пытаюсь найти это something.desktop значок, с которым я сделал lock to Launcher если кто-либо и удаляет его, но я не могу найти его в /usr/share/applications.
   

  • Что на самом деле делает Ubuntu, когда я нажимаю lock to Launcher?
  • Создает ли это некоторых .desktop файл или что-то еще?
  • Как я могу удалить значок, сделанный lock to Launcher?
1
задан 21 July 2014 в 14:05

1 ответ

У меня была подобная проблема, которую я просто разрешил, где Firefox создавал эти "злые двойные" записи. Процесс, вовлеченный в соответствие запущенным приложениям к значкам, называют bamfdaemon. Во-первых найдите версию своей сессии этого демона:

$ 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

Теперь я получил предупреждение о неспособности соединиться с тем pid, таким образом, я повторно выполнил его с sudo.

Запустите свое приложение и ожидайте, пока значок не появляется. Затем возвратитесь к своему strace экземпляру и уничтожьте его с Ctrl-C.

Теперь просмотрите файл ~/bamf.txt - что я нашел, были уведомления bamf мой новый процесс (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

Затем ищет исполняемый файл (для Firefox в lib), затем открывается .desktop файл это нашло как лучшее соответствие:

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

Хм... это забавно - firefox-4.0 был бета-версией, которую я установил несколько yonks назад, таким образом, он ищет исполнительный файл в .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

И в моем случае я получил плохой значок, потому что тот исполняемый файл закончился с 2011! Переместите это .destkop из пути и внезапно Firefox соответствует своему значку снова.

В Вашем случае можно, вероятно, остановиться в точке, где Вы видите который .desktop файл, который это открывает - это - то, которое Вы захотите удалить.

0
ответ дан 24 December 2019 в 04:12

Другие вопросы по тегам:

Похожие вопросы: