原文地址

https://www.cnblogs.com/Bubgit/p/18829192

实现效果

  • windows显示ubuntu 的 GUI 桌面显示内容, 以wails 项目为例 搭建远程linux 跨平台* 桌面应用程序;
  • 最终效果,在远程ssh连接上开发环境后,可以在本地windows 上看到显示的远程桌面信息,实现远程linux开发GUI程序
  • 同理可以实现Python matplotlib,ROS机器人可视化界面等需要在无GUI环境的linux中调试开发GUI陈旭:

基本原理

  • X11 是一个图形显示协议:X11(也称为 X Window System)是一个用于在计算机上显示图形界面的底层协议。它的主要职责是处理图形的绘制、窗口管理以及输入设备(如键盘和鼠标)的交互;
  • 几乎所有 Linux 上的 GUI 应用程序都基于 X11 构建,确保了广泛的兼容性;
  • X11 的网络透明性使得远程显示图形界面成为可能;

本地环境

windows 10:其他版本暂时没有尝试

VSCode: 需要安装 remote ssh 插件

VcXsrv:作为X11服务器下载地址:https://sourceforge.net/projects/vcxsrv/

远程开发服务器

ubuntu 22

其他自动下载:

注意

本文章仅记录配置x11服务端和客户端的配置,不涉及wails 项目的配置,wails的项目初始化配置请参考其他文章,这里只用于示例远程显示Linux 桌面GUI信息

本地windows软件安装配置 如下图

  1. 下载 VcXsrv 安装包,示例版本为:64.1.20.14.0

  2. VcXsrv 安装过程略,一路默认下一步即可;

  3. 配置windows 环境变量, 注意用户变量和系统变量不一定都需要添加,只需要添加环境变量后,在windows shell中可以拿到环境变量即可, DISPLAY: localhost:0.0

  1. 安装完成后,运行Xlaunch -> Multiple windows -> start no client -> Disable access control ;详细步骤如下:

VsCode 配置 如下图

# 安装必要组件
sudo apt install xauth # 安装x11 测试工具
sudo apt install x11-apps # 安装中文支持包 可以不安,不安中文显示乱码
sudo apt install fonts-wqy-zenhei
# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config # 确保以下两行未被注释
X11Forwarding yes
X11UseLocalhost no # 重启SSH服务
sudo systemctl restart sshd # 安装xauth(关键!)
sudo apt install xauth # Debian/Ubuntu
sudo yum install xauth # CentOS/RHEL
  • 启用ssh 的 x11 支持,相当于 ssh -Y user@host
  • 特别注意! 配置完成后要重启 VsCode,否则可能会无法生效,重启的概念是关闭VsCode的所有窗口,再打开,最稳妥的是重启电脑,VsCode老毛病了;

VsCode 重启完成后验证

在 VsCode 连接上远程ssh 服务器后,开一个终端,输入xeyes 或者 xclock 测试能否显示远程服务器的图像:



前置条件,远程服务器的环境变量也能获取到 $DISPLAY 的值是localhost:10.0

注意:远程服务器的$DISPLAY环境变量是

验证业务开发应用 (仅做展示)

wails dev

参考博文:

[1] https://zhuanlan.zhihu.com/p/27155499043

