给Windows 自带的SSH配置X11

1.安装

Windows的Xserver很多如:XmingVcXsrv。Xming和VcXsrv都是X服务器软件,允许在Windows系统上运行Linux图形界面应用程序。它们的关系可以从以下方面概括:

  1. 历史渊源
    Xming最初由Colin Harrison于2004年开发,基于X.Org Server和Cygwin。
    VcXsrv起源于Xming的老版本,由Thomas Tempelmann于2011年接手开发,改用Visual C++构建,脱离了Cygwin依赖。
  2. 技术实现
    Xming使用MinGW构建,依赖Cygwin的UNIX模拟层。
    VcXsrv使用Visual Studio构建,原生运行于Windows,性能和稳定性更优。
  3. 功能特性
    共同点:支持X11协议、多窗口、多屏幕显示。
    差异点:VcXsrv支持剪贴板共享、拖放操作和TLS加密,配置更灵活。Xming则以轻量简洁见长。
  4. 发展现状
    Xming早期版本代码托管于SourceForge,更新缓慢,最新版本停止了GPL授权,需捐赠才能下载
    VcXsrv开发活跃,持续更新,代码托管于SourceForge,似乎有个更活跃的衍生版本托管在GitHub上

综上,VcXsrv可视为Xming的衍生改进版,提供了更好的兼容性和功能扩展。用户可根据需求选择:Xming适合基础轻量需求,VcXsrv更适合需要高级功能和安全性的场景。我为求轻量安装了旧版Xming:

PS C:\Users\U> winget search Xsrv
名称   ID           版本      源
-------------------------------------
VcXsrv marha.VcXsrv 21.1.16.1 winget
PS C:\Users\U> winget search xming
名称  ID          版本     源
----------------------------------
Xming Xming.Xming 6.9.0.31 winget
PS C:\Users\U> winget install xming

运行结束会安装Xming和Xlaunch两个应用。

设置

  1. 设置Xming
    运行Xlaunch,按如下选项逐步设置
    Xming-P1
    Xming-P2
    Xming-P3
    Xming-P4

  2. 设置环境变量DISPLAY:

PS C:\Users\U> echo $env:DISPLAY
PS C:\Users\U> setx DISPLAY "localhost:0.0"
#Ctrl + Shift + N或T打开新窗口或者标签页
PS C:\Users\U> echo $env:DISPLAY
localhost:0.0
  1. 测试X11
    登录远程服务器时启用X11Forwrding:
    A. 临时启用:使用ssh -X(安全模式)或者ssh -X(信任模式)登录服务器
PS C:\Users\U> ssh -X U@192.168.XX.XX
PS C:\Users\U> ssh -Y U@192.168.XX.XX

B. 永久启用:在config中设置参数

PS C:\Users\U> edit C:\Users\U\.ssh\config
# ~/.ssh/config, 自行替换相关信息
Host remotehost
   HostName 192.168.XX.XX
   User U
   ForwardX11 yes #安全模式
   ForwardX11Trusted yes #信任模式
# Ctrl+S保存,Ctrl+Q退出,如果不放心可以检查一下:
PS C:\Users\U> Get-Content -Path "~\.ssh\config" | findstr X11
    ForwardX11 yes #设置了安全模式的输出
    ForwardX11Trusted yes #设置了信任模式的输出
#没问题就可以登录了
PS C:\Users\U> ssh remotehost

登陆成功后运行有窗口的服务器应用,这里以gs为例:

[U@remotehost ~]$ gs
GPL Ghostscript 9.54.0 (2021-03-30)
Copyright (C) 2021 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
GS>quit
[U@remotehost ~]$

没有报错,在本地能收到X11窗口,测试成功!

posted @ 2025-09-13 14:57  天文圈打工人  阅读(210)  评论(0)    收藏  举报