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

如何在无GUI远程Ubuntu的SSH连接中解决Mininet xterm显示问题

解决远程Ubuntu通过PyCharm SSH运行X应用(Mininet xterm、Firefox)的显示问题

1. 确认远程Ubuntu的sshd配置

  • 编辑sshd_config:sudo nano /etc/ssh/sshd_config,确保以下配置项正确:
    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost yes
    
  • 重启sshd服务:sudo systemctl restart sshd

2. 正确配置Windows端Xlaunch

  • 打开Xlaunch,选择One large window,点击Next
  • 选择Start no client,点击Next
  • 关键步骤:勾选Disable access control,其余保持默认,点击Next
  • 保存配置(可选,方便下次启动),点击Finish启动X服务器

3. 开启PyCharm SSH会话的X11转发

  • 打开PyCharm,进入File > Settings > Tools > SSH Configurations
  • 选中你的远程Ubuntu连接,点击Edit
  • 在Connection标签页底部,勾选Enable X11 forwarding
  • 切换到Advanced标签,确认X display设置为localhost:0.0(或留空让PyCharm自动检测),点击Save

4. 验证远程会话的DISPLAY变量

  • 通过PyCharm SSH登录远程Ubuntu后,执行:echo $DISPLAY
  • 正常输出应为localhost:10.0或类似(sshd自动分配的端口),如果显示:0.0或为空,说明X11转发未生效,重新检查上述配置

5. 测试基础X应用

  • 先在远程直接运行xterm,如果能弹出Xlaunch的窗口,说明基础X11转发正常;如果仍报错,回到前几步排查

6. 解决Mininet虚拟主机的xterm显示问题

Mininet的虚拟主机默认不会继承当前会话的DISPLAY变量,需按以下方式处理:

  • 方式1:启动Mininet时传递DISPLAY变量:
    sudo DISPLAY=$DISPLAY mn
    
    之后在Mininet CLI中执行xterm h1即可正常弹出窗口
  • 方式2:在Mininet CLI中直接指定DISPLAY运行xterm:
    xterm -display $DISPLAY h1
    

7. 临时权限调试(可选)

如果仍报错,可在远程执行xhost +(临时允许所有X连接,测试用),测试完成后执行xhost -恢复安全设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:45:33