树莓派4B+ubuntu20.04+ros1桌面配置(一)

烧录系统至树莓派

下载系统:

方案一

https://ubuntu.com/download/raspberry-pi

选择合适的版本下载

方案二

就是在软件中选择需要烧录的系统(我最后又装了20.04的ubuntu server系统,因为22的系统不能装ros1) 

方案三(采用)

我终于找到了ubuntu20.04支持树莓派的桌面版!!!!!(其他版本的在这个链接的上级目录里)哦吼吼~~~~

地址:https://releases.ubuntu-mate.org/20.04/arm64/

记得选择带有raspi的.xz文件

镜像烧录

 镜像安装器安装:终端输入:

sudo snap install rpi-imager
打开镜像安装器,按照需求选择树莓派版本与要写入的系统还有安装的u盘

点击next

系统设置

点击“编辑设置”

1、安装需求设置账户名与密码(密码简单点) 2、开启SSh服务

 

 接下来全部选是

开始写入系统

wait~

wifi设置

有时候wifi会设置失败,ubuntu桌面版直接连接显示器就行,树莓派的系统一般不会出错,但是死server版的ubuntu有时候会wifi设置出错

首先是wifi联网

sudo nano /etc/netplan/50-cloud-init.yaml

sudo apt update

sudo apt-get upgrade

漫长的等待后

为Ubuntu Server安装桌面

Server版本是没有桌面系统的,因此需要安装桌面

sudo apt install xubuntu-desktop

中途会弹出窗口问你安装gdm3还是lightdm

我选的lightdm

漫长的等待后

重启

sudo reboot

开启ssh服务 

如何在Ubuntu上开启SSH服务 并开机启动_ubuntu sshserver kaiqi-CSDN博客

一旦出现错误:REMOTE HOST IDENTIFICATION HAS CHANGED!

执行以下命令

ssh-keygen -R <树莓派地址>

c重新输入:

ssh wxfpi@192.168.154.37

按要求输入yes

回车后输入密码再回车 

链接成功

更换树莓派软件源

sudo nano /etc/apt/sources.list

所有字段

都替换成

ubuntu-ports | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

查看系统版本

lsb_release -c

方案一

我的是jammy 按要求选择版本

方案二

​​​​​​或者在这里选择:ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站

方案三

但是真不好使

我就换成下面的内容了

deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy main restricted
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-updates main restricted
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy universe
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-updates universe
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy multiverse
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-updates multiverse
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-backports main restricted universe multiverse
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-security main restricted
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-security universe
deb http://mirrors.cloud.tencent.com/ubuntu-ports jammy-security multiverse

方案四(采用)

把ubuntu字段的换成/mirrors.cloud.tencent.com/

更新软件源

sudo apt-get update

提示没有公钥

按照错误更改keys后面的数字 

一旦出现依赖项的错误

sudo apt-get -f install

 更新软件

开启VNC服务 

ubuntu-PC 端下载RealVNC Viewer

Download VNC Viewer | VNC® Connect

按要求选择需要的版本

安装~

注册账号~

登录~(不登录也能用)

 

开启树莓派端VNC服务权限

sudo apt-get install tightvncserver

sudo apt-get install -y xfce4 xfce4-goodies

启动vnc

vncserver

按要求输入密码(需要验证一次,累计需要输入4次)

注意最后要选n而不是y

启动vnc

如果要杀死这个进程使用:

vncserver -kill :1

接着打UBuntuPC端的realvnc Viewer输入树莓派端的ip地址后面加5901

注意:密码是你设置的vnc密码不是树莓派的账户密码(wxfpi1)

打开后灰屏

vnc连接以后桌面打开是灰的,没有图标和terminal

解决办法

sudo apt-get install gnome-panel

sudo vim ~/.vnc/xstartup

将内容替换成

#!/bin/bash
export $(dbus-launch)  # 主要是这句
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

# [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &

杀死vncserver后,重新连接,解决问题

虽然桌面还是灰色但是该有的都有了 

一键安装ROS1

