树莓派-Ubuntu22.04

树莓派

  • 1 安装Ubuntu系统
  • 2 ssh登录
  • 3 配置
    • 3.1 安装软件
    • 3.2 换源
    • 3.3 安装桌面
    • 3.4 开机脚本

1 安装Ubuntu系统

通过制作sdk,使系统在sdk中运行:

  1. 下载制作软件:https://www.raspberrypi.com/software/
    在这里插入图片描述
  2. 下载Ubuntu镜像:https://cn.ubuntu.com/download/raspberry-pi(推荐安装服务器版的)
    在这里插入图片描述
  3. 格式化sdk
  4. 开始烧录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    等待写入完成。

如果你有屏幕需要去修改屏幕分辨率来进行,重新拔插sdk,找到config文件在文件末尾加上:

800*400分辨率

max_usb_current=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0

1024*600

max_usb_current=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0

2 ssh登录

  1. 扫描IP地址:工具:https://www.advanced-ip-scanner.com/ 找到树莓派的IP地址
  2. 下载ssh建立连接即可

3 配置

3.1 安装软件

  1. 网络工具
sudo apt-get install net-tools

3.2 换源

清华源:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/

备份:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑:sudo vi /etc/apt/sources.list
注释或者删掉里面的内容,将下面的内容复制进去

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiversedeb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse

更新:

sudo apt-get update
sudo apt-get upgrade

3.3 安装桌面

选择轻量级的桌面lxde

  1. 更新软件和系统
sudo apt update
sudo apt upgrade
  1. 安装桌面
sudo apt install lxde
#Xorg 是提供底层图形支持的服务器,而 xinit(通过 startx)是一种启动和使用这个服务器的方法
sudo apt install xorg
sudo apt install xinit
  1. 启动(通过ssh链接的看不到)
startx

3.4 开机脚本

  1. systemd服务
    systemd服务默认是在没有图形界面环境的背景下运行的

创建脚本/usr/local/bin/ss.sh:

#!/bin/bash
# 你的脚本内容
echo "Hello, World!" > /tmp/hello.txt

给予脚本执行权限:

sudo chmod +x /usr/local/bin/ss.sh

创建systemd服务文件
接下来,创建一个systemd服务文件来执行脚本。服务文件通常位于/etc/systemd/system/目录下。以管理员权限创建一个新的服务文件,例如my-startup-service.service:

sudo nano /etc/systemd/system/my-startup-service.service
在打开的编辑器中,添加以下内容:

[Unit]
Description=My custom startup script[Service]
Type=simple
ExecStart=/usr/local/bin/ss.sh[Install]
WantedBy=multi-user.target

这定义了一个新的服务,它在系统启动时执行您的脚本。Description字段是对服务的描述,ExecStart指定了脚本的完整路径。

启用并启动服务

保存并关闭服务文件后,重新加载systemd以识别新服务,并启用此服务以在启动时运行

sudo systemctl daemon-reload
sudo systemctl enable my-startup-service.service

如果您想立即测试服务而不重启,可以使用以下命令启动服务:

sudo systemctl start my-startup-service.service

验证服务状态
运行以下命令以检查服务的状态:

sudo systemctl status my-startup-service.service

这将显示服务的当前状态和最近的日志输出。如果一切配置正确,您的脚本应该会在每次系统启动时自动执行。
通过这种方式,您可以编写和配置任何类型的开机脚本,无论是进行系统初始化操作,还是启动特定的应用程序或服务。

  1. 使用 Cron

cron 是一个时间基的作业调度器,在 Linux 系统中用于定时执行任务。对于在启动时运行脚本,可以使用 @reboot 指令。

创建脚本ss.sh

#!/bin/bash
# 你的脚本内容
#QT环境
export PATH=/opt/Qt5.14.2/5.14.2/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/opt/Qt5.14.2/5.14.2/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/opt/Qt5.14.2/5.14.2/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/opt/Qt5.14.2/5.14.2/gcc_64/qml:$QML2_IMPORT_PATH
#默认显示器
export DISPLAY=:0
#需要启动的程序
cd /opt/serialTool/
./Serial
echo "end!" > /home/mql/桌面/1.txt

