@nihi1ist

Как назначить свою иконку Pycharm в Linux?

Файл *.desktop создан и иконка там отображается корректно. Но после запуска у приложения иконка та что по умолчанию идет.
Подобная проблема есть не только с PyCharm, но и например в Valentina Studio, 1C:EDT.
  • Вопрос задан
  • 711 просмотров
Решения вопроса 1
@nihi1ist Автор вопроса
Eugene TI, я был таки прав. И это проблема приложений написанных на Java. Решение нашел здесь. Надо определить значение свойства WMClass проблемного приложения. Запускаем указанную ниже команду в консоли:
xprop WM_CLASS
Затем кликаем по нужному окну. Команда должна выдать строку вида:
WM_CLASS(STRING) = "jetbrains-pycharm-ce", "jetbrains-pycharm-ce"

В конце файла *.desktop добавляем две строки:
StartupNotify=true
StartupWMClass=jetbrains-pycharm-ce # Здесь указываем первое значение полученное с помощью команды xprop WM_CLASS

И всё, ярлык приложения привязан к окну приложения. Результат:
61e2bad8688ec836420803.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
smorman
@smorman
When In Rome do as The Romans do...
Файл *.desktop создан и иконка там отображается корректно. Но после запуска у приложения иконка та что по умолчанию идет


И смотря как *.desktop создавался...

Правильно должно быть так:
echo -e '[Desktop Entry]\nEncoding=UTF-8\nName=PyCharm\nComment=PyCharm\nExec=/opt/PyCharm/bin/pycharm.sh\nIcon=/opt/PyCharm/bin/pycharm.png\nTerminal=false\nStartupNotify=true\nType=Application' | tee .local/share/applications/pycharm.desktop  > /dev/null; sudo cp .local/share/applications/pycharm.desktop /usr/share/applications/; cd /tmp; wget https://download.jetbrains.com/python/pycharm-professional-2021.3.tar.gz -O pycharm.tar.gz; sudo tar -zxf pycharm.tar.gz -C /opt; cd /opt; sudo mv pycharm-2021.3 PyCharm; sudo chown -R $USER:$USER PyCharm; cd
Ответ написан
justhabrauser
@justhabrauser
IT specialist
Прописывать путь к иконке в *.desktop - это некорректное решение.
Любой линтер *.desktop пошлет лесом (desktop-file-vaidate например).
Корректно будет иконку скопировать в /usr/share/pixmaps (если она одна и bitmap) и в *.desktop указать:
Icon=myicon
(без пути, без расширения)
Возможно после изменения *.desktop надо обновить кеш иконок, но это уже зависит от DE.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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