这也是我为什么要从树莓派os系统转战ubuntu的原因

wget http://fishros.com/install -O fishros && . fishros

接下来按照操作指导操作即可,我安装的ros1所以直接就自动安装了。

相似的安装步骤可以参照我之前的ros1一键安装文档。

ROS1的一键安装(全)_ros一键安装-CSDN博客

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

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

相关文章

子类的构造函数和析构函数调用顺序

看代码&#xff1a; class A { public:A() { cout << __FUNCTION__ << endl; }~A() { cout << __FUNCTION__ << endl; } };class B { public:B() { cout << __FUNCTION__ << endl; }~B() { cout << __FUNCTION__ << endl; …

学习JavaEE的日子 day11 初识面相对象

day11 1.初识面相对象 1.1 类和对象的理解 类 * 类是对象的数据类型&#xff0c;类是具有相同属性和行为的一组对象的集合 * 简单理解&#xff1a;类就是对现实事物的一种描述 类的组成 * 属性&#xff1a;指事物的特征&#xff0c;例如&#xff1a;手机事物&#xff08;品牌…

c语言 编译与链接

编译与链接 翻译环境和执行环境翻译环境1.1预编译1.2编译1.3汇编&#xff08;ASM&#xff09;2.链接 执行环境最后给大家附上一张关于本节知识内容的图供大家更好理解~ ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/522d488885ba44d99aa504d6b21c88d5.png) &…

【FastAPI】路径参数(二)

预设值 如果你有一个接收路径参数的路径操作&#xff0c;但你希望预先设定可能的有效参数值&#xff0c;则可以使用标准的 Python Enum 类型。 导入 Enum 并创建一个继承自 str 和 Enum 的子类。通过从 str 继承&#xff0c;API 文档将能够知道这些值必须为 string 类型并且能…

交友系统程序开发,前后端源码交付,允许二开,UI配色新颖,APP小程序H5随心搭配!

在开发设计与测试阶段&#xff0c;主要包括了程序开发、测试和上线运营等环节。根据产品经理确定的功能需求&#xff0c;开发团队开始进行具体的编程和开发工作。这个过程中需要考虑到不同设备、不同系统和不同版本的需求&#xff0c;确保软件可以在不同平台上稳定运行。 测试是…

WiNGPT2突破:国产140亿参数医疗AI模型

模型介绍 WiNGPT2是基于GPT架构开发的医疗垂直领域大模型&#xff0c;其主要目标是将医学知识、医疗信息和数据进行深度融合&#xff0c;以提供智能化的医疗服务。该模型拥有70亿和140亿两种参数规模的版本&#xff0c;使其能够处理更复杂的医疗场景和需求。 Huggingface模型下…

【Docker】Docker基础教程

&#x1f996;我是Sam9029&#xff0c;一个前端 &#x1f431;‍&#x1f409;&#x1f431;‍&#x1f409;恭喜你&#xff0c;若此文你认为写的不错&#xff0c;不要吝啬你的赞扬&#xff0c;求收藏&#xff0c;求评论&#xff0c;求一个大大的赞&#xff01;&#x1f44d; 基…

嵌入式学习-网络编程-Day4

思维导图 广播通信模型 #include <myhead.h> int main(int argc, char const *argv[]) {int rfd socket(AF_INET,SOCK_DGRAM,0);if(rfd-1){perror("socket error");return -1;}//填充地址信息结构体struct sockaddr_in rin;rin.sin_familyAF_INET;rin.sin_por…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题一 模块二

竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 1.第一阶段&#xff1a;模块一 网络平台搭建与设备安全防护&#xff08;180 分钟&#xff0c;300 分&#xff09;。 2.第二阶段&#xff1a;模块二…

安泰功率信号源设计方法有哪些

在电子系统中&#xff0c;功率信号源是一个关键的组成部分&#xff0c;用于提供稳定、可靠的电能。这篇文章将详细介绍功率信号源的设计方法&#xff0c;包括选择功率源类型、设计电源拓扑结构、提高效率和管理电磁干扰等方面。 1.功率源类型的选择 选择适当的功率源类型是功率…

