Вопрос Ремонт переписанных путей значков


После запуска Ракетка-Ланг install-script все мои файлы /usr/share/application/*.desktop имеют сломанные пути значков, а соответствующие ярлыки отображаются с вопросительными знаками. Пути перезаписываются следующим образом (для стандартного терминала):

Icon=/usr/share/racket/utilities-terminal

Мне интересно, если бы был способ бросить их сразу, может быть, есть простой способ исправить их все сразу? Проблема в том, что я не знаю, как эти пути смотрели раньше. Я попытался заменить префикс «/ usr / share / racket /» на «/ usr / share / app-install / icons /», потому что обнаружил, что в этой папке есть связанные значки, но это не работает, пока я явно укажите расширение значка, поэтому я не могу просто написать простой скрипт замены (расширения значков варьируются от приложения к приложению: в некоторых случаях есть «/usr/share/app-install/icons/app.svg», в других «/ USR / доли / приложение установить / значки / другой-app.png ").


1
2018-02-17 09:54


происхождения




ответы:


Вы можете просто изменить путь значка к имени приложения. Попробуй это:

for file in /usr/share/applications/*.desktop; do
    grep 'Icon=/usr/share/racket/' "$file" /dev/null
    sed -i 's:^Icon=/usr/share/racket/:Icon=:' "$file"
done

Сохраните его как скрипт ('script.sh') и запустить его как root ('sudo sh script.sh«).

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


2
2018-02-17 10:17