【毕业设计-0】mobaxterm + remote-ssh + vscode完成远程服务器代码开发环境配置 + vncviewer实现远程桌面可视化
在虚拟机上调试代码所需要的时间太久了,所以可以通过内网连接到实验室的服务器,在服务器上运行代码可以提高调试的效率,本方案利用mobaxterm完成服务器端所需要的环境配置(项目必要的库文件的安装),再利用vscode中的remote ssh插件在自己的电脑上完成项目代码修改调试。
目的:
在虚拟机上调试代码所需要的时间太久了,所以可以通过内网连接到实验室的服务器,在服务器上运行代码可以提高调试的效率,本方案利用mobaxterm完成服务器端所需要的环境配置(项目必要的库文件的安装),再利用vscode中的remote ssh插件在自己的电脑上完成项目代码修改调试。
开发环境准备
a、安装mobaxterm并连接到服务器
MobaXterm(终端工具)下载&安装&使用教程-CSDN博客
b、安装vscode+remote ssh
步骤记录:
1、安装gtsam库文件到服务器:
1.1下载后压缩,点击这里上传到服务器
1.2编译安装(注意线程数的选择):
mkdir ~/downloads
unzip gtsam-4.0.2.zip
cd ~/downloads/gtsam-4.0.2/
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j8
报错:
lhl@eelab-System-Product-Name:~/downloads/gtsam-4.0.2/build$ cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
-- GTSAM_SOURCE_ROOT_DIR: [/home/lhl/downloads/gtsam-4.0.2]
-- GTSAM_BOOST_LIBRARIES: optimized;/usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.71.0;optimized;/usr/lib/x86_64-linux-gnu/libboost_system.so.1.71.0;optimized;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0;optimized;/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.71.0;optimized;/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.71.0;optimized;/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.71.0;debug;debug;debug;debug;debug;debug
-- Could NOT find MKL (missing: MKL_INCLUDE_DIR MKL_LIBRARIES)
-- Found Eigen version: 3.3.7
CMake Error at wrap/CMakeLists.txt:32 (target_link_libraries):
The "debug" argument must be followed by a library.
-- Configuring incomplete, errors occurred!
See also "/home/lhl/downloads/gtsam-4.0.2/build/CMakeFiles/CMakeOutput.log".
See also "/home/lhl/downloads/gtsam-4.0.2/build/CMakeFiles/CMakeError.log".
kimi分析可能是缺少了mkl库(已排除这个原因)
可能是CMakelist文件配置问题(已经解决)
2、LIO-SAM源码上传到服务器的catkin_lio_ws/src下编译
报错:
make[2]: *** [CMakeFiles/lio_sam_imuPreintegration.dir/build.make:63:CMakeFiles/lio_sam_imuPreintegration.dir/src/imuPreintegration.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:549:CMakeFiles/lio_sam_imuPreintegration.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
Invoking "make -j8 -l8" failed
error: #error PCL requires C++14 or above
7 | #error PCL requires C++14 or above
| ^~~~~
这个错误表明你正在尝试编译的项目需要 C++14 或更高版本的支持,但是当前的编译器设置可能不支持 C++14。PCL(Point Cloud Library)是一个流行的开源库,用于处理三维点云数据,它要求使用支持 C++14 特性的编译器。
解决方法:清空代码重新下载创建工作空间后用catkin_make -DCMAKE_CXX_STANDARD=14命令来编译
lhl@eelab-System-Product-Name:~/catkin_lio_ws/src$ cd ..
lhl@eelab-System-Product-Name:~/catkin_lio_ws$ catkin_make -DCMAKE_CXX_STANDARD=14
成功:
3、运行lio-sam
source devel/setup.bash
roslaunch lio_sam run.launch
【毕业设计】LIO-SAM算法部署到ubuntu系统的步骤及问题记录-CSDN博客
根据这篇博客解决运行lio-sam出现的错误
成功:
4、通过VScode 安装remote ssh完成对服务器上代码的编辑
4.1 打开vscode扩展栏搜索remote ssh安装:
4.2:完成服务器ssh连接
参考这位博主@XiaoJ1234567的博客,写的很详细。
VSCode:Remote-SSH插件安装使用 -- 在VSCode中使用SSH_vscode ssh remote-CSDN博客
4.3即可在vscode上编辑服务器端的代码:
左边是vscode可以编辑的代码目录,可以看到与右端mobaxterm显示的服务器端代码目录相对应,表明已经完成远程代码编辑环境的部署。
5、后续将继续更新利用vncviewer实现远程桌面可视化
问题记录:
1、建立连接失败:
原因分析:ubuntu系统没有配置解压软件
你当前的情况说明:
-
~/.vscode-server/bin/
目录不存在,说明 VS Code Server 其实没有成功安装完成或者安装后被删除了。 -
这也解释了为什么手动执行
server.sh
找不到文件。
1. 确认系统时间是否已正确同步
执行:
date
确保时间正确,建议先运行:
timedatectl set-ntp true
如果系统时间差距大,VS Code Server 安装会失败。
2. 清理旧残留(防止缓存干扰)
rm -rf ~/.vscode-server
3. 确认远程系统安装依赖
apt update
apt install -y tar gzip curl bash
4. 确保用户的家目录磁盘空间充足
df -h ~
5. 从本地 VS Code 再次连接,触发重新安装
6. 如果依旧失败,查看远程 SSH 的权限限制
确认 /root/.vscode-server/
路径权限没问题:
ls -ld ~/.vscode-server
以及磁盘是否只读。
7. 尝试用非 root 用户连接测试
root 账号有时候环境变量复杂,建议新建普通用户试试:
adduser vscodeuser
usermod -aG sudo vscodeuser
然后用该用户连接 VS Code Remote SSH。
如果你需要,我可以帮你写一个脚本自动做时间校正、依赖安装和日志抓取,帮助排查。你看要不要?
更多推荐
所有评论(0)