После внесения изменений в файл рабочего стола /usr/share/applications
мне нужно обновить меню приложения значка запуска, чтобы мои изменения были показаны. Для ясности, меню, которое должно быть изменено, - это меню, которое появляется при щелчке правой кнопкой мыши, когда указатель находится на значке средства запуска (большая панель, полная значков в левой части экрана).
Лучшим ответом будет простая командная строка.
Я не использую ubuntu-2d и не хочу выходить из системы / входить в систему.
Я знаю о каком-то частичном решении:
unity --replace
перезагружает все (оформление окон, область уведомлений, ...)killall ubuntu-2d-launcher
только ubuntu-2d, но если для единства существует аналогичная однострочная команда, это было бы хорошим решением.- Выход из системы и повторный вход также работает, но я не могу позволить себе потерять всю сессию только для обновления меню.
- в Ubuntu 14.04 у меня нет этой проблемы: любые изменения, внесенные в файлы "* .desktop", кажется, исправлены в реальном времени.
Какие-либо предложения ? Есть ли способ благодаря ccsm?
unity --replace
работает? Я не против перезагрузки всего.unity --replace
работает в Ubuntu 16.04, но не будет перезагружать тяжелые приложения, такие как Chrome, Thunderbirds ...Ответы:
Самый элегантный способ - «перезагрузить» иконку; убрать иконку с ее позиции в лаунчере и заменить ее на ту же позицию. Сценарий ниже делает эту работу. Это в python2, так как 12.04 не поставляется с python3 по умолчанию. Тем не менее, он может быть использован и в python3, только в этом случае измените shebang. Сценарий также может быть полезен (в более поздних версиях Ubuntu), например, для немедленного применения измененного значка.
Вы можете просто использовать его, вызвав скрипт с отредактированным файлом рабочего стола в качестве аргумента (см. Далее ниже).
Примечание : в 12.04, если обновленный значок представляет работающее приложение, рассматриваемое приложение будет аварийно завершать работу, как описано в этом вопросе , поэтому, если вы используете его, убедитесь, что приложение не запущено. В 14.04 значок просто не будет обновляться в случае запущенного приложения.
Сценарий
Как это использовать
refresh.py
Обновите иконку командой:
Если вы действительно хотите сделать это гладко
Сделайте скрипт исполняемым, удалите
.py
расширение, сохраните его в~/bin
. После выхода из системы вы можете запустить ее командой:источник