【笔记】OpenHarmony设备开发:搭建开发环境(Ubuntu 20.04,VirtualBox 7.0.14)

参考:搭建开发环境(HarmonyOS Device)

Note:Windows系统虚拟机中Ubuntu系统安装完成后,根据指导完成Ubuntu20.04基础环境配置(HarmonyOS Connect 开发工具系列课)

系统要求

  • Windows系统要求:Windows10 64位系统。
  • Ubuntu系统要求:推荐使用20.04版本,内存16 GB及以上(注意:Ubuntu系统的用户名不能包含中文字符。)

基础环境配置:安装增强功能

目标:实现从Windows下拷贝文件和粘贴板到Ubuntu下

1、设置Ubuntu当前用户获取sudo权限的密码

sudo passwd

先输入当前账号的登录密码,然后可以在New password中输入设置新的密码(用于使用sudo权限时的密码,设置成一样的也不会报错)

2、测试:sudo命令测试权限

# 更新镜像源
sudo apt-get update

3、设置Ubuntu 增强功能

(菜单)设备->安装增强功能,等待弹窗,选择Run

【VitrualBox】(菜单)设备->安装增强功能
【VitrualBox】(菜单)设备->安装增强功能

弹窗提示,选择Run(点击了Cancel后,再重新菜单就不弹窗了,问题区解决)

【VitrualBox】Ubuntu VBox_GAs_7.0.14 dialog prompt
【VitrualBox】Ubuntu VBox_GAs_7.0.14 dialog prompt

首次安装会提示系统还没准备好环境去编译kernel modules,需要手动安装gcc、make、perl

执行下面命令安装:

# 手动安装 gcc\make\perl 等
sudo apt-get install gcc make perl

提示磁盘使用,根据提示输入y回车确认继续:

安装完成后,输入reboot重启:

重启后输入密码登录后,点击菜单VBox_GAs_xxxxx进入目录可看到 VBoxLinuxAdditions.run程序。

菜单点击“拖放”、“共享粘贴板”选项,都选择双向,然后可以打开中断测试功能,实现虚拟机和本地Windows复制粘贴。

设备-共享粘贴板
【VitrualBox】设备-共享粘贴板
【VitrulBox】设备-拖放
【VitrualBox】设备-共享粘贴板

搭建Ubuntu环境

1、将Ubuntu Shell环境修改为bash。

# 执行如下命令,确认输出结果为bash。
ls -l /bin/sh# 如果输出结果不是bash,请输入下方指令,选择No,将Ubuntu shell修改为bash。
sudo dpkg-reconfigure dash

输入密码,然后选择No,将Ubuntu shell由dash修改为bash。

【Ubuntu】Configuring dash
【Ubuntu】Configuring dash

修改完成后:

2、下载DevEco Device Tool最新Linux版本软件包。

3、解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。

# 解压下载好的安装包,unzip + 空格 + tab可以自动补全,如:
# unzip devicetool-linux-tool-4.0.0.400.zip
unzip devicetool-linux-tool-{Version}.zip# 授权:赋予安装文件可执行权限
# 其中devicetool-linux-tool-{Version}.sh请根据实际进行修改成本地文件
chmod u+x devicetool-linux-tool-{Version}.sh

4、安装DevEco Device Tool

在用户协议和隐私声明签署界面,默认选中2,需要签署同意用户协议和隐私声明才能进行下一步的安装,上下键可以选择:

选择了1,回车直接就执行安装:

安装完成:界面输出“DevEco Device Tool successfully installed." 标志DevEco Device Tool安装成功。

问题区

(一)VirtualBox虚拟机Ubuntu20.04 点击安装增强功能无弹框

解决方案:

1、安装gcc/make/perl后重启

su#更新镜像源
apt-get update # 手动安装 gcc\make\perl 等
sudo apt-get install build-essential gcc make perl dkms#重启
reboot 

提示占用171MB空间,输入y,确认安装

安装完成后重启reboot

重启

way2:

在文件夹中VBox找到VBoxLinuxAdditions.run文件(因为直接执行VBoxLinuxAdditions.run报错,找不到)

右键查看属性可以获取路径:

在文件夹中直接右键打开终端,输入命令,等待安装完成

sudo sh VBoxLinuxAdditions.run

安装过程:

Kernel modules and services 7.0.14 r161095 reloaded 

3、去文件系统(上述界面)里面找到自动挂载的盘,然后运行VBoxLinuxAdditions.run

用户运行时会提示没有权限:must be run with administrator provileges.

所以通过 su 切换到root,再运行VBoxLinuxAdditions.run

# 通过 ./ 运行文件
./VBoxLinuxAdditions.run

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/287473.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python包管理工具 pip 及其常用命令和参数用法

目录 PIP 主要功能 安装包 升级包 卸载包 列出包 检查依赖 pip的配置和环境 主要用法 1:版本 2:安装 Python 库 3:升级库 4:卸载库 5:搜索库 6:查看已安装库详细信息 7:只下载库…

MT6762_联发科MTK6762安卓核心板规格参数

MTK6762核心板是一款集成了蓝牙、fm、wlan和gps模块的高度集成基带平台,为LTE/LTE-A和C2K智能手机应用程序提供支持。该安卓核心板集成了ARM Cortex-A53处理器,工作频率可达2.0GHz,并且还集成了功能强大的多标准视频编解码器。除此之外&#…

OriginBot智能机器人开源套件

详情可参见:OriginBot智能机器人开源套件——支持ROS2/TogetherROS,算力强劲,配套古月居定制课程 (guyuehome.com) OriginBot智能机器人开源套件 最新消息:OriginBot V2.1.0版本正式发布,新增车牌识别,点击…

