VsCode远程开发调试-X11转发图形界面
在 Windows 上通过X11转发 Linux 上的图形用户界面,这样就能直接在 Windows 端运行 Linux 端的图形用户界面程序和打开 Linux 上安装的 Qt Designer。
前言
因为 Windows 程序的的二进制文件为PE文件,Linux 程序的二进制文件为ELF文件,所以两者不能执行对方平台编译的程序;这就引发一个问题:
Windwos 上安装 VsCode 通过SSH远程虚拟机中的 Linux 进行调试只能在主机(Windows)端的终端中显示远程机(Linux)的控制台程序内容,不能运行远程机(Linux)的图形用户界面程序,也不能打开 Qt Designer 进行 Qt 界面设计。
解决方法有两个:
1. 在 Windows 上通过X11转发 Linux 上的图形用户界面,这样就能直接在 Windows 端运行 Linux 端的图形用户界面程序和打开 Linux 上安装的 Qt Designer。
2. 在 Linux 端启动图形用户界面,通过 Windows 端的 VsCode 附加到 Linux 端的图形界面进程进行调试。
这里着重介绍第一种方法的配置步骤:
1. Windows 端安装并启用 x11 服务器
1.1 使用 XMing
参考:G:\0_Code\笔记\开发工具\文档\XMing\XMing下载安装步骤.docx
1.2 使用 Vcxsrv
参考:G:\0_Code\笔记\开发工具\文档\Vcxsrv\下载安装启动Vcxsrv步骤.docx
推荐使用 Vcxsrv,因为 XMing 启动 Qt Designer 会一闪而过。
2. 主机端(Windows) VsCode 安装插件:Remote X11;并通过插件扩展安装远程 VsCode Remote X11(SSH) 插件。
3. 在 VsCode 的SSH配置文件(.ssh/config)中添加以下内容:
# 开启X11转发功能
ForwardX11 yes
# 将X11转发标记为“可信”,允许设置DISPLAY环境变量
ForwardX11Trusted yes
4. 在主机(Windows) VsCode 中按"Ctrl + ," 打开设置,在搜索框中输入 remote.SSH.enableX11Forwarding,找到该选项并勾选。
5. 主机(Windows)启动 VsCode,通过SSH远程连接虚拟机(Linux)。确保连接成功且 Remote X11 和 Remote X11(SSH) 插件不报错误。
说明:公司的电脑的私钥文件需要指定秘钥类型和位长度。
操作:主机(Windows)打开 cmd,输入命令:ssh-keygen -t rsa -b 2048,按照提示,一路回车生成。
6. 测试 x11 转发是否启动成功
启动 VsCode,通过SSH远程连接 Linux,按 "ctrl +`" 打开一个终端,输入命令:echo $DISPLAY,如果返回 localhost:10.0,说明已成功转发X11。
7. 这样就可以在 Windows 端的 XLaunch 窗口中运行 Linux 中的图形界面程序和启动 Qt Designer 了。
更多推荐



所有评论(0)