打开当前用户的 crontab 文件进行编辑:

crontab -e

在文件末尾添加以下行以在每次启动时运行脚本:

#@reboot /path/to/your/ss.sh
#延时执行单位s
@reboot sleep 5 && /path/to/your/ss.sh
#打印日志
@reboot /path/to/your/ss.sh >> /home/mql/桌面/2.txt 2>&1

替换 /path/to/your/script.sh 为您的脚本实际路径。

保存并退出编辑器。

重启就可以执行脚本,可以根据延时启动相应带有图形界面的软件

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

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

相关文章

【Day40】代码随想录之动态规划_343. 整数拆分_96.不同的二叉搜索树

文章目录 动态规划理论基础动规五部曲:出现结果不正确: 343. 整数拆分96.不同的二叉搜索树 动态规划理论基础 动规五部曲: 确定dp数组 下标及dp[i] 的含义。递推公式:比如斐波那契数列 dp[i] dp[i-1] dp[i-2]。初始化dp数组。…

ubuntu22.04 有一台机器说有4T硬盘,但是df的时候看不到,怎么查找

在 Ubuntu 22.04 上,如果你有一块硬盘在使用df命令时未显示,这通常意味着硬盘尚未被挂载或者根本未被分区和格式化。以下是一些步骤来帮助你识别和准备新硬盘: 1. 检查硬盘是否被系统识别 首先,使用lsblk命令来检查系统是否识别…

基于Springboot开发的JavaWeb作业查重系统[附源码]

基于Springboot开发的JavaWeb作业查重系统[附源码] 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 &a…

飞机打靶子小游戏

1.飞机可以通过键盘移动&#xff0c;发射子弹. 2.显示得分. 3.靶子随机 4.打到靶子加分并换位 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<stdlib.h> #include <conio.h>//_getch()函数 #include<time.h>#define HIGH 20 #defi…

zlib交叉编译(rv1126)

目录 1.下载 2.解压 3.配置 4.编译 1.下载 1)下载地址 zlib Home Site 2)下载tar.gz版本 下载该版本。 2.解压 1)解压到某个文件夹

RabbitMQ安全防护,加固策略

RabbitMq简介 中间件简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有 ActiveMQ(安全),RabbitMQ,ZeroMQ,Kafka(大数据),MetaMQ,RocketMQ 以下介绍消息队…

探索设计模式的魅力:从单一继承到组合模式-软件设计的演变与未来

设计模式专栏&#xff1a;http://t.csdnimg.cn/nolNS 在面对层次结构和树状数据结构的软件设计任务时&#xff0c;我们如何优雅地处理单个对象与组合对象的一致性问题&#xff1f;组合模式&#xff08;Composite Pattern&#xff09;为此提供了一种简洁高效的解决方案。通过本…

简单的JavaScript去下载转换为Base64的PDF文件

新建一个文件&#xff0c;内容填写如下&#xff0c;然后保存为 .html 类型的文件 再用浏览器打开&#xff0c;就会是下面这样子&#xff1a; 图一红色textarea里面&#xff0c;可以将PDF文件转换成BASE64位后的内容贴进去&#xff0c;点击下载时&#xff0c;就可以直接下载成PD…

进程的基本概念、查看、创建

1. 进程的概念 概念&#xff1a;加载到内存的程序/正在运行的程序称为内存。 我们在玩电脑的时候是可以启动多个程序的&#xff0c;比如边听歌边写博客&#xff0c;根据上篇文章我们知道肯定要将多个.exe文件加载到内存中&#xff0c;作为操作系统肯定是要管理这多个加载到内存…

开源大数据集群部署(十)Ranger usersync部署

作者&#xff1a;櫰木 ranger usersync部署 解压包 [roothd1.dtstack.com ranger]# pwd /opt/ranger [roothd1.dtstack.com ranger]# tar -zxvf ranger-2.3.0-usersync.tar.gz -C /opt/ [roothd1.dtstack.com ranger]# cd ranger-2.3.0-usersync修改配置install.properties…

