这里选用的是 VMware,当然其他工具也行,就是需要 Linux 这个环境。
首先进入阿里云镜像站,选择 Ubuntu 22.04
镜像进行下载。
下载完成之后随便选择一个不会被删掉的位置就行,下面就打开 VMware 创建新的虚拟机,非常简单,单击 创建新虚拟机
然后选择 安装程序光盘映像文件
,在路径中选择刚刚下载的 Ubuntu 镜像。后面的步骤直接按照默认值,一直往下进行就行。
这里选用 3.35
版本,可以在这里进行下载 all-in-one
版本,这个装起来比较方便。
首先,我们的虚拟机要做一些配置,为了稍后下载软件快一些,我们需要对 apt
的源替换为清华大学的源,Ubuntu 的清华源可以在这个网址中查询到。查好对应版本的镜像源之后,我们需要修改 /etc/apt/sources.list
文件:
# 首先复制一下源文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 修改文件
vi /etc/apt/sources.list
# 更新 apt 软件列表
sudo apt-get update
我们可以从 NS-3 的 Wiki 中找到,配置 3.35
版本的最低要求是需要安装 g++
和 python
:
sudo apt install g++ python
安装之后就需要解压前面下载的 ns-allinone-3.35.tar.bz2
:
tar xjf ns-allinone-3.35.tar.bz2
进入 ns-allinone-3.35
目录,输入 ls
可以查看目录下有个 build.py
文件,我们执行:
./build.py --enable-example --enable-test
接下来会看到编译过程,执行结束后会看到什么模块编译了,什么模块没有编译。如果想确认是否编译完成可以执行脚本:
./waf --run hello-simulator
运行结束之后,会看到 Hello Simulator
的输出。
配置虚拟机的 ssh:
# 安装 sshd
sudo apt-get install sshd
# 启动服务
sudo service sshd start
# 如果 sshd 安装不上,请将 apt 源换成清华源试试
# 仍然不行的话,将 sshd 换成 openssh-server
sudo apt-get install openssh-server
在实体机的 VSCode 上,安装 Remote-SSH
这个插件,然后进行连接配置,
Host ns-3 # 主机名
HostName 192.168.182.129 # 虚拟机 IP 地址
User root # 要登录的用户
虚拟机的 ip 地址可以通过 ip a
得到。
这里用 root 用户登录是因为不用超级用户权限登录的话,文件都会爆红出错。
但是,我们尝试连接的时候,会出现 Permission denied, please try again
这样的提示,需要我们编辑 /etc/ssh/sshd_config
这个文件:
vi /etc/ssh/sshd_config
找到 PermitRootLogin
字段,将其值改为 yes
,重新 ssh 服务,再连接就可以连接上了。
# 重新启动服务
sudo service sshd restart
最后,在 VSCode 中为虚拟机装上 C/C++ 智能提示插件,按 F1
找到 C/C++ 编辑配置(JSON)
在里面将 includePath
字段改为 "${workspaceFolder}/build/**"
这样在加载的时候快一些。配置成功之后,就能得到对代码的智能提示了。
在使用的过程中发现,每次连接都需要输入密码,非常麻烦,所以去搜索了一下怎么自动连接,这是一个办法: 在 Git Bash 下输入以下命令,<Username>
是连接的用户名(例如 root
)<Server IP>
就是虚拟机的 IP (命令中不需要尖括号)
ssh-copy-id -i ~/.ssh/id_rsa.pub <Username>@<Sever IP>
本文最后更新于 2024 年 3 月 5 日