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

【GUI】ssh实现gui本地可视

好的,您可以通过设置X11转发(X11 forwarding)来实现从Windows客户端弹出Ubuntu系统中的GUI界面。这使得您可以在Windows上直接运行和查看Ubuntu服务器上的图形化应用程序。

以下是详细的设置步骤,分为Ubuntu服务器端和Windows客户端两部分:

第一步:配置您的Ubuntu服务器

您需要在Ubuntu服务器上启用X11转发功能,这通常是通过修改SSH服务的配置文件来完成的。

  1. 安装OpenSSH服务器
    如果您的Ubuntu服务器尚未安装SSH服务,请打开终端并执行以下命令:

    sudo apt update
    sudo apt install openssh-server
    
  2. 修改SSH配置文件
    接下来,您需要编辑SSH服务的配置文件 /etc/ssh/sshd_config。您可以使用任何文本编辑器,例如 nanovim

    sudo nano /etc/ssh/sshd_config
    

    在文件中找到并确保以下几行的设置如下,如果它们被注释掉了(前面有#号),请去掉#号并修改:

    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost yes
    

    有些教程可能还会建议修改 ForwardX11Trusted yesForwardAgent yes,但通常仅 X11Forwarding yes 是必需的。

  3. 重启SSH服务
    修改并保存配置文件后,您需要重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    

第二步:配置您的Windows客户端

在Windows客户端,您需要两样东西:一个X Server程序来接收和显示图形界面,以及一个支持X11转发的SSH客户端。

安装X Server

Windows本身没有内置的X Server,因此您需要安装一个第三方软件。 两个常用的免费选项是 VcXsrvXming。这里以 VcXsrv 为例,因为它相对较新且易于使用。

  1. 下载并安装VcXsrv

    • 您可以从其官方网站(例如在SourceForge上)下载VcXsrv的安装程序。
    • 安装过程非常直接,通常只需接受默认设置即可。
  2. 启动X Server (XLaunch)

    • 安装完成后,从开始菜单或桌面快捷方式启动 XLaunch
    • 启动后会出现一个配置向导,您可以按照以下建议进行设置:
      • Display settings: 选择 “Multiple windows”。
      • Client startup: 选择 “Start no client”。
      • Extra settings: 可以保留默认设置,例如勾选 “Clipboard” 以共享剪贴板。
      • Finish configuration: 点击 “Finish” 完成配置并启动X Server。
    • 启动后,您会在Windows的任务栏通知区域看到VcXsrv的图标,这表示X Server正在运行。
使用SSH客户端连接

现在,您需要使用一个SSH客户端来连接到您的Ubuntu服务器,并启用X11转发。这里提供两种常用SSH客户端的设置方法:PuTTYWindows PowerShell (内置SSH)

方法一:使用PuTTY
  1. 下载并安装PuTTY
    如果您还没有安装PuTTY,可以从其官方网站下载。

  2. 配置PuTTY会话

    • 打开PuTTY。
    • Session 类别中,输入您的Ubuntu服务器的IP地址或主机名。
    • 在左侧的配置树中,导航到 Connection -> SSH -> X11
    • 勾选 Enable X11 forwarding
    • (可选)在 X display location 中可以留空,或者输入 localhost:0
    • 返回到 Session 类别,为您的配置输入一个名称并点击 Save,以便将来快速加载。
    • 点击 Open 按钮以建立连接。
方法二:使用Windows PowerShell或命令提示符 (CMD)

Windows 10和Windows 11内置了OpenSSH客户端,您也可以直接使用它。

  1. 打开PowerShell或命令提示符

  2. 使用带有 -X 参数的SSH命令进行连接

    ssh -X your_username@your_server_ip
    

    请将 your_username 替换为您在Ubuntu服务器上的用户名,将 your_server_ip 替换为服务器的IP地址。

第三步:运行图形化应用程序

  1. 通过您选择的SSH客户端成功登录到Ubuntu服务器后,您现在可以在终端中直接运行图形化应用程序的命令。
  2. 例如,您可以尝试运行一些简单的GUI程序来进行测试:
    • xeyes: 一个会跟随您鼠标指针移动的眼睛动画。
      xeyes
      
    • gedit: 一个简单的文本编辑器。
      gedit
      
    • firefox: 启动火狐浏览器。
      firefox
      

当您在SSH终端中输入这些命令后,稍等片刻,这些应用程序的GUI界面就会以独立窗口的形式出现在您的Windows桌面上。

通过以上步骤,您就成功地将Ubuntu服务器的GUI界面“弹出”到了您的Windows客户端上

http://www.dtcms.com/a/332327.html

相关文章:

  • 公司的服务器怎么个事,服务器是什么东西
  • 系统思考:情绪内耗与思维模式
  • 开源长期记忆 短期记忆 框架调研对比19999字
  • 4.4 vue3生命周期函数
  • 解决在uniapp真机运行上i18n变量获取不到问题
  • Vue2与Vue3生命周期函数全面解析:从入门到精通
  • 【测试用例】
  • Qt 常用控件 - 9
  • 小兔鲜儿-小程序uni-app(二)
  • 手机端的音视频界面或者图片文档界面共享给大屏
  • 从源码到可执行文件:hello.c 的二进制之旅
  • Java项目基本流程(四)
  • 基于阿里云音频识别模型的网页语音识别系统实现
  • 人工智能与社会治理:从工具到生态的范式重构
  • spring中异步任务注解@Async和@scheduled的使用
  • Redis核心应用场景及代码案例
  • 璞致fpga Zynq UltraScale Plus RFSoC PZ-ZU47DR 核心板与开发板用户手册
  • StringBoot-SSE和WebFlux方式消息实时推送-默认单向-可增加交互接口
  • 力扣 hoot100 搜索二维矩阵
  • Unity 绳子插件 ObjRope 使用简记
  • 从应用场景看国产化FPGA潜力,紫光同创研讨会武汉·北京站回顾
  • Java面试实战系列【并发篇】- Semaphore深度解析与实战
  • 算法学习远程访问:借助 cpolar 内网穿透服务使用 Hello-Algo
  • Spring IOC容器在Web环境中的启动奥秘:深入源码解析
  • 【自动驾驶】自动驾驶概述 ② ( 自动驾驶技术路径 | L0 ~ L5 级别自动驾驶 )
  • 流处理、实时分析与RAG驱动的Python ETL框架:构建智能数据管道(上)
  • 分布式锁:从理论到实战的深度指南
  • 用屋顶模型定制光伏,设计更高效!
  • C#Encoding
  • 论文阅读:基于大语言模型的多机器人任务分配与调度的自动 MILP 模型构建