当前位置: 首页 > news >正文

树莓派4B实战:Ubuntu Server 20.04 LTS从零部署到图形化桌面与稳定网络配置一站式指南

1. 硬件与软件准备

树莓派4B作为一款性价比极高的微型计算机,搭配Ubuntu Server 20.04 LTS可以打造出一个功能强大的便携式工作站。在开始之前,我们需要准备以下硬件和软件:

硬件清单:

  • 树莓派4B主板(建议选择4GB或8GB内存版本)
  • 32GB或以上容量的microSD卡(推荐使用Class 10及以上速度等级)
  • 可靠的SD卡读卡器(建议选择USB 3.0接口)
  • 5V/3A的Type-C电源适配器
  • 散热片或风扇(长期高负载运行时必备)
  • 网线(可选,用于有线网络初始配置)

软件工具包:

  • Ubuntu Server 20.04 LTS ARM64镜像(官网下载)
  • Raspberry Pi Imager(官方烧录工具)
  • SD Card Formatter(SD卡格式化工具)
  • 远程连接工具(如MobaXterm或PuTTY)

注意:树莓派4B对电源质量非常敏感,使用劣质电源可能导致系统不稳定甚至损坏SD卡。我实测过多个电源适配器,发现官方电源和Anker等大品牌产品表现最稳定。

2. 系统烧录与初始配置

2.1 镜像烧录详细步骤

烧录过程看似简单,但有几个关键点直接影响后续使用体验:

  1. 下载正确的镜像文件

    • 访问Ubuntu官网下载ARM64架构的Server版镜像
    • 注意选择20.04.5 LTS版本以确保长期支持
  2. 使用Raspberry Pi Imager的高级选项

    # 在烧录软件中启用高级模式(CTRL+SHIFT+X) # 设置以下关键参数: - 主机名:raspberrypi (可自定义) - 启用SSH:是 - 设置用户名和密码 - 配置Wi-Fi国家和SSID - 时区设置为Asia/Shanghai
  3. 烧录后的检查

    • 烧录完成后不要立即拔出SD卡
    • 在电脑上检查SD卡的boot分区,确认user-data文件配置正确
    • 我遇到过多次因Wi-Fi密码含特殊字符导致连接失败的情况,建议先用简单密码测试

2.2 首次启动与网络连接

插入SD卡并通电后,树莓派会自动完成初始配置。这个阶段有几个实用技巧:

  1. IP地址获取方式

    • 有线网络:直接连接网线,路由器后台查看DHCP分配
    • 无线网络:如果烧录时已预配Wi-Fi,等待2-3分钟自动连接
    • 备选方案:使用手机热点测试连接性
  2. SSH连接验证

    # 在本地终端测试连接 ssh ubuntu@<树莓派IP> # 首次连接会提示指纹验证,输入yes继续

实测发现,使用Raspberry Pi Imager配置的Wi-Fi在Ubuntu Server上有时需要额外设置。如果遇到连接问题,可以尝试以下命令:

sudo netplan --debug apply

3. 系统优化与桌面环境安装

3.1 ARM架构专属换源技巧

Ubuntu Server默认的软件源对ARM设备支持有限,必须更换为专用源:

  1. 备份原始源列表

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 编辑源配置文件

    sudo nano /etc/apt/sources.list

    替换为以下内容(阿里云ARM源):

    deb http://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse
  3. 更新软件包索引

    sudo apt update && sudo apt upgrade -y

3.2 轻量级桌面环境安装

Server版安装完整桌面会占用过多资源,推荐使用轻量级组合:

  1. 安装Xfce桌面核心组件

    sudo apt install --no-install-recommends xubuntu-desktop -y
  2. 安装远程桌面服务

    sudo apt install xrdp -y sudo systemctl enable xrdp
  3. 优化桌面性能

    # 禁用不必要的服务 sudo systemctl disable lightdm.service sudo systemctl set-default multi-user.target

我在树莓派4B上实测发现,这套组合内存占用仅比纯Server版多200MB左右,却提供了完整的图形界面体验。

4. 网络配置深度优化

4.1 解决Server与桌面网络冲突

Ubuntu Server默认使用netplan管理网络,而桌面环境需要NetworkManager,这会导致冲突:

  1. 修改NetworkManager配置

    sudo nano /etc/NetworkManager/NetworkManager.conf

    managed=false改为managed=true

  2. 调整netplan配置

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

    添加renderer配置:

    network: version: 2 renderer: NetworkManager
  3. 应用配置并重启服务

    sudo netplan apply sudo systemctl restart NetworkManager

4.2 无线网络高级配置

