当前位置: 首页 > news >正文

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.***.***.***

运行示例:

(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


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

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

相关文章:

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

Mac端显示服务器上show的内容 1. 需求描述 在Mac端(终端和PyCharm中)编写代码,在服务器端运行程序。需要在Mac端显示服务器端运行的内容,比如,运行的视频等。 2. 常见报错 SSH 运行命令时报错示例。 (cv) czjing…...

【SQL】每类视频近一个月的转发量/率

【问题】 统计在有用户互动的最近一个月(按包含当天在内的近30天算,比如10月31日的近30天为10.2~10.31之间的数据)中,每类视频的转发量和转发率(保留3位小数)。 【数据】 用户-视频互动表 tb_user_video…...

chatgpt读论文

在当今的数字化时代,人工智能(AI)正在颠覆我们的生活方式。 OpenAI的GPT系列模型——尤其是最新一代的GPT-4和它的聊天机器人版本ChatGPT——是最近AI进步的显著代表。通过深度学习和海量数据训练,这些模型已经可以生成出色的人类般的文本。它们可以被用…...

关于visual studio 2010 及以上版本 引入boost库的最新解决方法

之前没有怎么用到boost库,出来实习需要去编译一些代码,需要引入boost第三方库,在这过程中,一直出现 LINK : fatal error LNK1104: 无法打开文件“libboost_filesystem-vc100-mt-gd-x3 错误, 但是也确实是跟其他教程学过…...

SpringBoot+ Dubbo + Mybatis + Nacos +Seata整合来实现Dubbo分布式事务

1.简介 “ 本文主要介绍SpringBoot2.1.5 Dubbo 2.7.3 Mybatis 3.4.2 Nacos 1.1.3 Seata 0.8.0整合来实现Dubbo分布式事务管理,使用Nacos 作为 Dubbo和Seata的注册中心和配置中心,使用 MySQL 数据库和 MyBatis来操作数据。 ” 如果你还对SpringBoot、Dubbo、Nacos…...

MongoDB使用

文档连接: link 创建表 不需要创建表的语句&#xff0c;当插入表的第一条语句时&#xff0c;会隐式的创建表。 增 插入一条 db.people.insertOne({ user_id: "bcd001", age: 45, status: "A" } )插入多条 db.collection.insertMany([ <document 1&g…...

C#文件安全管理解析

在实际的项目开发中&#xff0c;我们经常需要使用到文件的I/O操作&#xff0c;主要包含对文件的增改删查等操作&#xff0c;这些基本的操作我们都是很熟悉&#xff0c;但是较少的人去考虑文件的安全和操作的管理等方面&#xff0c;例如文件的访问权限管理&#xff0c;文件数据的…...

基于Dubbo分布式学校信息管理系统设计与实现

一、引言 1.1 课题背景 随着时代的发展与进步,计算机网络也随之日益完善,渐渐覆盖了我们生活的各个方面。在信息化和数字化的时代背景下,使用计算机管理学校信息来提升教育工作的质量和效率,是大势所趋,所以近年来,随着网络技术的不断发展,使用信息管理系统的学校越来…...

oracle面试问题和笔记整理

oracle面试笔记 ORACLE 面试问题-技术篇(2) 如何判断数据库的时区? 解答:SELECT DBTIMEZONE FROM DUAL; 解释GLOBAL_NAMES设为TRUE的用途 解答:GLOBAL_NAMES指明联接数据库的方式。如果这个参数设置为TRUE, 在建立数据库链接时就必须用相同的名字连结远程数据库 23。如何…...

Hadoop_Yarn实践 (三) => (Yarn的基础架构、原理、容量/公平调度器、Tool接口、Yarn常用命令、核心参数)

目录 Hadoop_HDFS、Hadoop_MapReduce、Hadoop_Yarn 实践 (三)一、Hadoop_HDFS二、Hadoop_MapReduce三、Hadoop_Yarn1、Yarn资源调度1.1、基础架构1.2、Yarn的工作调度机制&#xff08;Job提交过程&#xff09;1.3、Yarn 调度器和调度算法1.3.1、先进先出调度器&#xff08;FIFO…...

postgresql 从应用角度看快照snapshot使用,事务隔离控制不再神密

​专栏内容&#xff1a;postgresql内核源码分析 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 快照使用 快照是事务中使用&#xff0c;配合事务的隔离级别&#xff0c;体现出不同的可见性。…...

mysql(mariadb)读写分离部署

目录 一、原理 二、准备环境 三、部署mysql主从复制 1.五台服务器下载mariadb 2.修改master配置文件&#xff0c;重启数据库 3.登录mysql创建replication 4.从服务器登录验证 5.获得master服务器 DB的相关信息 6.备份master原有数据 7.修改slave1、slave2配置 8. 进入…...

ES-工作原理

前言 ​ 搜索引擎是对数据的检索&#xff0c;而数据总体分为两种&#xff1a;结构化数据和非结构化数据。而对于结构化数据&#xff0c;因为他们具有特定的结构&#xff0c;所以一般都是可以通过关系型数据库MySQL/oracle的二维表的方式存储和搜索&#xff0c;也可以建立索引。…...

C++小结(4)

C 字符串 C 提供了两种类型的字符串表示形式&#xff1a; C 风格字符串C 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言&#xff0c;并在 C 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此&#xff0c;一个以 null 结尾的字…...

Java框架之spring 的 messaging

写在前面 本文看下spring message相关的内容。 1&#xff1a;Message&#xff1f;Messaging&#xff1f; Message是消息的意思&#xff0c;是一个名词。而Messaging是一个动名词&#xff0c;是将消息发送出去的意思&#xff0c;因此&#xff0c;我们的消息系统是messaging s…...

linux使用grep命令查询nginx的进程情况时总是出现 grep --color=auto nginx

问题&#xff1a; 每次使用ps aux | grep 服务名 命令查询某个服务的进程时&#xff0c;总会出现一条grep --colorauto 服务名 例如&#xff1a; ps aux | grep nginx # 会出现图片中的情况解答&#xff1a; 这是因为grep 也是一条命令&#xff0c;它在输出时&#xff0c;会…...

FFmpeg音视频开发知识点(二)

系列文章目录 FFmpeg音视频开发知识点&#xff08;一&#xff09; 文章目录 系列文章目录前言一、AAC音频编码1. ffmpeg编译第三方的libfdk_aac2. S16重采样FLTP 二、AAC音频解码总结 前言 该篇讲解一下&#xff0c;音频编解码中的难点&#xff0c;以及开发过程中遇到问题&am…...

【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~

Java可执行命令之jarsigner 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法3.1.1 可选参数&#xff1a;jarsigner -keystore < url>3.1.2 可选参数&#xff1a;jarsigner -storepass <口令>3.1.3 可选参数&#xff1a;jarsigner -keypass <口令>3.1.4 可选参…...

c#调用c++ dll,Release版本内存访问错误

最近遇到个比较经典的案例&#xff0c;在c#中调用yara进行文件检测&#xff0c;yara是c编写的一个非常强大库&#xff0c;github有个大佬用c#对其进行了封装&#xff0c;使其能在跨平台下&#xff0c;只需编译yara的so或dll就能直接跑。但总是在Release版本下时不时就崩溃&…...

内网安全:Cobalt Strike 与 MSF 联动( 会话 相互转移 )

内网安全&#xff1a;Cobalt Strike 与 MSF 联动&#xff08; 会话 相互转移 &#xff09; 在渗透中&#xff0c;有时候 Cobalt Strike 会话可能会受限制&#xff0c;所以我们需要把 Cobalt Strike 会话转移到 MSF 上进行后面的渗透。也有的时候会话在 MSF 上&#xff0c;但是…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...