Mac端显示服务器上show的内容

Mac端显示服务器上show的内容

1. 需求描述

在Mac端(终端和PyCharm中)编写代码,在服务器端运行程序。需要在Mac端显示服务器端运行的内容,比如,运行的视频等。
在这里插入图片描述

2. 常见报错

  • SSH 运行命令时报错示例。

(cv) czjing@Server:~/work$ xclock
Error: Can't open display:
  • PyCharm 运行代码时报错示例。

qt.qpa.xcb: could not connect to display localhost:10.0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in ......

3. 解决方法

1) 在Mac端安装 XQuartz1

  • 方法1:

如果Mac上已经安装了brew2包管理器 ,可以直接在Mac终端运行以下命令安装:

brew install --cask xquartz

安装示例:

czjing@Mac ssh % brew install --cask xquartz
  • 方法2:

xquartz 官网下载 *.pkg 文件,手动安装。这里跳过安装示例。

  • 启动XQuartz

运行 XQuartz.app 即可,运行后,请保持其一直处于开启状态。

2) 检查 Mac 和服务器是否可以ping通。

在 Mac 端 ping 服务器端 ip 地址:

ping -c 5 165.***.***.***

运行示例:

czjing@Mac % ping -c 5 165.***.***.***
PING 165.***.***.*** (165.***.***.***): 56 data bytes
64 bytes from 165.***.***.***: icmp_seq=0 ttl=64 time=0.543 ms
64 bytes from 165.***.***.***: icmp_seq=1 ttl=64 time=0.571 ms
64 bytes from 165.***.***.***: icmp_seq=2 ttl=64 time=0.577 ms
64 bytes from 165.***.***.***: icmp_seq=3 ttl=64 time=0.590 ms
64 bytes from 165.***.***.***: icmp_seq=4 ttl=64 time=0.619 ms

--- 165.***.***.*** ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.543/0.580/0.619/0.025 ms

3) 在 Mac 终端通过 SSH 链接到服务器。

3.1) ssh 连接服务器。

命令:ssh -Y czjing@165.***.***.***
(注意: ssh 时加-Y 参数。)

示例:

czjing@Mac ssh % ssh -Y czjing@165.***.***.*** 
3.2) ssh 连接服务器后,查看服务器端 DISPLAY 环境变量。

命令:echo $DISPLAY

示例:

(cv) czjing@Server:~/work$ echo $DISPLAY
localhost:10.0

(PyCharm中需要用到。)

4) 在 终端PyCharm 中显示服务器回传内容。

4.1) 在终端中显示服务器回传内容。

直接运行代码即可

示例1:

(cv) czjing@Server:~/work$ xclock

在这里插入图片描述
示例2:运行 python 程序

(cv) czjing@Server:~/work/demo$ python showVideo.py 

在这里插入图片描述

4.2) 在PyCharm中显示服务器回传内容。

在要运行的代码文件的环境变量中添加我们上面 3.2)小节中得到的内容即可。

在这里插入图片描述
运行代码后,就可以正常弹窗显示回传内容。
在这里插入图片描述

5) 其他说明

  • 在设置过程中,我没有修改服务器端 /etc/ssh/sshd_config 文件的内容。
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
  • 如果XQuartz处于未启动状态运行程序,Mac 会自动启动XQuartz,并运行程序,显示内容。
  • 在使用PyCharm回显服务器内容的时,要保持 3.1) 节连接的 ssh 处于连接状态,并设置相应的环境变量。

本文内容参考:https://cloud.tencent.com/developer/article/1149087


  1. xquartz官网: https://www.xquartz.org/ ↩︎

  2. brew官网:https://brew.sh/ ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值