You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过SSH使用X11转发显示gnuplot图形遇问题求助

解决Windows 10通过SSH X11转发查看Linux服务器gnuplot图形的问题

1. 确保SSH连接时开启X11转发

  • 用PuTTY的话:打开Connection -> SSH -> X11,勾选「Enable X11 forwarding」,X display location填:0或者留空让程序自动识别
  • 用OpenSSH命令行的话:连接时必须加-X参数(普通场景够用),命令示例:ssh -X your_username@server_ip,不要先手动设置DISPLAY变量,开启-X后SSH会自动配置

2. 检查Linux服务器端的SSH配置

需要修改sshd_config文件(需sudo权限):

  • 打开文件:sudo nano /etc/ssh/sshd_config
  • 确保以下配置项存在且未被注释:
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost yes
    
  • 保存退出后重启sshd服务:
    • Debian/Ubuntu:sudo systemctl restart sshd
    • CentOS/RHEL:sudo service sshd restart

3. 正确启动VcXsrv

启动VcXsrv时,在「Extra settings」步骤,一定要勾选「Disable access control」(这是新手最容易忽略的点,不勾的话Linux端的X请求会被拒绝),其他默认设置即可(比如选「Multiple windows」,「Start no client」)

4. 不要乱改DISPLAY变量

  • 用ssh -X连接后,服务器端会自动设置DISPLAY变量,执行echo $DISPLAY可以查看,正常值类似localhost:10.0(因为X11DisplayOffset设为10)
  • 手动执行export DISPLAY=localhost:0反而会导致冲突,直接删掉这个操作

5. 测试X转发是否正常

先装个简单的X程序验证:

  • Debian/Ubuntu:sudo apt install x11-apps
  • CentOS/RHEL:sudo yum install xorg-x11-apps
    执行xeyes,如果VcXsrv里弹出跟随鼠标的眼睛窗口,说明转发正常,再运行gnuplot就能显示图形了

如果还是有问题,检查VcXsrv是否在运行,Windows防火墙有没有阻止VcXsrv的端口(默认是6000+DISPLAY号,比如:0对应6000端口)

内容的提问来源于stack exchange,提问作者Miles Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 13:35:21