为什么 PHPStorm (flatpak) 无法访问 /var/www?

为什么 PHPStorm (flatpak) 无法访问 /var/www?

关于我自己的简短介绍
我刚刚安装了费伦操作系统。作为一名网络开发人员,我每天都会使用 Linux 和 Unix 命令行,但仅限于非常简单的事情。所以我仍然认为自己是一个Linux菜鸟。

编辑:这个问题现在已经被否决了一次。如果您否决它,请考虑让我知道它有什么问题。

我的问题
首先,我从命令行安装了 Apache2(使用 apt)。我在 /var/www/projects/some_website/web 中创建了一个功能齐全的工作网站。这部分也是我日常工作中熟悉的部分。

我还从商店安装了 PHPStorm (flatpak)。该商店本身(根据它的有关盒子)是一个 Feren OS 定制商店。但是,我想说这与我遇到的问题无关。

在 Feren OS 中,我以用户“paul”身份登录。

现在,当我作为用户“paul”打开终端时,我可以去任何地方。例如我可以转到“/var/www”。我可以在那里创建目录,chown它们等等。就像我说的,这部分我很熟悉。

然而,从 PHPStorm 我可以转到“/var”,但在那里我看不到所有目录。即使我在地址框中输入“/var/www”,它也无法到达那里。

作为比较,我还打开了文本编辑器 Kate。这个程序可以像我期望的那样访问“/var/www”。

PHPStorm 无法访问 /var/www 的屏幕截图,而终端可以

我尝试修复它的方法
我在互联网上找到的答案主要提到用户应该添加到 www-data 组,并且 /var/www/ 应该由该组 chowned 。

例如这个

虽然我认为这个解决方案对我来说毫无意义,但我确实尝试过。我认为这是无稽之谈,因为同一用户下运行的其他应用程序可以访问该目录。当然,我可能在这里错了,所以请告诉我:)

可以肯定的是,我已将用户“paul”添加到“www-data”组,并且我已将 /var/www 添加到该组,如所附屏幕截图中所示。

我发现的另一个可能的解决方案是通过 snap 安装 PHPStorm反而。我还没有尝试过,因为我想先了解我做错了什么。

最后但并非最不重要的一点是,我在 Feren OS 商店中卸载了 flatpak 软件包,然后从命令行重新安装了 flatpak 软件包:

Flatpak 安装 PhpStorm

这也不会改变任何事情。

我的问题
1. PHPStorm 与 Konsole 和 Kate 之间有什么区别,这使得 PHPStorm 无法访问 /var/www/,而所有其他工具都可以。

  1. 我应该怎么做才能解决这个问题?

调查

正如评论中所询问的,我已经检查了哪些用户正在运行 PHPStorm:

ps -ef | grep -i phpstorm

paul      2241  1332  0 13:09 ?        00:00:00 /usr/libexec/flatpak-bwrap --args 31 phpstorm
paul      2267  2241  0 13:09 ?        00:00:00 /usr/libexec/flatpak-bwrap --args 31 phpstorm
paul      2268  2267  0 13:09 ?        00:00:00 /bin/sh /app/extra/phpstorm/bin/phpstorm.sh
paul      2309  2268 99 13:09 ?        00:00:19 /app/extra/phpstorm/jbr/bin/java -classpath /app/extra/phpstorm/lib/bootstrap.jar:/app/extra/phpstorm/lib/extensions.jar:/app/extra/phpstorm/lib/util.jar:/app/extra/phpstorm/lib/jdom.jar:/app/extra/phpstorm/lib/log4j.jar:/app/extra/phpstorm/lib/trove4j.jar:/app/extra/phpstorm/lib/jna.jar -Xms128m -Xmx968m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine -Dsun.tools.attach.tmp.only=true -XX:ErrorFile=/home/paul/java_error_in_PHPSTORM_%p.log -XX:HeapDumpPath=/home/paul/java_error_in_PHPSTORM.hprof -Didea.paths.selector=PhpStorm2020.1 -Djb.vmOptionsFile=/home/paul/.var/app/com.jetbrains.PhpStorm/config/JetBrains/PhpStorm2020.1/phpstorm64.vmoptions -Didea.platform.prefix=PhpStorm com.intellij.idea.Main
paul      2403  2387  0 13:09 pts/1    00:00:00 grep --color=auto -i phpstorm

作为比较,我对 Kate 做了同样的事情(可以访问该目录):

ps -ef | grep -i kate

paul      2761  1332  4 13:12 ?        00:00:00 /usr/bin/kate -b --tempfile
paul      2767  1271  0 13:12 ?        00:00:00 tags.so [kdeinit5] tags local:/run/user/1000/klauncherkWHCgQ.1.slave-socket local:/run/user/1000/kateencBio.1.slave-socket
paul      2776  1271  0 13:12 ?        00:00:00 file.so [kdeinit5] file local:/run/user/1000/klauncherkWHCgQ.1.slave-socket local:/run/user/1000/kateSKaSMP.2.slave-socket
paul      2780  1271  0 13:12 ?        00:00:00 thumbnail.so [kdeinit5] thumbnail local:/run/user/1000/klauncherkWHCgQ.1.slave-socket local:/run/user/1000/kateVcVjeG.4.slave-socket
paul      2791  2387  0 13:12 pts/1    00:00:00 grep --color=auto -i kate

答案1

Feren OS的开发者告诉我,问题很可能是因为Flatpak包“用户”的权限而出现的。

然后 JetBrains 支持台告诉我类似的事情,并建议使用 Snap 或 JetBrains Toolbox 来安装 PHPStorm。我现在已经通过他们的工具箱安装了 PHPStorm,它运行得非常顺利。

相关内容