关于 VScode 无法连接 Linux 主机并报错 <未能下载 VScode 服务器> 的解决方案

1. 出现的情况

VScode 远程登录 Linux 主机, 出现一下报错:
在这里插入图片描述

2. 检查方案

2.1 VScode 方面

菜单栏: 点击 <帮助> →\to 点击 <关于>
在出现的弹窗中记录 [提交: ] 之后的字符串
(暂且将该字符串命名为变量 $commit_id)

2.2 Linux 方面

使用 ssh or MobaXterm 远程登录 Linux端; 并在 ~/.vscode-server/ 中查看是否存在文件夹 code-$commit_id/
若没有, 执行以下操作

3. 安装需要

编译一个 <随便什么东西>.sh (该 .sh 中的 $commit_id 就是 2.1 中获取的那串字符串):

# 获取你想安装的 VS Code 版本对应的 commit id
COMMIT=$commit_id

# 下载并解压
curl -L https://update.code.visualstudio.com/commit:${COMMIT}/server-linux-x64/stable \
  | tar -xz -C ~/.vscode-server

# 目录结构会自动变成 ~/.vscode-server/code-${COMMIT}/

运行该 .sh 之后重新进行 vscode 的远程登录测试

VSCode 中遇到 `#include <linux/fb.h>` 报错的问题,通常是因为编译器无法找到该头文件的路径。`<linux/fb.h>` 是 Linux 内核提供的头文件,通常不会直接包含在标准的用户空间开发环境中。要解决这个问题,需要确保开发环境中有内核头文件,且在 VSCode 的配置中正确设置包含路径。 ### 解决方案 1. **安装内核头文件** 在大多数 Linux 发行版中,`<linux/fb.h>` 属于内核头文件的一部分。你需要确保系统中已经安装了对应版本的内核头文件包。例如,在基于 Debian 的系统上,可以使用以下命令安装: ```bash sudo apt-get install linux-headers-$(uname -r) ``` 这将安装当前运行内核版本对应的头文件[^1]。 2. **确认头文件位置** 安装完成后,可以通过以下命令查找 `fb.h` 的具体路径: ```bash find /usr/include -name fb.h ``` 通常情况下,该文件会位于 `/usr/include/linux/fb.h` 或 `/usr/include/x86_64-linux-gnu/linux/fb.h` 等路径下。 3. **配置 VSCode 的包含路径** 在 VSCode 中,需要配置 C/C++ 扩展以识别该头文件的路径。编辑 `.vscode/c_cpp_properties.json` 文件,添加对应的包含路径。例如: ```json { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/usr/include", "/usr/include/x86_64-linux-gnu" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 } ``` 根据实际系统路径调整 `includePath` 中的条目,确保包含 `linux/fb.h` 所在的目录[^1]。 4. **检查编译器标志** 如果使用 `g++` 或 `gcc` 编译程序,确保在编译命令中添加了正确的 `-I` 选项,例如: ```bash g++ -I/usr/include/x86_64-linux-gnu -o myapp myapp.cpp ``` 这样可以确保编译器在指定路径中查找头文件。 5. **交叉编译环境的特殊处理** 如果是在交叉编译环境中使用,例如为嵌入式设备编译程序,则需要确保目标平台的内核头文件已正确安装,在编译命令和 VSCode 配置中指定目标架构的头文件路径。例如,如果使用的是 ARM 架构的目标平台,可能需要添加如下路径: ```json "/opt/toolchain/arm-linux-gnueabi/include" ``` 同时,在编译时使用对应的交叉编译器路径和标志。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值