为什么jvisualvm会崩溃:“没有指定协议”

时间:2012-08-18 20:35:18

标签: java linux jvisualvm

使用ubuntu 11.10。当我从命令行运行jvisualvm时,输出为:“未指定协议”。然后程序退出。

2 个答案:

答案 0 :(得分:1)

Jayan是正确的,这看起来像DISPLAY错误,当您尝试在不同用户或远程计算机上运行同一台计算机上时,可能会发生此错误。如果您不担心安全问题,可以通过以下方法快速解决问题。

  • 在本地计算机上键入xhost +作为主要用户(可以启动启动窗口的程序的用户,例如xterm)。

  • 如果您在同一台计算机上以另一个用户身份运行命令,您现在可能就可以执行此操作了。如果没有,请尝试export DISPLAY=localhost:0.0作为该用户。

  • 如果您在远程计算机上运行命令,但希望它显示在本地计算机上,请尝试远程计算机上的export DISPLAY=YOUR_IP_ADDRESS:0.0

我尝试在本地计算机上以用户mapred运行JVisualVM来分析某些Hadoop作业时遇到了它。我可以想象当Hadoop在群集中运行时(而不是在我的本地机器上以伪分布模式运行),必须登录远程计算机才能执行此操作。

(关于安全性的评论:xhost +将允许互联网上的任何人知道您的IP地址时弹出计算机上的窗口。xhost的效果会在您重新启动时重置,因此通常在个人电脑上不是问题。)

答案 1 :(得分:0)

您是否尝试使用GUI运行任何其他应用程序?如果它们也因类似错误而失败,则与显示设置有关。

获得此错误的一种方法是没有定义正确的DISPLAY。 (请发布完整的例外情况。)