Чому мій спеціальний пусковий механізм відкривається під окремим значком?


12

Я створив спеціальний файл запуску:

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

І перетягнув цей файл до мого запуску. Однак, коли я натискаю на піктограму, вона відкриває програму під другим, іншим значком (натискаю верхній, він відкриває програму під нижньою):

іконки для запуску

Нижня піктограма присутня до моменту запуску програми, використовуючи верхній значок P4v, який я додав вручну.


1
Це програма для Java?
dobey

/ usr / bin / pv4 - це сценарій, який, очевидно, відкриває ваш додаток певним чином, який сам пов'язаний з піктограмою. Ймовірно, JavaScript - perforce.com/product/components/perforce-visual-client
doug

1
@doug nope, це програма з вікном і "нормальним" .desktopфайлом (включаючи піктограму набору) в /usr/share/applications(я встановив його, щоб дізнатися).
Яків Влійм

Відповіді:


11

Якщо програма створює другу піктограму, не є загальною

Якщо додаток генерує другий значок в Unity пусковий інший , ніж аа сірого, загальний значок, повинна бути вже (інший) існуючим пусковий установкою , викликаючи p4vв його головній команді:

Прикладна програма в .desktopфайл за визначенням має команду «головну» в першому рядку, починаючи з Exec=. Це команда, яка виконується при натисканні піктограми в Unityпусковій панелі ( ). Крім цього, у .desktopфайлі може бути один або декілька розділів ярликів, доступних при натисканні правою кнопкою миші на піктограмі, що представляє, у Unityпусковій панелі .

Кілька файлів .desktop, що викликають ту саму програму в їх основній команді

Симптоми, які ви відчуваєте, можуть виникати, коли в одному першому рядку більше одного .desktopфайлу /usr/share/applicationsабо ~/.local/share/applicationsв одній команді "main-") є , але файли мають різні імена. Exec=

P4v за замовчуванням повинен встановити (і, мабуть, встановив) .desktopфайл, названий p4vasp.desktopв /usr/share/applications.

Як виправити
Вашу проблему слід вирішити, якщо ви видалите власний (можливо, локальний) .desktopфайл, а потім запустіть p4vз Dash і прикріпіть його до запуску.

Що робити, якщо ви хочете налаштувати існуючий пусковий апарат?

Якщо ви хочете змінити .desktopповедінку файлу або, наприклад, його піктограму:

  • скопіювати файл з /usr/share/applicationsв~/.local/share/applications
  • не змінюйте ім’я файлу
  • відкрийте файл gedit(перетягніть його через відкрите geditвікно) та внесіть потрібні вам зміни
  • вийдіть із системи та поверніться до нього, локальна версія .desktopфайлу перекриє глобальну.

Щоб відновити, просто видаліть локальний, вийдіть із системи та поверніться назад.

Пов’язане з цією публікацією


Ця відповідь так само хороша в Ubuntu 18.04 з GNOME 3
Todd

0

Рішення, яке працювало на мене на ubuntu 18.04, коли боровся з тим, щоб додавати AppImage до моїх улюблених. Це рішення узагальнено з https://beamtic.com/duplicate-icons-in-launcher

  1. Отримайте клас вікон своєї програми з подвійним значком, виконавши

    xprop WM_CLASS
    
  2. Виберіть головне вікно цієї програми, натиснувши на неї. Я отримав дві струни і просто взяв перший (нижній регістр).

  3. Додайте до .desktopфайлу наступний рядок (у мене був мій .desktopфайл ~/.local/share/applications) і замініть [Name_of_Window_Class]на висновок команди xprop:

    StartupWMClass=[Name_of_Window_Class]
    
  4. Запуск / перезапуск програми, готово!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.