Windows Terminal 使用 SSH X11 转发

Windows Terminal 使用 SSH X11 转发
lololowe什么是 X11?推荐看鸟哥的教程:http://cn.linux.vbird.org/linux_basic/0590xwindow.php
1. 安装 X11 服务器
下载并安装 VcXsrv Windows X Server:https://sourceforge.net/projects/vcxsrv/files/latest/download
2. 配置 X11 转发
安装后会在桌面生成 XLaunch 快捷方式,双击运行,一直点“下一页”,直到出现“Save configuration”按钮,然后点击它,把配置文件(config.xlaunch)保存在桌面。最后点击“完成”按钮,X Server 就会后台运行(最小化在系统托盘或者任务栏):
为了让 X Server 能开机自动运行,需要将桌面上的 config.xlaunch 文件复制到 C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
目录下:
为了能让 SSH 客户端确定 X11 服务器的地址,还需要设置环境变量 DISPLAY
,参考以下命令:
1 | :: 设置永久环境变量 |
3. 确认效果
在 Windows Terminal 中使用 -Y
参数连接 SSH 服务器:
输入 xcalc
命令,如果弹出计算器并可点击,则说明 X11 转发配置成功:
除了
xcalc
,还有其他一些小工具可以用来测试 X11 转发效果:xeyes
、xlogo
、bitmap
等等。可以输入dpkg -L x11-apps | grep bin
命令来查看更多可用的 X11 应用程序。如果提示x11-apps
不存在,可以使用sudo apt install -y x11-apps
命令来安装。
4. 优化配置
- 如果经常使用 X11 转发,可以将配置写入 SSH 客户端配置文件中:
1 | host * |
- 切换用户后继续使用 X11 转发
X11 转发默认只对 SSH 登录上去的用户生效,后续如果切换用户,X11 转发就会失效:
为了解决这个问题,可以使用以下命令来允许某个用户使用X11转发:
1 | xauth -f ~用户名/.Xauthority add $(xauth list | tail -1) |
缺点是每次SSH登陆后都需要重新执行这条命令。