对于需要频繁切换网络的用户,建议配置多网络profile:

  1. 创建Wi-Fi连接配置

    nmcli con add con-name "Home-WiFi" type wifi ifname wlan0 ssid "Your_SSID" nmcli con modify "Home-WiFi" wifi-sec.key-mgmt wpa-psk nmcli con modify "Home-WiFi" wifi-sec.psk "Your_Password"
  2. 设置自动连接优先级

    nmcli con modify "Home-WiFi" connection.autoconnect-priority 10
  3. 查看连接状态

    nmcli device wifi list nmcli connection show --active

这套配置在我出差时特别有用,可以预设多个地点的Wi-Fi配置,树莓派会自动选择可用网络。

5. 系统维护与问题排查

5.1 常见问题解决方案

问题1:桌面环境卡顿

# 禁用合成器 xfconf-query -c xfwm4 -p /general/use_compositing -s false # 降低分辨率 xrandr --output HDMI-1 --mode 1280x720

问题2:Wi-Fi频繁断开

# 编辑Wi-Fi电源管理配置 sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf # 修改为: [connection] wifi.powersave = 2

问题3:SD卡空间不足

# 清理旧内核 sudo apt autoremove --purge # 清理缓存 sudo apt clean # 扩容根分区 sudo raspi-config --expand-rootfs

5.2 性能监控与优化

安装实用监控工具:

sudo apt install htop neofetch

创建系统健康检查脚本:

#!/bin/bash echo "===== CPU温度 =====" vcgencmd measure_temp echo "===== 内存使用 =====" free -h echo "===== 磁盘空间 =====" df -h echo "===== 网络状态 =====" nmcli device status

设置定时任务(每30分钟记录一次):

(crontab -l ; echo "*/30 * * * * /home/ubuntu/health_check.sh >> /var/log/pi-health.log") | crontab -

这套监控方案在我的树莓派上稳定运行了半年多,帮助我及时发现并解决了多次潜在问题。特别是夏季高温时,CPU温度监控尤为重要。

http://www.jsqmd.com/news/488557/

相关文章:

  • MicroPython实战:ESP32通过I2C驱动OLED实现动态数据可视化
  • Qwen3-14B效果展示:int4 AWQ量化下高质量文本生成真实案例集
  • 从修复到创造:Inpainting与Outpainting的技术演进与应用边界
  • Android Q刘海屏适配实战:从系统设置到Overlay机制全解析
  • DAMO-YOLO入门指南:小白也能懂的实时目标检测系统
  • Tauri2+Leptos实战:动态窗口管理与多级菜单设计
  • Qt之QFile高级文件操作:二进制与文本流处理实战
  • 人脸识别镜像实测:Retinaface+CurricularFace在戴口罩、侧脸场景下的表现
  • C# 实战:构建高效gRPC微服务通信框架
  • AudioLDM-S在无障碍服务中的应用:为视障用户生成场景化语音提示音
  • WinPython:打造你的随身Python开发工作室
  • windows-heic-thumbnails:突破跨平台壁垒的HEIC缩略图原生解决方案
  • GD32开发实战:从零搭建高效工程模板
  • 基于Dify构建智能客服Agent的架构设计与性能优化实战
  • 从零到六级:系统化英语学习路径全解析
  • ESP32-S3驱动TCS34725颜色传感器:I2C通信与RGB/HSL转换实战
  • 网络虚拟化—Overlay与Underlay的实战解析与应用场景
  • 利用Ansys Sherlock与Workbench集成优化PCB可靠性分析
  • Rocky Linux:企业级Linux发行版的新选择与实战指南
  • 利用JT808/JT1078协议快速构建车辆监控系统:从协议解析到第三方平台集成
  • Ubuntu18.04下Livox Avia雷达实战:从SDK部署到ROS数据流全链路解析
  • 立创EDA实战:从建模到APP控制,复刻《红色警戒》光棱塔智能灯
  • 【开关电源2】双闭环控制优化:反激电源负载切换的稳定性提升
  • 使用Cartopy绘制动态降水散点图:从数据清洗到可视化实战
  • 解决项目依赖:快速定位并安装特定版本的PyTorch
  • LoongArch CPU设计实战:前递旁路与Load阻塞的协同优化与评测
  • Qwen3Guard-Gen-8B保姆级教程:3步搭建安全审核服务,无需编写提示词
  • WVP-PRO国标级联部署避坑指南:从Docker配置到SSRC校验全解析
  • Qwen3-14B开源大模型应用:构建垂直领域(如IT运维)知识库问答机器人
  • 手把手教你用STM32驱动W25Q16 Flash存储器(附完整代码)