【Java程序设计】【C00376】基于(JavaWeb)Springboot的社区帮扶对象管理系统(有论文)

【C00376】基于(JavaWeb)Springboot的社区帮扶对象管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发&am…

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时,因为报错信息,需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…

基于SpringBoot和Leaflet的行政区划地图掩膜效果实战

目录 前言 一、掩膜小知识 1、GIS掩膜的实现原理 2、图层掩膜流程 二、使用插件 1、leaflet-mask介绍 2、核心代码解释 三、完整实例实现 1、后台逻辑实现 2、省级行政区划查询实现 3、行政区划定位及掩膜实现 4、成果展示 总结 前言 在之前的博客提过按空间矢量…

Ansys Speos | Light Expert Group探测器组使用技巧

附件下载 联系工作人员获取附件 概述 相机挡板的设计需要在光路的不同位置同步多个照度图,以尽量减少杂散光。2023R2 Speos提供了一种新的探测器,用于高阶杂散光分析,可以同时对多个探测器进行光线追迹。Light Expert工具可以即时过滤3D视…

SQLite数据库成为内存中数据库(三)

返回:SQLite—系列文章目录 上一篇:SQLite使用的临时文件(二) 下一篇:SQLite中的原子提交(四) ​​ SQLite数据库通常存储在单个普通磁盘中文件。但是,在某些情况下,数据库可能…

业务服务:xss攻击

文章目录 前言一、使用注解预防1. 添加依赖2. 自定义注解3. 自定义校验逻辑4. 使用 二、使用过滤器1. 添加配置2. 创建配置类3. 创建过滤器4. 创建过滤器类5. 使用 前言 xss攻击时安全领域中非常常见的一种方法,保证我们的系统安全是非常重要的 xss攻击简单来说就…

代码随想录 图论-并查集

代码随想录 (programmercarl.com) 寻找图中是否存在路径这道题中的类可看做并查集的标准类 目录 1971.寻找图中是否存在路径 684.冗余连接 685.冗余连接II 1971.寻找图中是否存在路径 1971. 寻找图中是否存在路径 已解答 简单 相关标签 相关企业 有一个具有 n 个顶…

使用ai智能写作场景之gpt整理资料,如何ai智能写作整理资料

Ai智能写作助手:Ai智能整理资料小助手 Ai智能整理资料小助手可试用3天! 通俗的解释一下怎么用ChatGPT来进行资料整理: 搜寻并获取指定数量的特定领域文章: 想像你在和我说话一样,告诉我你想要多少篇关于某个话题的文…

Flask python :logging日志功能使用

logging日志的使用 一、了解flask日志1.1、Loggers记录器1.2、Handlers 处理器1.3、Formatters 格式化器 二、使用日志2.1、官网上的一个简单的示例2.2、基本配置2.3、具体使用示例2.4、运行 三、写在最后 一、了解flask日志 日志是一种非常重要的工具,可以帮助开发…

【双指针】Leetcode 查找总价格为目标值的两个商品

题目解析 LCR 179. 查找总价格为目标值的两个商品 本题很友好&#xff0c;只需要返回任意一个 算法讲解 这道题很显然就是使用对撞双指针&#xff0c;一个从左边&#xff0c;一个从右边&#xff0c;两边进行和target比较来移动 代码编写 class Solution { public:vector<…

谷粒商城——缓存——SpringCache

1. 配置使用 首先需要导入相关的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency> 随后在配置文件中进行配置&#xff1a; spring:cache:t…

C语言文件操作(详细)

⽬录 一. 为什么使⽤⽂件&#xff1f; 二. 什么是⽂件&#xff1f; 三. ⼆进制⽂件和⽂本⽂件&#xff1f; 四. ⽂件的打开和关闭 五. ⽂件的顺序读写 六. ⽂件的随机读写 七. ⽂件读取结束的判定 八. ⽂件缓冲区 一. 为什么使⽤⽂件&#xff1f; 如果没有⽂件&#…

STM32技术打造:智能考勤打卡系统 | 刷卡式上下班签到自动化解决方案

文章目录 一、简易刷卡式打卡考勤系统&#xff08;一&#xff09;功能简介原理图设计程序设计 哔哩哔哩&#xff1a; https://www.bilibili.com/video/BV1NZ421Y79W/?spm_id_from333.999.0.0&vd_sourcee5082ef80535e952b2a4301746491be0 一、简易刷卡式打卡考勤系统 &…

docker拉取镜像

docker 拉取镜像 命令格式 docker pull 仓库名称[:标签] 从下载过程可以看出&#xff1a; &#xff08;1&#xff09;镜像文件是由若干层组成&#xff0c;即&#xff1a;AUFS联合文件系统。这是实现增量保存与更新的基础 &#xff08;2&#xff09;下载过程会输出各层镜像的信…

界面控件DevExpress WinForms/WPF v23.2 - 电子表格支持表单控件

DevExpress WinForm拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜任…

String类(三)

文章目录 string类&#xff08;三&#xff09;string类的模拟实现&#xff1a;1.默认成员变量和函数2.string的长度和下表引用3.字符串拷贝构造4. 赋值拷贝5.字符串比较6.字符串的增添操作7.insert插入操作8.遍历字符 string类&#xff08;三&#xff09; string类的模拟实现&…

Django(二)-搭建第一个应用(1)

一、项目环境和结构 1、项目环境 2、项目结构 二、编写项目 1、创建模型 代码示例: import datetimefrom django.db import models from django.utils import timezone# Create your models here.class Question(models.Model):question_text models.CharField(max_length2…