Updating PHP Storm leads to a "?" icon

Solution 1:

An easier way would be:

  1. unlock icon in launcher
  2. unpack the new version to whatever location you liked
  3. sh /bin/phpstorm.sh
  4. when asked if you want to use old setting and you so desire point phpstorm to the old .phpstorm directory
  5. go to Tools menu on PhpStorm and select Create Desktop Entry... from drop down
  6. when asked if you want to over write former desktop entry accept and your done.
  7. re-lock your icon again

Solution 2:

The answer in my case was deleting the .desktop file. It was in the global location. I guess I must have launched PHPStorm as root at some point. The command was

sudo rm /usr/share/applications/jetbrains-phpstorm.desktop

Then I relaunched phpstorm, locked the icon, quit and restarted via launcher.

$ cat ~/.local/share/applications/jetbrains-phpstorm.desktop

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=campaign-drive - [~/src/campaign-drive] - UserRepository.php - PhpStorm 2016.2
Icon=jetbrains-phpstorm.png
Exec=/opt/PhpStorm-162.1121.38/bin/../jre/jre/bin/java -Xbootclasspath/a:/opt/PhpStorm-162.1121.38/bin/../lib/boot.jar -classpath /opt/PhpStorm-162.1121.38/bin/../lib/bootstrap.jar:/opt/PhpStorm-162.1121.38/bin/../lib/extensions.jar:/opt/PhpStorm-162.1121.38/bin/../lib/util.jar:/opt/PhpStorm-162.1121.38/bin/../lib/jdom.jar:/opt/PhpStorm-162.1121.38/bin/../lib/log4j.jar:/opt/PhpStorm-162.1121.38/bin/../lib/trove4j.jar:/opt/PhpStorm-162.1121.38/bin/../lib/jna.jar:/opt/PhpStorm-162.1121.38/bin/../jre/lib/tools.jar -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dawt.useSystemAAFontSettings=lcd -Djb.vmOptionsFile=/opt/PhpStorm-162.1121.38/bin/phpstorm64.vmoptions -XX:ErrorFile=/home/zippy1981/java_error_in_PHPSTORM_%p.log -XX:HeapDumpPath=/home/zippy1981/java_error_in_PHPSTORM.hprof -Djb.restart.code=88 -Didea.paths.selector=PhpStorm2016.2 -Didea.platform.prefix=PhpStorm com.intellij.idea.Main
StartupNotify=false
StartupWMClass=jetbrains-phpstorm
OnlyShowIn=Unity;
X-UnityGenerated=true