【问题标题】:jshell : Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variablejshell:线程“main”中的异常 java.awt.AWTError:无法使用 ':0' 作为 DISPLAY 变量的值连接到 X11 窗口服务器
【发布时间】:2019-07-05 23:40:09
【问题描述】:

我在 jshell java-11 中运行这个/edit 命令,当抛出异常时。

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

我正在使用Debian 9.0 操作系统。

异常图片

【问题讨论】:

  • DISPLAYX Windows System 使用的环境变量。如果您在 Internet 上搜索“X Windows DISPLAY 环境变量”,您应该会找到如何设置它。您的错误消息暗示您的 java 代码直接或间接引用了 java.awt 包中的类。对不起,我在你的帖子中看不到你的 java 代码。我错过了什么吗?
  • jshell> /edit No protocol specified 在线程“main”中出现异常 java.awt.AWTError: Can't connect to X11 window server using ':0' 作为 DISPLAY 变量的值。跨度>
  • @Abra 这个异常是在 jshell 中生成的,而不是 java 代码。
  • @Abra 请阅读问题。
  • JShell 中的/edit 命令试图打开一个编辑器窗口。为了做到这一点,它假定 X windows 服务器正在运行。是这样吗?

标签: java java-11 jshell


【解决方案1】:

最有可能的是以下几点:

  • 您运行 jshell 的方式会阻止它启动/提升您的首选编辑器
  • 该偏好是通过查看一些环境变量来确定的(请参阅here 了解名称/顺序)

因此,一个简单的解决方案可能是:将 JSHELLEDITOR 环境变量设置为不需要 X 窗口的变量,例如 vi。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-02
    • 2014-09-17
    • 2019-08-08
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多