Mac端显示服务器上show的内容
1. 需求描述
在Mac端(终端和PyCharm中)编写代码,在服务器端运行程序。需要在Mac端显示服务器端运行的内容,比如,运行的视频等。
2. 常见报错
(cv) czjing@Server:~/work$ xclock
Error: Can't open display:
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端安装 XQuartz
1。
- 方法1:
如果Mac上已经安装了brew
2包管理器 ,可以直接在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.***.***.***
运行示例:
(base) 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
,并运行程序,显示内容。
本文内容参考:https://cloud.tencent.com/developer/article/1149087
xquartz
官网:https://www.xquartz.org/
↩︎brew
官网:https://brew.sh/
↩︎