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

После запуска racket-lang 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
задан 17 February 2014 в 14:10

1 ответ

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

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').

Это исправит все файлы, которые нужно изменить.

0
ответ дан 17 February 2014 в 14:10

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

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