【VM】VirtualBox安装ubuntu22.04虚拟机

embedded/2025/2/3 9:55:02/

阅读本文之前,请先根据 安装virtualbox 教程安装virtulbox虚拟机软件。

1.下载Ubuntu系统镜像

打开阿里云的镜像站点:https://developer.aliyun.com/mirror/

找到如图所示位置,选择Ubuntu 22.04.3(destop-amd64)系统

Ubuntu 22.04.3(destop-amd64)系统镜像下载连接如下:

https://mirrors.aliyun.com/ubuntu-releases/jammy/ubuntu-22.04.3-desktop-amd64.iso

如果你不需要使用图形化界面,可以选择22.04.3(live-server-amd64)版本,这样系统的运行资源消耗会更低。如果你是新手,还是下载默认的带图形化界面的办法,方便理解和操作。

2.新建虚拟机

2.1 新建和选择镜像

在virtulbox中,ubuntu可以被快速安装

按下图所示,选择下载好的系统镜像,并创建一个新的文件夹作为虚拟机的安装目录。virtulbox检测到我们需要安装的系统是Ubuntu,可以执行快速安装

linux_34">2.2 设置linux用户名和密码

输入你的linux用户名和密码,主机名可以修改,也可以不改。

2.3 硬件资源选择

进入硬件选择界面,如果你不知道怎么选,直接无脑拉到绿色条条的末尾即可(即使用宿主机一半的系统资源)。

请注意,如果你的宿主机本身的内存只有8GB,则不建议安装虚拟机,会卡的要死的哦~

这里我选择了8cpu(即八核心)和8gb内存,足够使用了。

2.4 磁盘容量选择

进入磁盘选择,这里建议至少拉到40GB(不会一次性占满你的硬盘的,而是用多少占用多少),避免后续还需要复杂的扩容操作。

2.5 完成创建

虚拟机会自动创建并立即启动,自动进行Ubuntu的初始化设置。

如图,这都是在进行Ubuntu的初始化,不需要我们手动操作。

下图界面并不是安装完成的界面,后台还在跑ubuntu的初始化设置。整个流程会有点耗时的。

安装流程最后还会下载一些软件,耐心等待哦~

2.6 OK!

走到下图所示的用户界面,就代表你的Ubuntu虚拟机已经安装完成了。

不需要自己操作初始化,你就拥有了一个Ubuntu虚拟机,很是方便!

点击该用户,键入你最初在本文2.2步中设置的Linux用户的密码,即可进入Ubuntu的桌面。

刚开始会弹出这个引导界面,全部点skip,不用管他。(这个引导界面很容易卡住。如果提示你程序未响应,你就点force quit强制退出就行了)

3.C++环境配置

因为本站博客是基于CentOS8的,这里简单说一下如何在Ubuntu上配置基础的C++编程环境。

在Ubuntu的桌面上右键,open in terminal,打开Ubuntu的系统终端。

3.1 无法打开终端 解决办法

我就遇到了这个问题,右键打开终端没有反应。参考这篇博客解决  VirtualBox Ubuntu22.10 Terminal无法打开虚拟机打不开终端-CSDN博客

CTRL + ALT + F3 进入命令行模式(需要返回桌面时CTRL + ALT + F1)

先登录到root用户来执行这些命令,会方便一点。这里会提示你要输入密码,输入的就是你当前设置的子用户的密码。在Linux中输入密码是不会有*回显的,盲打就行。

执行如下命令。默认情况下你的宿主机和虚拟机没有配置剪贴板互通,所以需要你自己把这些命令敲上去。

sudo nano /etc/default/locale

locale这个文件长下面这样

用方向键移动光标,把文件中所有的 en_US 改成 en_US.UTF-8

ctrl+x保存退出,下面的选项选择Y

会进入如下界面,让你选择写入哪一个文件。这里直接回车就行。

然后再执行下面两个命令。

sudo locale-gen --purge
sudo reboot

等待虚拟机重启后,会回到图形化界面,此时应该就能正常通过右键打开图形化界面中的终端了。

3.2 设置sudoers

因为默认情况下我们的子用户是没有sudoer的权限的,如下图,执行sudo命令会显示muxue is not in sudoers file

每次执行sudo命令都会让你输入当前用户的密码

需要给子用户添加权限,在终端中su -进入root用户,这里需要输入子用户的密码,就能进入root用户,如下图。

进入root用户后,还是用nano编辑器来编辑sudoers配置文件

sudo nano /etc/sudoers

使用方向键,找到下图位置,在后续追加一行子用户的配置就行了

比如我的子用户名字是muxue,就是像下面这样修改

然后CTRL+X退出文件,再按Y、按回车,退出编辑器,即完成了配置文件的修改。

此时子用户执行sudo命令的时候就不会出现报错了。可以正常安装软件了。

3.3 安装gcc和vim