MSSQL-识别扩展extended event(扩展事件)中的时间单位

经常使用sqlserver extended event(扩展事件)&#xff0c;但是总是忘记扩展事件使用的时间单位&#xff0c;不确定它们是 秒、毫秒、还是微秒&#xff1f; 以下下代码能够从 相关DMV中提取description字段内容来识别时间单位&#xff1a; SELECT [p].[name] [package_name],[o…

07. 面向对象编程(一)

目录 1、前言 2、类和对象 2.1、定义类 2.2、定义方法 2.3、创建对象 2.4、访问控制 2.4.1、公共变量 2.4.2、私有变量 2.4.3、保护成员 2.4.4、总结 3、封装 4、继承 5、多态 6、小结 1、前言 在Python中&#xff0c;面向对象编程&#xff08;Object-Oriented …

vuex的初步使用-1

1. 介绍 Vuex 是一个 Vue 的 状态管理工具&#xff0c;状态就是数据。 简单讲&#xff1a;Vuex 就是一个插件&#xff0c;可以帮我们管理 Vue 通用的数据 (多组件共享的数据)。相对于一个仓库&#xff1a;存放组件共享的数据。 2. 安装 vuex 安装vuex与vue-router类似&…

基于Mapbox的Mvt矢量瓦片集成实践

目录 前言 一、数据说明 1、基本数据 2、属性数据 二、Mapbox集成Mvt矢量瓦片 1、关于访问令牌 2、定义html 3、初始地图 4、加载矢量瓦片 5、效果展示 总结 前言 熟悉矢量瓦片的朋友一定知道&#xff0c;在Webgis当中&#xff0c;矢量瓦片的格式除了pbf的格式&#x…

docker:环境安装

系列文章目录 docker&#xff1a;环境安装 文章目录 系列文章目录前言一、Debian安装1.镜像下载2.VM安装3.Debian安装 二、docker安装1.Debian12换源2.docker安装3.docker测试4.docker换源 总结 前言 因为CentOS7确定停服时间为6月30日&#xff0c;虽然对我这种小虾米没啥影响…

dubbox框架

1、dubbox介绍 Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个基于Java的高性能RPC&#xff08;Remote Procedure Call&#xff09;框架&#xff0c;使得应用可通过高性能的 RPC 实现服务的输出和输入功能&#xff0c;可以和 Spring框架无缝集成。后期阿里巴巴停止了该项目…

HashMap集合万字源码详解(面试常考)

文章目录 HashMap集合1.散列2.hashMap结构3.继承关系4.成员变量5.构造方法6.成员方法6.1增加方法6.2将链表转换为红黑树的treeifyBin方法6.3扩容方法_resize6.3.1扩容机制6.3.2源码resize方法的解读 6.4 删除方法(remove)6.5查找元素方法(get)6.6遍历HashMap集合几种方式 7.初始…

vue安装组件报错In most cases you are behind a proxy or have bad network settings.

解决办法 步骤1 npm config get proxy npm config get https-proxy 如果2个返回值不为null&#xff0c;请执行下面代码&#xff0c;重置为null。否则&#xff0c;直接执行步骤2。 npm config set proxy null npm config set https-proxy null 步骤2 npm config set regis…

cv 不能正常读取中文路径

之前一直以为是PyQT的getOpenFileNames方法不能读取中文路径的。多次尝试后发现不是&#xff0c;是OpenCV的问题。 self.selected_imgPaths, _ QtWidgets.QFileDialog.getOpenFileNames(self, "打开图片", "./pending_images", "*.jpg;;*.JPG;;*.png…

【Windows取证篇】Window日志分析基础知识(一)

【Windows取证篇】Window日志分析基础知识&#xff08;一&#xff09; Windows系统审计是对系统中有关安全的活动进行记录、检查以及审核&#xff0c;一般是一个独立的过程。Window自带的事件查看器并没有提供删除特定日志的功能&#xff0c;我们在系统审计取证分析时&#xf…