Второй значок открывается для нескольких избранных приложений [дубликат]

Я создал специальный файл программы запуска:

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

И перетащил этот файл в свою программу запуска. Однако, когда я щелкаю значок, приложение открывается под вторым, другим значком (я щелкаю верхний, он открывает приложение под нижним):

launcher icons

Нижний значок не отображается до тех пор, пока я не запустил приложение, используя верхний значок P4v, который я добавил вручную.

12
задан 12 June 2020 в 17:37

2 ответа

Если приложение создает второй значок, не является общим

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

Файл приложения .desktop по определению имеет "главную" команду в первая строка, начинающаяся с Exec = . Это команда, которая запускается при щелчке по значку в программе запуска ( Unity ). Кроме того, файл .desktop может содержать один или несколько ярлыков, доступных при щелчке правой кнопкой мыши по значку в панели запуска Unity .

Несколько файлов .desktop вызывают одно и то же приложение в своей основной команде

Проблемы, с которыми вы сталкиваетесь, могут возникать, если в / usr / share / applications .desktop имеется более одного файла. 1140728] или ~ / .local / share / applications имеют одинаковую («main-») команду в строке first Exec = , но файлы имеют разные имена.

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

Как исправить
Проблема должна быть решена, если вы удалите свой собственный (возможно, локальный) файл .desktop , затем запустите p4v из Dash и закрепите его на панели запуска.

Что если вы хотите настроить существующую программу запуска?

Если вы хотите изменить поведение файла .desktop или, например, его значок:

  • скопируйте файл из / usr / share / applications в ~ / .local / share / applications
  • не меняйте имя файла
  • откройте файл в gedit (перетащите его в открытое окно gedit ) и внесите необходимые изменения
  • в локальную версию ] .desktop файл будет иметь приоритет над глобальным.

Чтобы вернуться, просто удалите локальный файл, выйдите из системы и снова войдите.

Относится к этот пост

11
ответ дан 3 January 2021 в 23:22

Решение, которое у меня сработало на ubuntu 18.04 , когда я пытался добавить AppImage в избранное. Это решение кратко из https://beamtic.com/duplicated-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. Запустить / перезапустить приложение, готово!

1
ответ дан 3 January 2021 в 23:22

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

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