序言 ​
在进行嵌入式 GUI 开发(如使用 Rust 和 Slint)时,通常会面临以下技术挑战:
- 资源限制:嵌入式设备性能有限,编译速度慢且存储空间不足,不适合直接作为开发环境。
- 环境隔离:为了保持本地开发环境的整洁,通常使用 PVE/WSL/Docker 等虚拟化平台部署独立的 Linux 容器进行开发。
VSCode Remote - SSH 提供了便捷的远程开发体验,实现了 “本地编码,云端编译”。然而,Slint 的 “实时预览” (Live Preview) 功能依赖于图形界面显示。虽然配合 SSH X11 转发 可以将远程窗口投射至本地,但 VSCode 的插件机制存在一定的环境隔离,Slint 插件启动的预览进程往往无法正确获取 DISPLAY 环境变量,导致预览窗口无法显示。
本文介绍一种通过 LSP (Language Server Protocol) 代理脚本注入环境变量的方法,以解决该问题。