У меня есть приложение, которое не из репозитория ubuntu (ни официального, ни ppa), но доступно как tgz и должно быть распаковано и готово к использованию. Если быть точным, это LightTable . Проблема в том, что приложение при запуске показывает собственный значок на панели единства. После создания пользовательского файла .desktop и размещения ярлыка на панели единства (перетаскиванием из панели запуска) и его запуска я вижу два значка - один размещен мной, а другой - с реальным приложением.
Это содержимое .desktop:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/LightTable/LightTable
Name=Light Table
Icon=/opt/LightTable/core/img/lticon.png
Еще одна вещь. / opt / LightTable / LightTable
- это файл сценария bash, и в конечном итоге / opt / LightTable / ltbin
будет запущен. Я думаю, что это проблема, но не знаю, как ее решить.
Спасибо.
Необходимо добавить строку StartupWMClass в .desktop файл. Это - строка, которая определяет, в котором классифицируют приложение, сгруппирован в Средстве запуска Единицы при запуске.
Решение состоит в том, чтобы добавить StartupWMClass
к Вашему файлу на рабочем столе. Сначала необходимо найти надлежащий класс для приложения.
Это объяснено здесь (Благодаря @chaos).
Откройте свое окно Light Table и тип в терминале:
xprop WM_CLASS
Затем нажмите на окно LIght Table.
Для терминала гнома WM_CLASS должен быть чем-то как
WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"
Таким образом, все окна с "терминалом гнома" WM_CLASS и "терминалом Gnome" группируются. Для легкой таблицы Вы будете видеть другой класс. Выберите один и помните это.
После того, как Вы найдете, что Ваш класс программы добавляет это к Вашему .desktop файлу:
StartupWMClass=CLASS
КЛАСС замены с классом от предыдущей команды.