小白Linux学习笔记-Linux开机启动流程

Linux 开机启动流程 文章目录 Linux 开机启动流程启动流程概览详细讲解开机软件 —— BIOS、Grub名词解释流程解释BIOS 开机文档 —— menu.lst、grub.confGrub 配置文档流程解释 init 程序流程解释init 执行的相关文件 run-level(启动等级) 相关的命令实验rhel6 单用户模式修改…

改变终端安全的革命性新兴技术:自动移动目标防御技术AMTD

自动移动目标防御技术通过启用终端配置的自适应防御来改变终端检测和响应能力。产品领导者可以实施AMTD来确保实时威胁响应&#xff0c;并减少检测和响应安全威胁所需的时间。 主要发现 通过动态修改系统配置、软件堆栈或网络特征&#xff0c;自动移动目标防御&#xff08;AMTD…

Unity 开发注意事项

1. 空Unity消息 Unity消息被运行时事件调用&#xff0c;即使消息体为空也会被调用。因此&#xff0c;删除空消息避免不必要的处理。 例如&#xff1a; using UnityEngine;class Camera : MonoBehaviour {private void FixedUpdate(){}private void Foo(){} } 应该删除未使用…

MQ,RabbitMQ,SpringAMQP的原理与实操

MQ 同步通信 异步通信 事件驱动优势&#xff1a; 服务解耦 性能提升&#xff0c;吞吐量提高 服务没有强依赖&#xff0c;不担心级联失败问题 流量消峰 ​ 小结: 大多情况对时效性要求较高&#xff0c;所有大多数时间用同步。而如果不需要对方的结果&#xff0c;且吞吐…

性能实测:分布式存储 ZBS 与集中式存储 HDS 在 Oracle 数据库场景表现如何

作者&#xff1a;深耕行业的 SmartX 金融团队 金鑫 在金融客户的基础架构环境中&#xff0c;HDS 是一种被广泛使用的存储解决方案。作为集中式存储的代表之一&#xff0c;HDS 拥有高性能、高可用性和可扩展性的企业级存储特点&#xff0c;适用于实时数据处理、虚拟化和灾难备份…

Python 潮流周刊#38:Django + Next.js 构建全栈项目

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。本周刊开源&#xff0c;欢迎投稿[1]。另有电报频道[2]作为副刊&#xff0c;补充发布更加丰富的资讯&#xff0c;…

开源软件全景解析:驱动技术创新与行业革新的力量

目录 什么是开源 开源的核心 开源软件的特点 为什么程序员应该拥抱开源 1.学习机会&#xff1a; 2.社区支持&#xff1a; 3.提高职业竞争力&#xff1a; 4.加速开发过程&#xff1a; 5.贡献和回馈&#xff1a; 开源软件的影响力 开源软件多元分析&#xff1a; 开源…

蓝桥杯刷题day06——平均

1、题目描述 有一个长度为n 的数组&#xff08;n 是 10 的倍数&#xff09;&#xff0c;每个数ai都是区间 [0,9] 中的整数。 小明发现数组里每种数出现的次数不太平均&#xff0c;而更改第i 个数的代价为bi&#xff0c; 他想更改若干个数的值使得这10 种数出现的次数相等&…

YOLOv8改进 | 检测头篇 | 重参数化检测头RepHead解决困难样本检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是RepHead,该检测头为我独家全网首发,该检测头由重参数化模块组成,加大对于特征学习的能力,却可以不增加GFLOPs(仅仅略微提升)从而不影响模型的推理速度和性能,保持较高的FPS能力,牺牲了少量GFLOPs的情况下确提高了模型的特征提…

LeetCode--代码详解 292.Nim游戏

292.Nim游戏 题目 你和你的朋友&#xff0c;两个人一起玩 Nim 游戏&#xff1a; 桌子上有一堆石头。你们轮流进行自己的回合&#xff0c; 你作为先手 。每一回合&#xff0c;轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。 假设你们每一步都是最优解。请编写…