使用 Ubuntu 11.10。当我从命令行运行 jvisualvm 时,输出为:“未指定协议”。然后程序退出。
2 回答
Jayan 是正确的,这看起来像是一个DISPLAY
错误,当您尝试在同一台机器上作为不同用户或远程机器上运行命令时,可能会发生这种情况。如果您不担心安全性,这里有一个快速修复它的方法。
在您的本地计算机上键入
xhost +
作为主用户(可以启动显示窗口的程序的用户,例如xterm
)。如果您在同一台机器上以另一个用户的身份运行命令,那么您现在可能能够执行此操作。
export DISPLAY=localhost:0.0
如果没有,请以该用户身份尝试。如果您在远程计算机上运行命令,但希望它显示在本地计算机上,请
export DISPLAY=YOUR_IP_ADDRESS:0.0
在远程计算机上尝试。
我在尝试以用户身份在本地计算机上运行 JVisualVMmapred
以分析一些 Hadoop 作业时遇到了它。我可以想象,当 Hadoop 在集群中运行时(而不是在我的本地机器上以伪分布式模式运行),我必须登录到远程机器来执行此操作。
(关于安全性的评论:xhost +
如果 Internet 上的任何人知道您的 IP 地址,将允许他们在您的计算机上弹出窗口。xhost
重新启动时重置的效果,因此在个人计算机上通常不是问题。)
您是否尝试过使用 GUI 运行任何其他应用程序?如果它们也因类似错误而失败,则与显示设置有关。
获得此错误的一种方法是未定义正确的 DISPLAY。(请发布完整的例外情况。)