【树莓派4B安装18.04桌面+远程SSH】

news2024/11/26 10:44:54

【树莓派4B安装18.04桌面+远程SSH】

  • 1. 前言
  • 2 .树莓派安装ubuntu18.04 系统
    • 2.1 下载ubuntu Server 18.04 的镜像包
    • 2.2 镜像烧录
    • 2.3 高级设置
    • 2.4 配置WiFi
    • 2.5 ssh文件配置
    • 2.6 Pi 4B启动文件
  • 3. 安装finalshell
    • 3.1 windows版下载
    • 3.2 windows版安装
    • 3.3 SSH连接
  • 4. 安装ubuntu桌面
    • 4.1 更新系统
    • 4.2 安装Ubuntu桌面
    • 4.3 设置root账号密码

1. 前言

回想当初本科时做了电动滑板,现在研究生已经过去了一大半,就零零碎碎学了各种玩意,似乎虚度了许多,想想研究生是不是也应该整点啥,这不最近在学ros,赵虚左和阿杰工程师给了我非常大的启发,接机给自己整一辆小车,前期也有一定的软硬件积累,目前只差临门一脚喽,下面就来开始折腾环境喽,所谓兵马未到,粮草先行,我会一点点积累自己的树莓派slam开源小车,后期也会托管自己的代码!🎉🎉🎉
所需材料:

名称功能
Windows笔记本辅助安装软件
树莓派4b目标小车主控,连接小车外设对象
32以上的SD卡系统安装,文件存储
一个读卡器辅助系统安装硬件
一个hdmi屏幕系统开发显示
电源数据线电源及有线连接

在这里插入图片描述

2 .树莓派安装ubuntu18.04 系统

2.1 下载ubuntu Server 18.04 的镜像包

1.官网下载:树莓派官网
2.清华镜像源:清华源
推荐清华镜像源,下载速度较快,选择你要安装的版本,我这里选择18.04.5,
在这里插入图片描述

选择release,
在这里插入图片描述

树莓派烧录的是以.xz结尾的,根据你的树莓派是32位的还是64位 的自行选择,我选择ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img.xz,一共486Mb。
在这里插入图片描述

2.2 镜像烧录

我这里Windows选择的是官方烧录软降Raspberry Pi Imager:下载地址
在这里插入图片描述
然后直接安装,打开烧录软件

1.把SD卡插进读卡器,插进电脑。
2.进入软件,首先点击选择SD卡,选择你所插入的SD卡

在这里插入图片描述
在这里插入图片描述
然后点击烧录擦除
在这里插入图片描述
擦除完毕后如下
在这里插入图片描述

3.进入选择操作系统,先进行擦除,然后进行使用自定义镜像,选择你下载的镜像包

在这里插入图片描述
在这里插入图片描述

2.3 高级设置

4.进行高级设置,最好每次烧录都进行设置,首先开启SSH服务,使用密码登录,接着设置用户名和密码,尽量简单,方便记住。然后设置自己的wifi名称和密码。最后进行保存。

在这里插入图片描述

2.4 配置WiFi

选择配置WiFi保存
在这里插入图片描述
烧录完成
在这里插入图片描述

5.点击烧录,烧录完成以后,打开boot文件夹,(如果不显示,就重新插拔读卡器)network-config,这个是烧好ubuntu系统之后自带的网络配置文件。我是接入的手机热点,其中111是wifi名称,12345678是密码,你也可以直接把我的代码粘贴进去。
特别注意:

如自己对照修改的话,每行的缩进是空格,不是Tap缩进
如果你的WiFi名称没有空格的话,就要把WiFi名称左右两个双引号删掉
如果你的WiFi名称有空格或者特殊字符如(“-”)的话,就要把两个引号加上
在这里插入图片描述

version: 2
wifis:
  renderer: networkd
  wlan0:
    dhcp4: true
    optional: true
    access-points:
      111:
        password: "12345678"

2.5 ssh文件配置

6.在boot文件夹下添加ssh文件,添加一个.txt的文件,在修改名字为ssh,注意不要.txt的后缀。
在这里插入图片描述

2.6 Pi 4B启动文件

7.需要在github上面下载最新的启动文件来替换旧的启动文件,地址:https://github.com/raspberrypi/rpi-firmware
在这里插入图片描述

把下图 fixup.datstart.elf 共16个文件复制替换掉TF卡上面的文件即可。

在这里插入图片描述

8.弹出读卡器,把SD卡插进树莓派,有可能第一次连不上网,多重启几次。

如果没有屏幕的话可以依次运行,有屏幕的话直接进行1.4

3. 安装finalshell

FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.