只需要安装GCC/G++编译器就行了,理论上Ubuntu22.04已经自带了这两个编译器。
顺带一提,在Linux中复制粘贴的快捷键是 ctrl+insert/shift+insert

在Linux内部终端执行如下两个命令,这两个命令需要分开执行!不能一次性全写入哦。

sudo apt -y update && sudo apt -y upgrade
sudo apt install -y vim git gcc

安装过程中应该不会出现ERROR提示(出现了代表有问题),安装成功会提示 successfully installed gcc 之类的。如果提示 gcc is already the newest version 代表gcc本来就已经安装好了,不需要额外安装。

安装完毕后,只要gcc命令有输出版本号的结果,那么gcc/g++就是安装好了(这两个命令是一套的)。

gcc --version

你可以百度学习vim编辑器的使用办法,尝试用gcc在Linux下编译C语言程序。

当然,还有一个更简单的办法,是直接在Ubuntu的应用商店里面下载vscode,在vscode中下载C++插件。即可像之前学习C/C++ 一样,在图形化界面中编辑.c.cpp文件,再使用命令行的gcc命令进行编译。

3.4 尝试编译

gcc的基本编译语句如下,假设在当前目录下,你有一个test.c源文件,执行如下命令即可编译成可执行文件test

gcc test.c -o test

如果编译成功,命令行上将不会有任何输出。

使用如下命令执行可执行文件test

./test

请注意,gcc是给c语言用的,仅可以编译C语言代码。如果要编译C++代码,请一定要使用g++命令 (基础编译选项和gcc命令完全相同)

g++ test.cpp -o test

这就是在Linux下编译运行C++代码的最基础操作!

4.调整虚拟机窗口大小

在Ubuntu系统中右键,display settings,设置Ubuntu系统的显示分辨率就行了。

CTRL+F,可以进入虚拟机全屏模式。(相同快捷键退出全屏模式)


http://www.ppmy.cn/embedded/159157.html

相关文章

Android学习制作app(ESP8266-01S连接-简单制作)

一、理论 部分理论见arduino学习-CSDN博客和Android Studio安装配置_android studio gradle 配置-CSDN博客 以下直接上代码和效果视频,esp01S的收发硬件代码目前没有分享,但是可以通过另一个手机网络调试助手进行模拟。也可以直接根据我的代码进行改动…

如何使用 DeepSeek API 结合 VSCode 提升开发效率

引言 在当今的软件开发领域,API 的使用已经成为不可或缺的一部分。DeepSeek 是一个强大的 API 平台,提供了丰富的功能和数据,可以帮助开发者快速构建和优化应用程序。而 Visual Studio Code(VSCode)作为一款轻量级但功…

讯飞绘镜(ai生成视频)技术浅析(四):图像生成

1. 技术架构概述 讯飞绘镜的图像生成技术可以分为以下几个核心模块: 文本理解与视觉元素提取:解析脚本中的场景描述,提取关键视觉元素(如人物、场景、物体等)。 视觉元素生成:根据文本描述生成具体的视觉元素(如人物、场景、物体等)。 分镜画面生成:将视觉元素组合成…

React 19 新特性探索:提升性能与开发者体验

React 作为最受欢迎的 JavaScript 库之一,不断推陈出新,以满足日益复杂的应用开发需求。React 19 的发布,为开发者带来了一系列令人振奋的新特性和改进,旨在全方位提升应用性能、开发效率以及用户体验。接下来,让我们深…

深度学习 Pytorch 神经网络的损失函数

本节开始将以分类神经网络为例,展示神经网络的学习和训练过程。在介绍PyTorch的基本工具AutoGrad库时,我们系统地介绍过数学中的优化问题和优化思想,我们介绍了最小二乘法以及梯度下降法这两个入门级优化算法的具体操作,并使用Aut…

TypeScript 学习 -代码检查工具 eslint

代码检查工具 尽管 TypeScript 提供了类型检查和静态分析功能,使用 ESLint 仍然能带来很多好处,特别是当需要确保代码质量、遵循一致的代码风格、避免潜在的错误和提高团队协作时。ESLint 和 TypeScript 是互补的工具,它们共同帮助你保持高质…

129.求根节点到叶节点数字之和(遍历思想)

Problem: 129.求根节点到叶节点数字之和 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 直接利用二叉树的先序遍历,将遍历过程中的节点值先利用字符串拼接起来遇到根节点时再转为数字并累加起来,在归的过程中&#xf…

5. 【Vue实战--孢子记账--Web 版开发】-- 主页UI

我们在实现个人中心的时候简单的搭建了一个主页UI,但是这个主页并不是我们需要的,在这一节我们将一起实现主页UI的搭建。 一、功能 主页UI的原型如下: 首页UI原型包括左侧菜单和顶部header,左侧菜单包含多个功能模块的链接:首页…