vscode 远程(隧道/ssh) remote 开发 linux 显示远程桌面GUI 配置 SSH X11 服务的更多相关文章

  1. Linux下使用Google Authenticator配置SSH登录动态验证码

    1.一般ssh登录服务器,只需要输入账号和密码.2.本教程的目的:在账号和密码之间再增加一个验证码,只有输入正确的验证码之后,再输入密码才能登录.这样就增强了ssh登录的安全性.3.账号.验证码.密码 ...

  2. Linux多台主机间配置SSH免密登陆

    1.安装ssh.  sudo apt-get install ssh. 安装完成后会在~目录(当前用户主目录,即这里的/home/xuhui)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件 ...

  3. Linux配置ssh服务和XShell连接Linux

    SSH服务查看和安装,配置: https://www.cnblogs.com/qiuqiuqiu/p/6445426.html https://www.cnblogs.com/yunweis/p/77 ...

  4. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

  5. Sourcetree配置ssh密钥 - git图形化工具(二)

    这里主要介绍Sourcetree如何导入已经生成好的ssh私钥,如何生成ssh私钥自行百度. 如果Sourcetree没有配置ssh密钥,克隆时会提示如下错误: 仓库类型:这是一个无效的源路径/URL ...

  6. CiSCO 交换机配置 SSH 登陆

    CiSCO 交换机配置 SSH 登陆 题目:在三层交换机上仅运行 SSH 服务,且用户名和密码的方式登录交换机. (一)了解主机名与域名 ​ 1."主机名" 为该设备的名称 ​ 2 ...

  7. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

  8. Linux使用远程X Server显示图形

    背景 通常我们不希望在服务器上安装图形界面,但有时候有些程序需要图形界面,比如安装oracle的时候.此时,可以配置让Linux使用远程的X Server进行图形界面显示. 首先要明确的是Linux ...

  9. 运维开发:python websocket网页实时显示远程服务器日志信息

    功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用 ...

  10. 使用VS Code配合Remote Development插件连接远程服务器(Mac/Linux+Windows) | Using VS Code with Remote Development Connect to Remote Server (Mac/Linux+Windows)

    最新版VS Code(2019年6月)出了一系列新的插件,包括Remote Development,Remote SSH等,使得用户可以使用VS Code远程连接服务器写代码,方便了协同工作.具体配置 ...

随机推荐

  1. manim边学边做--局部变换

    本次介绍的两个用于变换的动画类:TransformMatchingShapes和TransformMatchingTex. 它们的主要特点是对一组对象或一段文本进行局部变换,适用于复杂的图形或者文本的 ...

  2. CBR云备份与恢复管控简介

    本文分享自天翼云开发者社区<CBR云备份与恢复管控简介>,作者:c****n 1.CBR云备份与恢复介绍 CBR (Cloud Backup & Restore)是一般云厂商提供的 ...

  3. 云主机AI服务的性能测试和优化

    本文分享自天翼云开发者社区<云主机AI服务的性能测试和优化>,作者:无敌暴龙兽在云计算的时代,越来越多的人选择将AI模型部署在云主机上,以便利用云服务提供商的弹性和可扩展性.然而,仅仅将A ...

  4. FreeModbus源码详解(转)

    学习转载原文链接: https://blog.csdn.net/golf_research/article/details/52240739 https://blog.csdn.net/u014748 ...

  5. java list集合去重的两种方式

  6. 记一次.NET内存居高不下排查解决与启示

    前情 我们有个海外的项目,一共70个服务,前前后后花了超过一年时间完成了云服务迁移和架构调整.主要是架构调整了,原来的docker swarm托管服务,新架构改为Kubernetes托管.几台云服务器 ...

  7. 获取Typora激活码的方法主要有以下几种

    ‌官方购买‌:访问Typora官网下载Typora软件.请注意,官网下载版本需购买激活,否则仅有15天试用期.购买费用为89元‌ 1. ‌使用激活工具‌:可以通过下载特定的激活工具来获取激活码.具体步 ...

  8. C# 泛型类型约束 where

    1 class Program { 2 static void Main(string[] args) { 3 4 } 5 } 6 7 interface IMyInterface { 8 void ...

  9. 腾讯元宝登顶App Store免费榜榜首!国产AI APP混战升级

    最近,国产AI APP市场热闹非凡,竞争愈发激烈.其中,腾讯元宝的表现格外亮眼,它在短短一周内,借助微信的强大助力,一路逆袭,成功登上苹果App Store免费榜榜首.这一变化不仅展现了腾讯在AI领域 ...

  10. ChatBI≠NL2SQL:关于问数,聊聊我踩过的坑和一点感悟

    "如果说数据是新时代的石油,智能问数就是能让普通人也能操作的智能钻井平台." 这里是**AI粉嫩特攻队!** ,这段时间真的太忙了,不过放心,关于从零打造AI工具的coze实操下篇 ...