特色功能:
云端同步,免费海外服务器远程桌面加速,ssh加速,本地化命令输入框,支持自动补全,命令历史,自定义命令参数

  • Windows版下载地址:http://www.hostbuf.com/downloads/finalshell_install.exe
  • macOS版下载地址: http://www.hostbuf.com/downloads/finalshell_install.pkg
  • mac版安装路径 /Applications/FinalShell.app/ 配置文件路径
    /Users/$USER/Library/FinalShell/ mac版卸载 删除安装目录
    /Applications/FinalShell.app/
  • Linux版安装及教程: http://www.hostbuf.com/t/1059.html
    更新日志: http://www.hostbuf.com/t/989.html

3.1 windows版下载

windows版下载

在这里插入图片描述

3.2 windows版安装

下载后直接下一步安装,在安装路径的时候更改路径
1.我接受
在这里插入图片描述

2.直接下一步
在这里插入图片描述

3.更改安装路径,然后安装,跟着后面的步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.3 SSH连接

4.安装完成以后,打开finalshell,启动SSH连接
在这里插入图片描述
打开路由器查看ip地址:tp-link路由器
在这里插入图片描述
点击管理查看IP地址
在这里插入图片描述

ip:192.168.1.112

顺便可以把树莓派IP和MAC地址绑定,避免IP动态更新,防止连接不上掉线

在这里插入图片描述

5.名称随便取,主机是树莓派的IP,用户名和密码是Ubuntu的名称和密码。然后确定连接。
在这里插入图片描述

6.显示如下图就表示连接成功了,此时就相当于打开Ubuntu的终端,就可以进行下面的步骤

在这里插入图片描述

4. 安装ubuntu桌面

使用ROS的rviz, gazebo等仿真工具,需要桌面图形环境。

4.1 更新系统

先更新一下系统

sudo apt-get update
sudo apt-get upgrade

报错:
在这里插入图片描述

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) 
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

尝试关闭进程:

sudo killall apt apt-get

报错:

apt: no process found
apt-get: no process found

修改以下部分:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a

再进行更新系统

sudo apt update
sudo apt-get upgrade

在这里插入图片描述
如果运行出差,可以多运行几次就可以下载更新成功!
在这里插入图片描述

4.2 安装Ubuntu桌面

以上设置基本就可以安装Ubuntu桌面了,过程比较漫长。

sudo apt install ubuntu-desktop

在这里插入图片描述
安装完成如下
在这里插入图片描述

安装成功以后重启树莓派就可以出现桌面

sudo reboot

4.3 设置root账号密码

sudo passwd root

在这里插入图片描述
输入 root 的密码,按 Enter。
重复输入 root 的密码,按 Enter。
返回如下信息,即表示 root 密码设置成功。

passwd: password updated successfully

执行以下命令,打开 sshd_config 配置文件。

sudo vi /etc/ssh/sshd_config 

按 i 切换至编辑模式,找到 #Authentication,将 PermitRootLogin 参数修改为 yes。如果 PermitRootLogin 参数被注释,请去掉首行的注释符号(#)。
找到 #Authentication,将 PasswordAuthentication 参数修改为 yes。如下图所示:

说明 若 sshd_config 配置文件中无此配置项,则添加 PasswordAuthentication yes 项即可。

在这里插入图片描述

按 Esc,输入:wq,保存文件并返回。
执行以下命令,重启 ssh 服务。

sudo service ssh restart

然后重新开一个端口连接root
在这里插入图片描述
连接成功如下,这样就可以远程复制文件了
在这里插入图片描述

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

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

相关文章

【野火启明_瑞萨RA6M5】梦的开始 ---- 点灯(寄存器)

文章目录 一、IOPORT简介二、IOPORT的框图分析三、IOPORT的寄存器描述1. 端口引脚功能选择寄存器2. 端口输出数据寄存器3. 端口输入数据寄存器4. 端口输出置位/复位寄存器5. 写保护寄存器 四、点亮LED灯(寄存器) 从本文开始,我将以瑞萨RA系列…

【夜莺(Flashcat)V6监控】3.链路追踪

链路追踪 介绍 链路追踪是分布式系统下的一个概念,它的目的就是要解决上面所提出的问题,也就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如,各个服务节点上的耗时、请求具体到达哪台机…

Java 把一个 List 转换为字符串

在本快速指南中,我们将会解释如何在 Java 把一个 List 转换为 String 字符串。 这个在某些特定的场合可能比较有用,比如说在控制台中输出 List 中的内容,转换为可以人为阅读的内容来进行调试。 使用 List 中标准的 toString() 方法 一个最简…

(2)数码管

LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成"8"字器件 51单片机是共阴极连接 74HC245这个芯片有什么作用呢?解:这个芯片被称之为双向数据缓冲器这个芯片的作用,用来进行数据缓冲(提高驱…

【网络编程】详解UDP/TCP套接字的创建流程

目录 一、网络编程套接字 1、一些概念 1.1源IP地址和目的IP地址 1.2端口号port 1.3TCP和UDP的性质 1.4网络字节序、IP地址类型转换、数据接收与发送函数、popen函数 2、UDP套接字 2.1UDP服务器创建流程 2.2UDP客户端创建流程 2.3创建socket套接字 2.4绑定套接字对应…

快速找出PATH 路径下重复的命令程序文件

RT,就是想找出命名冲突的可执行文件。日积月累的,PATH 环境变量里乱七八糟堆了一堆东西,很可能想叫一个命令出来,结果实际执行的是另一个地方的程序。 Python 脚本 import ospath os.environ[PATH] folders path.split(;) fil…

理解HttpSession

什么是session 在我刚刚从事后端开发的时候,有一个问题困扰了我很久。 就有个玩意叫session。 PostMapping("login")public Result login(RequestParam("id") String id,RequestParam("password") String password, HttpSession se…

哈希及模拟实现

文章目录 哈希1. 哈希相关概念1.1 哈希概念1.2 哈希冲突1.3 哈希函数1.4 哈希冲突解决1.4.1 闭散列/开放定址法(1)线性探测(2) 二次探测 1.4.2 开散列/哈希桶 2. 开放定址法的实现2.1 结构2.2 插入Insert2.2.1 传统写法2.2.2 现代写法 2.3 查找Find2.4 删除Erase2.5 整体代码 3…

springcloud基于web的智慧养老平台

系统分析 可行性分析 在开发系统之前要进行系统可行性分析,目的是在用最简单的方法去解决最大的问题,程序一旦开发出来满足了用户的需要,所带来的利益也很多。下面我们将从技术、操作、经济等方面来选择这个系统最终是否开发。 1、技术可行…

一图看懂 dateutil 模块:Python datetime 模块的扩展,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 dateutil 模块:Python datetime 模块的扩展,资料整理笔记(大全) 🧊摘要🧊模块图🧊类关系…

005、数据库结构

数据库结构 1、数据库集簇逻辑结构2、对象标识符3、数据库集簇物理结构4、其它目录结构表空间物理文件位置1、数据库集簇逻辑结构 • 数据库集簇逻辑结构 数据库 : 把数据逻辑分开存放。 对象是放在数据库当中。表空间: 把数据从逻辑或者物理上分割存放2、对象标识符 Postg…

Weblogic SSRF 漏洞(CVE-2014-4210)

SSRF漏洞 ​ SSRF(服务端请求伪造),指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF攻击通常针对外部网络无法直接访问的内部系统。 ​ 简单的说就是利用一个可…

《统计学习方法》——隐马尔可夫模型(下)

学习算法 HMM的学习,在有观测序列的情况下,根据训练数据是否包含状态序列,可以分别由监督学习算法和无监督学习算法实现。 监督学习算法 监督学习算法就比较简单,基于已有的数据利用极大似然估计法来估计隐马尔可夫模型的参数。…

详解二叉树

🌈目录 一、树形结构​ 🌳1.1 概念1.2 其他概念1.3 树的表示形式 二、二叉树✨2.1 概念2.2 两种特殊二叉树2.3 性质2.4 二叉树存储 三、二叉树的基本操作🙌3.1 前置说明3.2 二叉树的遍历3.3 二叉树的基本操作 四、二叉树的OJ✍️ 一、树形结构…

springboot+vue医院信管系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的医院信管系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风歌&a…

Service Control Manager 服务管理器简介

在windows驱动开发流程中,写完sys驱动binary之后,为了让OS能够正确的从注册表中读取到对应的信息,并且将其load运行起来,还需要编写inf文件来描述配置驱动文件。不过这也不是必须的,可以通过ServiceControlManager直接…

Fiddler 抓包工具 - 全网最全最细教程,没有之一

Fiddler 简介 Fiddler 是位于客户端和服务器端的 HTTP 代理 目前最常用的 http 抓包工具之一 功能非常强大,是 Web 调试的利器 监控浏览器所有的 HTTP/HTTPS 流量 查看、分析请求内容细节 伪造客户端请求和服务器响应 测试网站的性能解密 HTTPS 的 Web 会话 全局…

Go语音基于zap的日志封装

zap日志封装 Zap是一个高性能、结构化日志库,专为Go语言设计。它由Uber开源,并且在Go社区中非常受欢迎。它的设计目标是提供一个简单易用、高效稳定、灵活可扩展的日志系统。 以下是Zap的一些主要特点: 1.高性能:Zap的性能非常出…

【Linux】权限的理解

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

mysql exist和in的区别

一、演示用的表 为了演示二者的区别,先建立两张表 user 表和 order 表 二、in 的执行情况 in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,…