云服务器配置Code-Server环境并运行Python和C++
创始人
2024-03-20 08:20:38
0

目录

  • 1、前言
  • 2、部署流程
    • 2.1 前置准备
    • 2.2 运行docker安装Code-Server
  • 3、运行Code-Server
    • 3.1 配置运行环境
    • 3.2 运行Python
    • 3.3 运行C++

1、前言

  云服务器需要配置C++开发环境,了解到有code-server这个VsCode提供的云端服务,因此选择在云服务器上部署。

2、部署流程

2.1 前置准备

  首先你的服务器需要有docker这个服务,安装教程见VPS配置aliyundriver-webdav以及使用Aria2以及Rclone挂载阿里云盘实现离线下载器。

2.2 运行docker安装Code-Server

docker run -d --name code-server -p 1234:8080 --security-opt seccomp=unconfined --restart=unless-stopped \
-v "/mnt/AliyunDriver/BackUpFiles/VscodeWeb/.config:/home/coder/.config" \
-v "/mnt/AliyunDriver/BackUpFiles/VscodeWeb:/home/coder/project" \
-u "$(id -u):$(id -g)" \
-e "DOCKER_USER=$USER" \
codercom/code-server:latest

  这里注意几个参数-p 1234:8080--security-opt seccomp=unconfined以及--restart=unless-stopped

  • -p是映射端口,将容器中的8080端口映射到主机的1234,后面使用这个端口号,服务器IP:1234的形式就可以访问code-server。
  • –security-opt seccomp=unconfined 允许容器执行全部的系统调用,否则gdb会失效,原因暂时未知。
  • –restart=unless-stopped,让容器除非停止状态的时候停止,其它时刻都重启。
    如果没有配置--security-opt seccomp=unconfined,会导致gdb报下面的错误:
&"warning: GDB: Failed to set controlling terminal: Invalid argument\n"
Unexpected GDB output from command "-exec-run". During startup program exited with code 127.

  有的回答说和export SHELL= /bin/bash有关,在这里是不对的,这里是容器启动的code-server,所以应该和SHELL的环境变量没有太大的关系。

3、运行Code-Server

3.1 配置运行环境

  现在输入ip地址还不能直接进去,服务设置了密码。
  使用下例指令进入docker容器:

docker exec -it code-server bash

  编辑配置文件:

vi ~/.config/code-server/config.yaml

  修改passward。
在这里插入图片描述
  执行docker restart code-server,输入上面配置的IP地址和端口号就可以进去Code-Server服务了。

  进去之后和我们电脑使用的VsCode非常相似,首先安装中文语言包。
  点击插件按钮进入扩展市场,搜索chinese
在这里插入图片描述
  安装下面这个插件,按照提示重启就会变成中文界面。
在这里插入图片描述

3.2 运行Python

  Code-Server运行Python非常简单,新建.py文件后会自动提示下载python和jupyter,基本没什么流程就可以直接运行了,因此这里不重点叙述。
在这里插入图片描述
  需要注意的是jupyter notebook只会显示为空,因为我这里使用的是IP访问,是不安全的,会限制WEB视图以及复制粘贴功能,需要加密证书才可以正常使用。有使用反向代理或者是生成伪证书的方式来处理,这里还没研究,先记录下来。后续选择重新docker部署了jupyter notebook。

3.3 运行C++

  配置C++稍微繁琐一些,首先安装gcc以及gdb。执行:

sudo apt-get update

  然后使用:

sudo apt-get install build-essential gdb

  安装gdb,这里安装的gdb是linux版本的,安装后可以通过gcc -v看到当前gcc 版本。

  环境搭载还需要下载C/C++插件,这个插件在Code-Server上不能自动搜索到,所以通过下面链接下载,下载后通过网页直接传送到Code-Server,然后在文件右键安装扩展VSIX。
C/C++插件下载链接。
在这里插入图片描述

  配置好运行环境之后就可以愉快的写C++了,新增一个.cpp文件后,点击左上角的三条横线,然后选择配置默认环境,选择C/C++:g++ 编译活跃文件,然后vscode会自动生成一个task.json文件。
在这里插入图片描述
  task.json文件我们需要替换为下面这个:

{"version": "2.0.0","tasks": [{"type": "shell","label": "g++ build active file","command": "/usr/bin/g++","args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],"options": {"cwd": "/usr/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}]
}

  内容差不多相同,只需要注意

"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"]

  替换后面为"${fileDirname}/${fileBasenameNoExtension}"
  这时候点击运行C++代码已经会生成可执行文件了。

  然后再配置调试文件lauch.json
在这里插入图片描述
  选择添加gdb调试,会自动生成文件lauch.json。
  我们需要修改的还是类似项目位置,注意修改:
   "program": "${fileDirname}/${fileBasenameNoExtension}"

{"version": "0.2.0","configurations": [{"name": "g++ build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],}]
}

在这里插入图片描述
  可以看到已经正常启动而且能够调试了。

参考文章:

1.如何在 Linux 系统中的 VS Code 上配置 C/C++ 环境

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...