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

使用WSL通过SSH连接并运行图形界面程序

使用WSL通过SSH连接并运行图形界面程序

      • 1. 在Windows上安装X服务器
      • 2. 配置并启动VcXsrv
      • 3. 在WSL Ubuntu中设置DISPLAY变量
      • 4. 从WSL Ubuntu连接到远程服务器
      • 5. 在远程服务器上设置DISPLAY变量
      • 6. 测试X11转发
      • 7. 运行您的安装程序
      • 注意事项

在Windows Subsystem for Linux (WSL) 上的Ubuntu系统中,通过SSH连接到远程Linux服务器并运行图形界面程序需要进行一些特殊设置。以下是详细的步骤:

1. 在Windows上安装X服务器

由于WSL本身没有图形界面,需要在Windows上安装一个X服务器。VcXsrv是一个不错的选择。

  • 下载并安装VcXsrv:下载链接

2. 配置并启动VcXsrv

  • 运行XLaunch(VcXsrv的启动程序)
  • 选择"Multiple windows"
  • 在"Display number"中输入0
  • 选择"Start no client"
  • 在额外设置中,确保选中"Disable access control"
  • 保存配置以便将来使用

3. 在WSL Ubuntu中设置DISPLAY变量

打开WSL Ubuntu终端,添加以下行到您的 .bashrc 文件中:

# 获取主机IP
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0# 允许来自本地主机的连接
export LIBGL_ALWAYS_INDIRECT=1

保存文件并运行 source ~/.bashrc 使更改生效。

4. 从WSL Ubuntu连接到远程服务器

使用以下命令连接到远程服务器,启用X11转发:

ssh -X username@remote_server

或者,

wsl -d Ubuntu-24.04 --user oracle

或者使用更安全的选项:

ssh -Y username@remote_server

5. 在远程服务器上设置DISPLAY变量

通常SSH会自动处理这个,但如果遇到问题,可以手动设置:

export DISPLAY=localhost:10.0

6. 测试X11转发

在远程服务器上运行一个简单的图形程序来测试:

xclock

如果一切正常,您应该在Windows桌面上看到一个时钟窗口。

7. 运行您的安装程序

现在您可以运行需要图形界面的安装程序了。例如:

/path/to/installer/runInstaller

注意事项

  • 确保Windows防火墙没有阻止VcXsrv。
  • 如果遇到性能问题,考虑使用压缩选项:ssh -X -C username@remote_server
  • 某些企业环境可能出于安全原因禁用X11转发。在这种情况下,您可能需要考虑使用VNC或其他远程桌面解决方案。

如果您在设置过程中遇到任何问题,或需要更详细的解释,请随时告诉我。我很乐意提供进一步的帮助。


希望这篇文章对您有所帮助。如果有任何问题或需要进一步的指导,请在评论区留言。谢谢阅读!

相关文章:

使用WSL通过SSH连接并运行图形界面程序

使用WSL通过SSH连接并运行图形界面程序 1. 在Windows上安装X服务器2. 配置并启动VcXsrv3. 在WSL Ubuntu中设置DISPLAY变量4. 从WSL Ubuntu连接到远程服务器5. 在远程服务器上设置DISPLAY变量6. 测试X11转发7. 运行您的安装程序注意事项 在Windows Subsystem for Linux (WSL) 上…...

柳湛宇-简历

...

6-1 从全连接层到卷积

我们之前讨论的多层感知机十分适合处理表格数据,其中行对应样本,列对应特征。 对于表格数据,我们寻找的模式可能涉及特征之间的交互,但是我们不能预先假设任何与特征交互相关的先验结构。 此时,多层感知机可能是最好的…...

【Android Studio】项目目录结构

文章目录 常用视图Android视图project视图 gradlebuild.gradleSDK 路径主题入口程序 常用视图 Android视图 project视图 gradle build.gradle SDK 路径 主题 入口程序...

electron-builder打包vue2项目问题合集

一、打包之后不显示elecmentui的图标 1、使用版本 vue ^2.6.14element-ui ^2.15.14vue-cli-plugin-electron-builder 2.1.1 2、解决办法 1) 如果是简单的图标可以使用图片代替(这种对于elementui组件的图标还是不会显示) 2)在v…...

