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

news/2024/6/19 3:37:12 标签: macos, 服务器, 运维

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/ ↩︎


http://www.niftyadmin.cn/n/1448054.html

相关文章

开机自动启动oracle和weblogic (转)

开机自动启动oracle和weblogic,sql,sql教程,Oracle基础我的机器是5L,oracle9i,weblogic6.1,HTTPServer由于给别人装的机器,对方水平有限(其实我也很菜:)),为了省心&#…

uva 1399 - Puzzle(AC自动机)

题目链接:uva 1399 - Puzzle 题目大意:给定K和N,表示有K种不同的字符,N个禁止串,求一个最长的串使得该串不包含任何禁止串为子串。如果存在循环或者不能构成的话,输出No。 解题思路:建立AC自动机…

Adaptive Streaming 学习笔记之一

有了时间就打算做点事情。打算在这里记录自己在学习多媒体信息系统方面的一些点滴,希望能够在将来能够对自己的这也生涯有所裨益。从今天开始,我准备介绍如何从零开始掌握主流的Adaptive Streaming技术的系列学习笔记。 首先给出几个有用的链接&#xff…

对抗样本库 CleverHans

https://www.cnblogs.com/tuji-sjp/p/10015634.html https://www.cnblogs.com/yifdu25/p/8278175.html

js 书写规范

1、字符串用单引号 2、运算符号和变量之间用空格建立间距 3、书写插件时使用 use strict; 开头 4、方法如果是获取或者设置数据集合则使用动词如 getData,setData,each 如果是布尔值则使用isSelected 5、使用某一个前端框架时把该框架中的插件实例化部…

对抗样本概念以及热门算法(入门攻击必看)

对抗样本的概念、以及典型的对抗样本生成算法具体思想,可以参考下面几个博客 对抗样本攻击简介 https://blog.csdn.net/qq_16234613/article/details/79679393 https://www.cnblogs.com/tangweijqxx/p/10614071.html 攻击AI模型之FGSM算法 https://www.leiphone.com…

Infomation Module Profile介绍(转)

我们都清楚在CLDC的上层是MIDP,在MIDP中提供了对用户界面的支持,我们可以使用javax.microedition.lcdui包中提供的API进行开发,但是还有一类设备是不具有显示屏的,比如网卡、路由器和跟踪器等。为了满足上述设备的市场需要,JCP组织中SIEMENS领…

javascript创建对象方式

javascript创建对象方式 工厂模式构造函数模式原型模式工厂模式 function createPerson(name, age){var obj new Object();obj.name name;obj.age age;return obj; //一定要返回,否则打印undefined:undefined}var person1 new createPerson(Young,18);console.l…