Pycharm Startup Error: Unable to detect graphics environment

Pycharm Startup Error: Unable to detect graphics environment

我正在尝试在 Fedora 25 x64 上设置 Pycharm 专业版。 下载文件并解压缩后,我尝试 运行 bin 目录中的脚本 ./pycharm.sh。 这是我得到的错误:

Startup Error: Unable to detect graphics environment

我检查了我的 Java 版本

[root@localhost bin]# java -version
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)

我也尝试设置 DISPLAY 变量:

export DISPLAY=:0 

这就是我得到的:

[root@localhost bin]# ./pycharm.sh 
No protocol specified

Start Failed: Failed to initialize graphics environment

java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.

有什么建议吗?

我在干净的 Ubuntu 17.10 中安装时遇到了同样的错误,在 Wayland 上使用 Gnome。根据@mattdm 在您的评论中的建议,我刚刚打开了一个新终端(作为我自己,而不是 root),它 运行 很好。当我收到错误时,我是 运行 root 用户(在将所有内容解压到 /opt/ 之后)。

mike@feynman:~$ /opt/pycharm/bin/pycharm.sh

一旦您 register/activate,只需单击欢迎 window 中的“* 配置 v”下拉菜单,然后 select "Create Desktop Entry" 即可从您的 OS 菜单。我假设 JetBrains 为您喜欢的 linux 风格做了这项工作。

软呢帽
我已经使用 fedy 安装了 pycharm。这是有效的。
或更改为另一个用户并尝试除 root 以外的用户。
Phpstrom, Webstrom, PyCharm
上面三个也是这样。

您的 X 环境设置不正确(手动设置 DISPLAY 并不总是有效)。可能是因为您正在尝试这样做,因为 root 并且 root 不是图形会话的所有者。也可能有其他原因。

在这种情况下,您将无法 运行 xclock 或任何其他 X 应用程序 - 这表明它不是 pycharm 相关的问题。例如,如果您以 root 身份 ssh 到本地主机,而不是以当前登录到图形会话的用户身份:

laptop:~ # ssh localhost
Password: 
Last login: Thu Nov 23 22:19:06 2017 from localhost
Have a lot of fun...
laptop:~ # export DISPLAY=:0
laptop:~ # xclock
No protocol specified
Error: Can't open display: :0
laptop:~ # konsole
No protocol specified
Segmentation fault
laptop:~ # pycharm
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
No protocol specified

Start Failed: Failed to initialize graphics environment

如果您在文本模式控制台中尝试相同的行为,您也会看到相同的行为。

要解决此问题,请从图形环境打开一个新终端 - 如果安装正确,您应该能够 运行 任何 X 应用程序,包括 pycharm(或至少它不应因该错误而失败)。

在我的例子中,我 运行ing pycharm 通过 docker,这是不同的主机,运行 命令 xhost + ,这将禁用访问控制,客户端将能够从任何主机连接。

我使用 OpenJDK 而不是 Oracle Java,因为 PyCharm hangs 在 Raspberry Pi。

在文件 /etc/java-8-openjdk/accessibility.properties 中,禁用条目 assistive_technologies(只需用 # 注释掉)即可解决问题。

尝试运行 来自另一个用户而不是 root 的程序。它对我有用。

这就是解决我的问题的方法:

export DISPLAY='localhost:11'