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上显示了,有一些我做的动画显示的时候会比较卡而且会有很多不正常的背景色,不过这都不太重要,能够大概正常显示就已经够用了。
SSH连接服务器正常显示GUI程序的更多相关文章
- Mac上使用ssh连接服务器title显示服务器的ip
Mac上使用ssh连接服务器title显示服务器的ip 使用Mac开发时,管理的服务器过多时,会搞混乱.可能有时啪啪啪一顿操作,最后发现操作错了机器. 解决方案 在远程服务器上,编辑vim /etc/ ...
- Linux:ssh连接服务器很慢
ssh连接服务器,如果很慢,可以进行如下处理: vi /etc/ssh/sshd_config#UseDNS yes改成:UseDNS no/etc/init.d/sshd restart ----- ...
- 通过ssh X11转发使用远程gui程序
ssh协议可以转发X11数据, 从而达到使用远程gui程序的功能, 假定现在有 客服端 C :192.168.0.13 服务器 S :192.168.0.200 首先确保在客服端C 上能够通过 ssh ...
- mac终端ssh连接服务器 空闲的时候 连接断开
ssh_config详解(MAC OSX) 方法1:MAC客户端配置 配置“/etc/ssh/ssh_config”文件 “/etc/ssh/ssh_config” 文件是OpenSSH系统范围的配置 ...
- ssh连接服务器失败解决记录
故障:db2inst1用户无法通过ssh连接数据库服务器. 但是root用户可以连接,连接后su – db2inst1用户报错: su: cannot set user id: Resource te ...
- Python通过ssh连接服务器并执行命令
[本文出自天外归云的博客园] 脚本示例如下: # coding:utf-8 import time,paramiko,re,StringIO def exec_shell(command): ''' ...
- SSH连接服务器时,长时间不操作就会断开的解决方案
最近在配置服务器相关内容时候,不同的事情导致长时间不操作,页面就断开了连接,不能操作,只能关闭窗口,最后通过以下命令解决. SSH连接linux时,长时间不操作就断开的解决方案: 1.修改/etc/s ...
- java:ssh连接服务器,实现本地文件上传和下载
1.连接至服务器:ssh hp@10.10.17.16 -p 5555 下载文件:scp -r hp@10.10.17.16:/ccc(服务器路径,文件夹下所有文件) /path(本地路径) ...
- git使用ssh连接服务器
git如何连接服务器呢? $ ssh -p 22 root@服务器ip 解释:ssh -p 端口号 登录的用户名@IP
- ssh连接服务器
1.命令行操作 第一步输入 :ssh 用户名@服务器外网ip 第二步:输入密码,回车 看到welcome提示信息即为登陆成功 输入:exit 退出 2.客户端操作 windows下载ssh软件,安装 ...
随机推荐
- Linux C 获取本机IPV4和IPV6地址列表
有时候设备网卡上有多个IPv6,其中只有一个是可用的,另外一个是内网地址,无法使用,如果程序需要绑定一个V6地址的时候,需要获取网卡上的V6地址,并且要求是可用的. 通过ifconfig可用看到,et ...
- C# 利用反射模拟多态效果
public class A { } public class B : A { } public class C : A { } public static class Extension { pub ...
- Evaluate Division——LeetCode进阶路
原题链接https://leetcode.com/problems/evaluate-division/ 题目描述 Equations are given in the format A / B = ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(4)
1.问题描述: LoginWithHuaweiIDButton不支持深色模式下定制文字和loading样式? 解决方案: LoginWithHuaweiIDButtonParams 中的有个suppo ...
- JAVA基础-跳出循环的4种方式
摘要:介绍4种跳出循环的方式,尤其是其中的break 标签,有时候真的会成为工作中的秘密武器. 在实际编程中,有时需要在条件语句匹配的时候跳出循环.在 Java 语言里,由关键词 break 和 ...
- MySQL 根据时间排序失败
问题背景:MySQL数据库中,如果使用datetime,那其实只是精确到了秒.如果基于它排序并分页查询,若同一秒的数据超过一页,则多次查询得到的结果集可能会出现不一样的灵异事件.SQL: SELECT ...
- Vue3 开发需要安装的工具
Node 和Npm 扩展 node运行时和node包管理器 1.node.js.npm 处理TypeScript 2.tsc.tsc-node 创建vue3工程 3.create-preset 处理J ...
- Linux服务器(CentOS/Ubuntu)接口Bond模式详解、配置指南及交换机对应接口的配置示例
以下是关于Linux服务器(CentOS/Ubuntu)与交换机对接的接口Bond模式详解.配置指南及交换机配置示例(思科/华为/华三) 的全面说明: 一.Linux Bonding 模式对比 模式 ...
- 高性能且低成本的 Goroutine 池库-Ants
本文分享自天翼云开发者社区<高性能且低成本的 Goroutine 池库-Ants>,作者:李****佳 在 Go 语言中,虽然原生支持并发的 Goroutine 提供了强大的并发能力,但在 ...
- Kubernetes存储-Ceph存储
Kubernetes存储-Ceph存储 原文链接:https://www.qikqiak.com/k8strain/storage/ceph/#_11 简介 Ceph 是一个统一的分布式存储系统,提供 ...