SSH连接服务器正常显示GUI程序

今天突发奇想想要将以前的一个项目做的软件优化一下, 然后把项目clone的mac上发现是需要gpu的,于是我又将项目upload到了我自己的服务器上,可是我一直是ssh去远程服务器的,我的这个软件涉及PyQt5的部分,没办法直接显示,于是了解了使用SSh的X11转发功能,实现了可以在远程服务器执行涉及GUI的脚本,以下是一些可能遇到的问题。

实现细节

  • 首先我在Mac上选择的软件是 XQuartz ,直接用包管理器安装即可 brew install --cask xquartz,注意这里安装完要重启电脑才行,brew下载完并没有这个提示。

  • 需要检查服务器上的/etc/ssh/sshd_config里面的这三行没有被注释掉:

    复制代码
    # 1. 确保 X11Forwarding 为 yes
    X11Forwarding yes
    # 2. 确保这一行没有被注释掉
    X11DisplayOffset 10
    # 3. 确保这一行是 yes (通常是默认值,但检查一下)
    X11UseLocalhost yes
  • 之后用 ssh -Y your_username@server_ip 来连接服务器,正常情况下执行 echo $DISPLAY 是能够显示 localhost:10.0的,我一开始显示为空,于是我检查了sshd_config,并且使用 ssh -v -Y your_username@server_ip 来查看更详细的信息,DEBUG信息显示 debug1: X11 forwarding requested but DISPLAY not set,最后重启了电脑就正常设置了。

  • 我总共在服务器上安装了这些库:

    复制代码
    sudo apt update
    sudo apt install -y libgl1-mesa-glx libgl1-mesa-dri
    sudo apt install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0

之后就能正常在我的Mac上显示了,有一些我做的动画显示的时候会比较卡而且会有很多不正常的背景色,不过这都不太重要,能够大概正常显示就已经够用了。

相关推荐
wflynn3 小时前
Mistral Large 4发布,万亿参数模型的编码与安全实测数据
ai·技术
wflynn2 天前
Claude Sonnet 5自主选药选坐标完成小鼠脑部手术,更强模型拒绝执行
ai·技术
weixin_417396835 天前
酒店IPTV需要什么资质?内容授权与工程资质两条线要分开看
网络·技术·网络运维·酒店iptv·组播排查
wflynn7 天前
NVIDIA RTX Spark 编码代理性能与本地 AI 开发机配置
ai·技术
weixin_417396839 天前
老酒店有线电视改造怎么做?三种路径对比与施工节奏
网络·技术·酒店·1024程序员节·综合布线·弱电
2601_967979129 天前
当代码有了温度:程序员的键盘上,藏着人间烟火
程序员·生活·技术·代码·温情
weixin_4173968311 天前
酒店IPTV怎么和PMS对接?能实现哪些联动
网络·技术·网络运维·酒店iptv·组播排查
weixin_4173968311 天前
酒店弱电工程多少钱?三种计价口径与报价构成
网络·技术·酒店·综合布线·弱电
weixin_4173968312 天前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
weixin_4173968312 天前
监控画面卡顿与录像缺失:码率、NVR与存储容量的排查顺序
前端·网络·技术·酒店·综合布线·弱电