JetBrains are publishing their entire IDE portfolio as snaps, including PHPStorm. Snaps work on all supported versions of Ubuntu, including 14.04. Some of the advantages of the JetBrains snaps are that they are always up to date, will automatically stay updated and are very easy to install. Install PHPStorm on Ubuntu 14.04. By far the easiest solution is to open PhpStorm, where it will show in the launcher. Then right click on it in the launcher and select 'Lock to Launcher' and your done.
- Phpstorm Debug Docker
- Remove Phpstorm Debian
- Phpstorm Debugger
- Jetbrains Ubuntu
- Phpstorm Debugging
- Install Phpstorm Debian 9
- Phpstorm Debug Chrome
I'm changing my dev environment quite frequently, always looking for the current best option. While Windows with ddev was an ok option for TYPO3 development, since I'm doing Shopware including frontend development with lots of files in node-modules and corresponding file watchers, that setup has become too slow to comfortably work with. Now I finally found a setup based on Windows and WSL2 with Ubuntu that is a pleasure to work with, with all the benefits of having Linux as development environment seamlessly embedded into the Windows host system.
In this post I'm describing how to set all that up.
Phpstorm Debug Docker
Goals:
- Usable PHPStorm with fast file sync
- Common development tools (git, ssh, tests) running
- No restarts, no dual-boot, no weird workarounds, no file mounts or nfs
- Running system.d, ssh agent and snap on Ubuntu
- Seamless integration into Windows
For example consider the following screenshot:
- Firefox is running on Windows
- Chromium is running on Linux
- The Windows Terminal App is running an Ubuntu Bash
- PHPStorm is running on Linux
1. Install WSL2 with Ubuntu 2020
First of all, you need to enable WSL2 and install Ubuntu. If you already have WSL2 enabled, get Ubuntu from the Microsoft store. Otherwise, find a tutorial here: https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10
2. Install x410 as display manager