5行代码快速Git配置ssh

0 流程步骤 检查本地主机是否已经存在ssh key生成ssh key获取ssh key公钥内容(id_rsa.pub)复制该内容,到Github账号上添加公钥,进入Settings设置验证是否设置成功 1 代码 # 1.检查本地主机是否已经存在ssh key cd ~/.ssh ls # …...

气相色谱检测常见问题和实战案例分享-测试狗

气相色谱检测常见问题和实战案例分享 气相色谱GC是一种高效、灵敏的分离和分析技术,广泛应用于石油化工、环境保护、食品安全、药物分析等领域;在使用气相色谱进行检测时,可能会遇到一些常见问题,本文将分享一些实战案例&#xff…...

一文学会CUDA编程:深入了解CUDA编程与架构(一)

前言: CUDA(Compute Unified Device Architecture,统一计算设备架构)是由NVIDIA公司开发的一种并行计算平台和编程模型。CUDA于2006年发布,旨在通过图形处理器(GPU)解决复杂的计算问题。在早期…...

Jquery判断图片加载失败,显示默认图片

//加载图片 出现404状态时触发 $(img).error(function () { //将加载不到的图片的src属性时,修改成默认图片,注意:默认图片必须保证存在,否则会一直调用此函数,造成死循环。$(this).attr("src", "Imag…...

App 自动化测试调研

App 自动化测试调研 App 自动化测试的价值 App 自动化测试在软件开发过程中扮演着重要的角色,具有以下几个方面的价值: 1.提高测试效率和覆盖率:自动化测试可以执行大量的测试用例,覆盖各种功能和场景,相比手动测试…...

Java 后端已经过时的技术,也是我逝去的青春

最近这段时间收到了一些读者的私信,问我某个技术要不要学,还有一些的同学竟然对 Java 图形化很感兴趣,还想找这方面的工作。 我接触 Java 已近 10多年了,见证了许多 Java 技术变迁,包括: JavaEE 框架&…...

释放自动化测试潜能:性能优化策略与实战技巧!

引言 在当今追求软件快速迭代的环境下,自动化测试的性能瓶颈正成为制约开发流程加速的主要障碍。本文将深入探讨如何通过策略和实践,优化自动化测试的性能,实现测试执行速度的质的飞跃。 自动化性能瓶颈的识别与突破 首先,识别并…...

如何理解代码的跨平台?

跨平台性: 跨平台性意味着,在多个平台都兼容运行 那么是怎么做到跨平台? 一般来说,window的操作系统和Linux的操作系统肯定是不一样的 那么提供的系统调用接口和诸多细节也是不一样的 但是,我们的c语言和c语言&#xf…...

dp:221. 最大正方形

221. 最大正方形 看到这个题目真能立马想到dp吗?貌似很难,即使知道是一个dp题也很难想到解法。 直观来看,使用bfs以一个点为中点进行遍历,需要的时间复杂度为 O ( n 2 m 2 ) O(n^2m^2) O(n2m2) 但是可以很容易发现,…...

花10分钟写个漂亮的后端API接口模板!

你好,我是田哥 在这微服务架构盛行的黄金时段,加上越来越多的前后端分离,导致后端API接口规范变得越来越重要了。 比如:统一返回参数形式、统一返回码、统一异常处理、集成swagger等。 目的主要是规范后端项目代码,以及…...

评估分类机器学习模型的指标

欢迎来到雲闪世界。一旦我们训练了一个监督机器学习模型来解决分类问题,如果这就是我们工作的结束,我们会很高兴,我们可以直接向他们输入新数据。我们希望它能正确地对所有内容进行分类。然而,实际上,模型做出的预测并…...

农机自动化:现代农业的未来趋势

随着人口的增长和农业生产的需求不断增加,提高农业生产效率成为现代农业的重要目标。农机自动化作为一种新兴技术,可以大幅度提升农机的使用效率和生产能力。农机自动化是指利用先进的传感技术、数据处理和人工智能技术,使农机能够自动完成农…...

