树莓派无显示器初始化配置

近期入手了一台 Raspberry Pi 4 8GB 版,打算为自己未来的新家整个智能家居平台和打造家庭网络做准备。树莓派的作用不多说,懂得都懂,以下记录下自己入手时的基本配置,买的是单主机版本,加上购买的其他基础配件,装好后如下图,真的是极为喜欢,爱不释手。

树莓派配件组装

安装 Raspberry Pi OS 操作系统

Raspberry Pi OS 是基于 Debian 的一个 Linux 发行版,安装系统极为简单,网上教程极多,不做详细记录,记录下需要用到的镜像及工具下载地址。

  • 工具准备:SD 内存卡,以及刻录系统需要使用到的 SD 读卡器
  • 系统镜像:点击此处下载 Raspberry Pi OS 镜像,拿来做服务器的,不需要桌面,这里选择体积最小的 Raspberry Pi OS Lite
  • 镜像刻录工具:使用 Win32 Disk Imager点击此处 官网下载。

配置树莓派开机连接 WiFi 热点

  • 刻录好系统镜像后,使用读卡器连接 SD 卡到电脑,boot 目录下创建一个 ssh 空文件(不要有任何后缀名),这样树莓派在系统开机时默认会开启 SSH 远程连接,方便后面 Xshell 连接。

  • boot 目录下再创建 wpa_supplicant.conf 文件,文本编辑器打开添加如下 WiFi 配置信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="demo1"
psk="passwd"
priority=100
}
network={
ssid="demo2"
psk="passwd"
priority=90
}

注:ssid 为热点名称,psk 为密码,priority 为多个热点信号都搜索的到时的连接优先级,具体其他配置作用可 google 另行搜索,这样开机后,树莓派就会自动连接上相应 WiFi,一连上 WiFi 后,除非此 WiFi 信号主动消失或者改密等骚操作,否则树莓派不会再切换 WiFi 网络。

Xshell 远程连接 Raspberry Pi OS

这里使用手机开热点,然后将树莓派插上电源,打开手机查看热点连接设备信息如下:

手机热点连接设备

可知树莓派 IP 分配到的是 192.168.43.81,然后打开 Xshell 远程连接 Raspberry,找不到 IP 地址,可使用 Windows 执行以下命令,扫描局域网内设备的分配到的 IP,找到树莓派对应的 MAC 地址即可。

1
2
3
4
# ping 局域网相应 IP
for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.0.%i
# 展示所有局域网通信过的设备
arp -a

以下为树莓派初始开机的默认密码及进去后的密码修改命令。

1
2
3
4
# 默认账户及密码
pi/raspberry
# 初始化修改 root 密码,系统第一次使用时 root 无密码,直接设置就行
sudo passwd root

配置完成,接下来就可以无界面下 Xshell 远程尽情操作树莓派了。

后续问题记录:

  • pi/raspberry,修改 root 密码:sudo passwd root

  • vi 键盘有问题,安装 vim
    apt-get install vim

  • 解决 Xshellvim 无法复制粘贴问题
    vim ~/.vimrc(默认无此文件) 添加 set mouse=c syntax on
    vim 配置文件

  • 设置重启后自动连接 WiFi
    sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

  • 设置开机自动开启 SSH
    sudo raspi-config 进入 Interfacing Options,选择 SSH enable

  • root 权限开启远程连接
    sudo vim /etc/ssh/sshd_config(注意:是 sshd_config 不是 ssh_config),添加或修改 PermitRootLogin yes

  • 配置 ll 命令
    vim ~/.bashrc#alias ll='ls -l' 去掉 #,重新登录即可生效

  • 切换 apt-get 清华源
    参考文章1参考文章2

1
2
3
4
5
6
7
# sudo vim /etc/apt/sources.list ,注意系统版本,这里是 bullseye 替换如下:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
# sudo vim /etc/apt/sources.list.d/raspi.list,注意系统版本,这里是 bullseye 替换如下:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
# sudo apt-get update
# sudo apt-get upgrade
1
2
3
4
5
6
# 64位 sudo vim /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/debian buster main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian buster-updates main contrib non-free
# 64位 sudo vim /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi buster main ui
  • 配置 frp,且 frp 客户端开机自启
    点击下载相应软件:frp_0.41.0_linux_arm64.tar.gz
    编辑 frpc.ini 配置文件,移动至新建的目录 mkdir /etc/frp 中,文件夹和文件记得加权限 chmod 777
    进入 cd /opt/frp_0.41.0_linux_arm/systemd,修改 frpc.service 文件,相应执行命令替换成 /opt/frp_0.41.0_linux_arm/frpc -c /etc/frp/frpc.ini
    复制 frpc.service 文件至系统启动目录,sudo cp /opt/frp_0.41.0_linux_arm/systemd/frpc.service /lib/systemd/system
1
2
3
4
5
6
7
8
# 启动 frp
sudo systemctl start frpc.service
# 查看 frpc 执行状态
sudo systemctl status frpc.service
# 开启开机自启动
sudo systemctl enable frpc.service
# 关闭开机自启动
sudo systemctl start frpc.service

Docker 安装

官方网址参考,切记 apt 软件源要更新对,才可做此操作。

1
2
3
4
5
6
7
8
9
10
11
12
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 执行脚本,使用阿里镜像
$ sudo sh get-docker.sh --mirror Aliyun
# 更新 阿里云容器源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://阿里云容器服务提取.mirror.aliyuncs.com"]
}
EOF
# 查看容器源是否生效
sudo docker info |grep Mirrors -A 1
  • E: Sub-process /usr/bin/dpkg returned an error code (1) 错误解决方法
1
2
3
cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info

树莓派系统界面