To be able to seamlessly integrate Windows and Linux you will need a display manager / XServer. I use (and recommend) X410 (https://x410.dev/). It's currently available for less than 10 Euro in the Microsoft store and 'simply works'.
After installing X410, add the following line to your .bashrc:
connecting your Ubuntu bash with the XServer.
If you want to get even more out of the XServer, check out the Cookbook on its website (https://x410.dev/cookbook/) - for example I added the XServer to the autostart.
3. Use keychain as ssh agent
Having an ssh agent available and loading your ssh key by default makes working with ssh or git much easier. To use your SSH key in Ubuntu, copy it to ~/.ssh/id_rsa:
Then install keychain as SSH agent and manager:
To load the key automatically and start the agent, add the following line to your .bashrc:
(of course, you can add / load other keys here, too)
More info or other ways to add SSH authentication can be found at https://medium.com/@pscheit/use-an-ssh-agent-in-wsl-with-your-ssh-setup-in-windows-10-41756755993e
4. Install Docker and enable WSL2 support
Current docker installations support WSL2 already. If you already have Docker installed, you can enable WSL2 integration, otherwise install it first. You can select the distributions where you want to use docker. After enabling, you might need to restart your WSL2 distribution to have it available.
5. Use 'systemd' hack to use snap (optional - be careful)
Remove Phpstorm Debian
I wanted to be able to use snap for installing tools like node and PHPStorm - to make that possible, I needed to get systemd functional. There is no official support for running systemd on WSL2, however there are 'hacks' / 'workarounds' to make it work. Take a look before you leap and use with caution:
There may be other / updated ways to get it running at this point, keep an eye on https://github.com/microsoft/WSL/issues/5126
Once that's done, snap should be running:
6. Install PHPStorm with Snap
Now we are finally ready to install PHPStorm.
EAP:
Stable:
see also https://blog.jetbrains.com/phpstorm/2017/12/install-phpstorm-with-snaps/
Try starting PHPStorm by running phpstorm in your terminal. As I'm lazy, I added the following alias to .bashrc:
7. Install inotify for PHPStorm file watchers
PHPStorm will probably complain about file sync being slow when you start it - that's because we did not install inotify yet, which PHPStorm can utilize. To do so, type:
As the default amount of files a user can watch is pretty low - especially if you are doing anything frontend related ;) - you can increase that number by adding the following line in /etc/sysctl.conf:
and applying the change:
For more info see https://blog.jetbrains.com/idea/2010/04/native-file-system-watcher-for-linux/
For debugging the file watcher see https://confluence.jetbrains.com/display/~roman.shevchenko/Debugging+native+file+system+watcher+for+Linux
Success!
You now have a running Ubuntu with PHPStorm incl. fast file sync.
-- Optional --
🐵 Random Stuff 🐵
The following section contains additional things I did to customize my environment and make it more fun to use - just in case someone is interested.
8. Install PHP / Composer / Node locally

As I'm doing quite a bit of development directly based on a local PHP server and nothing else, run Cypress acceptance tests via Node in PHPStorm etc. it's important for me to have my tools 'at hand' without the need to start or run a docker container.
I additionally installed PHP7.4 via apt (apt install php7.4-*), composer via the recommended install script and node via snap install node.
9. Recommendation: Use Windows Terminal - with Emoji Support 🐱🐱🐱
Phpstorm Debugger
As a terminal application I'm using the new Windows terminal - it's fast and has some nice features like tabs for different terminals (you can mix and mash Ubuntu and Powershell for example), colored tabs and - most important: EMOJIs!
Get it from the Windows Store: https://www.microsoft.com/de-de/p/windows-terminal-preview/9n8g5rfz9xk3

10. Customize your prompt and git environment (PS_1)
As you might have seen I'm a big fan of customizing your bash prompt and displaying git status information directly. To do that, I'm using the brew formula bash-git-prompt. To install, first install linuxbrew and then tap the formula

See https://docs.brew.sh/Homebrew-on-Linux and https://formulae.brew.sh/formula/bash-git-prompt
11. Scaling issues
Depending on your system, you might have scaling issues when using Linux GUI Apps. In my case, adding the following to vars helped:
12. Install ddev on Ubuntu
I'd recommend installing and using ddev on Ubuntu, too - to install (if you installed linuxbrew in step 10):
See https://ddev.readthedocs.io/en/stable/#installation for more in-depth instructions.
13. Setup GPG TTY for signed commits
When using Git with signed commits from Ubuntu you may need to set a TTY for GPG to allow unlocking your key.
Add the following line to your .bashrc:
14. Bonus: Set keyboard layout to Dvorak on WSL2/X410
Some might know I'm using Dvorak as keyboard layout - to do so in Ubuntu GUI apps add the following to profile or .bashrc:
That's it
I hope some of it is useful - if you have any questions or feedback let me know via Twitter (https://twitter.com/sasunegomo) or TYPO3 Slack (@susi)
JetBrains PhpStorm is one of the best development IDE for PHP developers. However, according to PHP community it’s license price is costly specially who want to learn. It’s one of the modern IDE till now for PHP. Today I am going to show how to run PhpStorm from terminal in Linux machine (Ubuntu, CentOS and other platform). Also I will describe about to create PhpStorm launcher in Ubuntu and other Linux OS. From the command line even you can run PhpStorm as root. But remember, running any application with root privilege requires double thinking because it’s risky. Try to avoid opening application without root.
Download & Install PhpStorm
Before going further down, you need to download PhpStorm first. To download JetBrains PhpStorm, you need to go to https://www.jetbrains.com/phpstorm/ website and click on the download button. It will download the latest version based on your operating system. For Ubuntu, it will be tar.gz file. After downloading extract that and keep it in a directory. For this tutorial, I have extracted PhpStorm in /opt directory.
Jetbrains Ubuntu
Run PhpStorm from terminal as normal user or root
It’s sometimes uneasy to open file explorer and find the PhpStorm executable to run it. For most of the linux system we prefer to run any application directly from terminal as root or as normal user. But unfortunately PhpStorm doesn’t provide any installer. So we have to create our own command, create own launcher for our Ubuntu and any other Linux OS.
Phpstorm Debugging
To run PhpStorm from command line, you need to create a symbolic link of the original executable as a binary. To do that, run the following command to create PhpStorm symbolic link to /usr/bin/phpstorm.
In the above code /opt/PhpStorm-121.390/bin/phpstorm.sh is your PhpStorm’s phpstorm.sh executable file location and phpstorm word from usr/bin/phpstorm this is the assigned command to run PHPStorm IDE from your terminal.
In the above command, change your directory as per your downloaded version. And /usr/bin/phpstorm you can make it however you want. If you want to run PhpStorm as another name like yourname. You can create that symbolic link to /usr/bin/yourname.
OK, now you have the binary located in bin directory. You can now open PhpStorm from terminal with the following command.
Run PhpStorm as sudo
Everything is same. Just add sudo before the command. So the final command to run open PhpStorm from terminal with sudo privilege is –
Create PhpStorm Launcher in Ubuntu
Sometimes we don’t feel OK to run anything from terminal because of wrong command or we forget some useful commands. In that case specially if we use Ubuntu. Then we can directly create launcher icon of PhpStorm so like other program, we can just run PhpStorm by clicking on the icon. Sounds cool!
Install Phpstorm Debian 9
Now to create launcher in Ubuntu Unity we just need to create phpstorm.desktop file in /usr/share/applications with the following snippet :
Create phpstorm.desktop file by typing the following command :
Then write the following code in newly created blank text file.
Phpstorm Debug Chrome
Save this file and restart your terminal. And type the following command to run PhpStorm. After running it first time you can pin it to the sidebar or you will get the PhpStorm icon. Great! So today I just told you how to run PhpStorm from terminal in Ubuntu and create launcher icon in Ubuntu for PhpStorm.
Happy PHP-ing. If you face any problem to create PHPStorm launcher in Ubuntu machine let me know.




