核心内容摘要
Granite-4.0-H-350m在智能法律中的应用:合同分析与生成
在 VSCode 中配置 SSH 并实现 X11 转发Windows、macOS、Linux你需要在VSCode中配置支持X11转发的SSH连接实现远程运行带图形界面的程序、窗口能映射到本地显示的效果核心需要完成本地X11服务搭建、远程服务器SSH配置开启X
VSCode的SSH插件配置三步下面分Windows/macOS/Linux三大系统详细说明Windows是最常用且步骤稍多的场景重点讲解。
前提准备VSCode已安装Remote - SSH插件微软官方的插件IDms-vscode-remote.remote-ssh本地能通过SSH正常连接远程Linux服务器账号、密码/密钥已配置远程服务器是Linux系统X11是Linux/Unix的图形转发协议Windows服务器不适用。
Windows系统本地配置步骤Windows本身没有内置X11服务需要先安装X11服务器软件推荐轻量易用的Xming或VcXsrvVcXsrv是开源免费的更推荐。
步骤1安装并配置VcXsrv本地X11服务下载VcXsrv官网下载直接安装下一步到底即可启动VcXsrv桌面找到XLaunch按向导配置第1步选择Multiple windows多窗口推荐点击Next第2步选择Start no client仅启动X11服务不启动默认程序点击Next第3步取消勾选Native opengl关键勾选会导致部分图形程序闪退勾选Disable access control允许远程服务器连接本地X11否则会权限拒绝点击Next第4步直接点击Finish桌面右下角会出现VcXsrv的图标X形状表示X11服务启动成功。
关键VcXsrv需要一直后台运行关闭则X11转发失效可将XLaunch添加到Windows开机启动避免每次手动打开。
步骤2配置Windows系统环境变量告诉SSH本地X11地址SSH需要通过环境变量DISPLAY知道本地X11服务的地址Windows下配置右键「此电脑」→「属性」→「高级系统设置」→「环境变量」在用户变量中点击「新建」添加变量变量名DISPLAY变量值localhost:
0固定值对应VcXsrv的默认监听端口点击确定保存重启VSCode让环境变量生效重要。
步骤3远程Linux服务器开启X11转发核心配置需要修改服务器的SSH配置文件sshd_config确保X11相关选项开启操作如下远程登录服务器执行命令编辑配置文件需要root权限sudo vi /etc/ssh/sshd_config找到以下配置项修改为对应值如果注释掉了先删除#取消注释X11Forwarding yes # 开启X11转发必须为yes X11UseLocalhost no # 关键Windows下必须设为no否则会端口映射失败 X11DisplayOffset 10 # 可选默认值即可避免端口冲突 AllowTcpForwarding yes # 开启TCP转发X11依赖此选项 PermitTunnel yes # 可选增强转发兼容性保存并退出vi按Esc输入:wq回车重启服务器的sshd服务让配置生效# CentOS/RHEL/Fedora sudo systemctl restart sshd # Ubuntu/Debian sudo service ssh restart验证服务器是否安装X11基础库如果远程没有图形库运行图形程序会报错# Ubuntu/Debian sudo apt install -y x11-apps # 包含xeyes、xclock等测试工具 # CentOS/RHEL/Fedora sudo dnf install -y xorg-x11-apps步骤4VSCode配置SSH连接开启X11转发打开VSCode按F1输入Remote-SSH: Open SSH Configuration File选择用户级配置文件如C:\Users\你的用户名.ssh\config推荐在配置文件中为你的远程服务器添加/修改配置必须加上ForwardX11 yes和ForwardX11Trusted yes# 示例配置按需修改Host、HostName、User、IdentityFile Host my-server # 自定义连接名VSCode中显示的名称 HostName
192.
168.
100 # 远程服务器IP/域名 User root # 远程登录账号 Port 22 # SSH端口默认22 IdentityFile C:\Users\你的用户名\.ssh\id_rsa # 可选密钥登录的私钥路径密码登录可省略 ForwardX11 yes # 核心开启X11转发 ForwardX11Trusted yes # 信任X11转发避免权限问题 ConnectTimeout 30 # 可选连接超时时间保存配置文件按F1输入Remote-SSH: Connect to Host选择上面的my-server输入密码/确认密钥连接远程服务器连接成功后VSCode右下角会显示「SSH: my-server」表示已进入远程开发环境。
步骤5测试X11转发是否生效在VSCode中打开远程终端终端→新建终端默认是远程服务器的终端执行测试命令xeyes会弹出一个跟着鼠标动的眼睛窗口或xclock时钟窗口xeyes如果本地弹出对应的图形窗口说明X11转发配置成功如果报错看文末「
常见问题排查」。
macOS系统本地配置步骤macOS内置了X11服务的基础组件但需要安装XQuartz苹果官方的X11实现步骤比Windows简单安装XQuartz官网下载安装后必须重启Mac核心否则X11服务不生效启动XQuartz启动台找到XQuartz打开后会自动运行X11服务无需额外配置远程服务器配置和Windows步骤3完全一致sshd_config中X11Forwarding yesX11UseLocalhost noVSCode SSH配置和Windows步骤4一致配置文件中加上ForwardX11 yes和ForwardX11Trusted yes测试远程终端执行xeyes本地会弹出图形窗口直接生效。
Linux系统本地配置步骤Linux系统本身原生支持X11无需安装额外X11服务步骤最简本地确保安装了X11基础库一般桌面版Linux都自带服务器版执行sudo apt install x11-apps/sudo dnf install xorg-x11-apps远程服务器配置仅需将sshd_config中X11Forwarding yes开启即可X11UseLocalhost可设为yes也可noVSCode SSH配置添加ForwardX11 yes和ForwardX11Trusted yes测试远程终端执行xeyes本地直接弹出图形窗口。
四、
常见问题排查配置失败必看问题1执行xeyes报错Error: Cant open display: localhost:
1
0或DISPLAY is not set原因1本地X11服务未启动WindowsVcXsrv没开macOSXQuartz没开原因2Windows未配置DISPLAY环境变量或未重启VSCode原因3远程服务器sshd_config中X11UseLocalhost设为yesWindows必须设为no解决逐一检查上述三点重启对应服务/VSCode。
问题2执行xeyes报错No protocol specified或Permission denied原因1Windows的VcXsrv未勾选Disable access control原因2VSCode SSH配置未加ForwardX11Trusted yes原因3本地DISPLAY环境变量值错误必须是localhost:
0解决重新配置VcXsrv补全VSCode的SSH配置项。
问题3VSCode连接远程时卡住或X11窗口卡顿原因1网络延迟高X11是基于TCP的图形转发对网络有一定要求原因2VcXsrv勾选了Native opengl解决取消Native opengl使用有线网络或降低远程图形程序的分辨率。
问题4远程服务器执行图形程序本地无窗口但无报错原因远程服务器的DISPLAY环境变量未被正确映射VSCode的SSH插件会自动设置无需手动改解决在远程终端执行echo $DISPLAY查看是否有值如localhost:
1