25考研操作系统复习·1.1/1.2/1.3 操作系统的基本概念/发展历程/运行环境

目录 操作系统的基本概念 概念(定义) 功能和目标 资源的管理者 向上层提供服务 给普通用户的 给软件/程序员的 对硬件机器的拓展 操作系统的特征 操作系统的发展历程 操作系统的运行环境 操作系统的运行机制 中断和异常 中断的作用 中断的…...

如何培养学生的创新意识和实践能力

培养学生的创新意识和实践能力是一个复杂而系统的过程,涉及多个方面的努力和措施。以下是一些具体的做法: 一、培养学生的创新意识 提供创新环境: 为学生创造一个开放、自由、支持创新的学习环境,让他们能够自由地表达自己的想法…...

四、GD32 MCU 常见外设介绍(15)CAN 模块介绍

CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 CAN总线协议已经成为汽车计算机控…...

Data Storage and Computation

Data Storage and Computation 数据存储与计算假设一张表有 3 个字段:id BIGINT(8 字节 / 条) name VARCHAR(20)(实际平均 10 字节 / 条) age TINYINT(1 字节 / 条)单行实际数据占用&#xff1…...

汽车电喷系统间歇性启动故障诊断:从信号缺失到精准修复

1. 故障现象与初步排查:一个“不合常理”的启动问题我父亲打电话来,说他的皮卡又启动不了了,得“灌点油”才能着车。我一听就觉得不对劲,这车是电喷的,又不是化油器老古董,哪有用汽油“灌喉”来启动的道理&…...

3分钟快速上手:SillyTavern如何让你成为AI聊天高手

3分钟快速上手:SillyTavern如何让你成为AI聊天高手 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 你是否厌倦了千篇一律的AI对话界面?想要一个能真正理解你需求、支…...

SAPO Ink UI组件实战:10个常用交互组件快速上手

SAPO Ink UI组件实战:10个常用交互组件快速上手 【免费下载链接】Ink An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping 项目地址: https://gitcode.com/gh_mirrors/ink2/Ink SAPO Ink是一个由SAPO开发的HTML5/…...

SAR ADC性能优化:电压基准设计与THD改善方案

1. 电压基准对SAR ADC性能的影响机制在精密数据采集系统设计中,工程师们常常花费大量精力选择高性能的模数转换器(ADC)和优化输入驱动电路,却容易忽视一个关键因素——电压基准的质量及其驱动能力。对于逐次逼近型(SAR)ADC而言,基准电压的稳定…...

Java集成Gemma大模型:本地推理与生产部署实战指南

1. 项目概述:当Gemma遇上Java 最近在开源社区里,一个名为 mukel/gemma4.java 的项目引起了我的注意。光看这个标题,熟悉AI模型和Java生态的朋友可能已经会心一笑。没错,这个项目直指一个核心痛点:如何让Google最新推…...

OpenSceneGraph 3.6.5 源码编译实战:从依赖配置到项目集成的完整指南

1. 环境准备:搭建编译OSG的基础舞台 在开始编译OpenSceneGraph 3.6.5之前,我们需要先搭建好开发环境。就像盖房子需要打好地基一样,环境配置决定了后续编译过程的顺利程度。我曾在多个项目中编译过不同版本的OSG,发现环境配置不当…...

技术债务的职场政治:谁该为历史遗留问题买单

在软件测试从业者的日常工作中,技术债务是一个绕不开的话题。它像一颗隐藏在代码深处的定时炸弹,随时可能在项目推进的某个节点爆发,引发一系列连锁反应。而当技术债务问题浮出水面时,一场关于“谁该为历史遗留问题买单”的职场政…...

GD32F303硬件I2C实战:手把手教你用AT24C02 EEPROM存储和读取设备配置参数

GD32F303硬件I2C实战:构建工业级参数存储系统 在嵌入式设备开发中,系统参数的持久化存储是个看似简单却暗藏玄机的需求。想象一下,当你的智能温控器经历突然断电后,所有用户设置的日程和偏好全部归零——这种体验足以让产品口碑崩…...

如何自定义查询历史记录面板的展示风格_时间轴样式设计

...