打开显示错误

4

每当我尝试通过ssh连接到linux服务器时打开外部显示器,就会出现错误。错误会在各种情况下发生:

freeglut (./executable): failed to open display 'localhost:22.0' * Program linking with openGL

(gedit:9741): Gtk-WARNING **: cannot open display: localhost:22.0

基本上任何需要打开外部显示器的操作都会导致这个错误。从互联网上搜索得知,这与显示变量有关,最初只是0:0。然而,我更改了本地的~/.profile文件,加入了这一行(DISPLAY=localhost:0.0; export DISPLAY),它显示相同的错误,但是localhost:x:0而不仅仅是0:0。

我已经安装了xquartz,并且使用-Y标志进行ssh连接。我也尝试了-X标志,但仍然没有成功。

1个回答

5

在 Linux 系统上的 SSH 服务器上必须启用 X11 转发。在 /etc/ssh/sshd_config 中设置:

X11Forwarding yes
X11UseLocalhost yes

不要自己更改DISPLAY变量,SSH服务器会处理授权设置并相应地设置DISPLAY。

我正在ssh访问的服务器是由学校托管的,并且该文件是私有的。此外,其他人可以正常打开外部显示器。你给出的建议很好,但修改显示变量是一个错误。删除我在~/.profile中的那一行,这个原因我不确定,但它确实解决了问题。在我添加它之前就存在错误,除了用它运行bash脚本然后将其删除之外,我没有做任何其他操作。 - Zach Huston
我目前也遇到了同样的问题,但这并没有解决它。 - Scarl
@Scarl:你的系统(双端)配置是什么?(操作系统,SSH版本,你坐在前面的机器上的GPU,以及安装在机器上的驱动程序版本)。 - datenwolf
@Scarl:在Windows上运行的程序通常不知道如何与X11通信。原生的MacOS UI也不使用X11。因此,您必须处于以下情况之一:在Mac上运行XQuartz,在终端内使用X服务器启动SSH,Windows机器上的SSH服务器已经构建了SSH支持,最后尝试使用使用X11的程序。您收到“无法打开显示”的错误消息表明,至少已经满足了最后一部分的要求。 - datenwolf
@datenwolf 您是指我正在尝试连接的 XP 吗? - Scarl
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接