一. 准备

Ⅰ.下载 Win32DiskImager

Ⅱ.下载 Ubuntu 镜像,地址:https://ubuntu.com/download/raspberry-pi

Ⅲ.写入系统至TF卡中

Ⅳ.写入完成后,打开名为 system-boot 的磁盘,然后打开 config.txt 文件,修改显存 gpu_mem 参数(单位MB,推荐512)

Ⅴ.卡片插入树莓派4中,开机

二. 系统设置

注意:接下来即将进入系统引导配置界面,在这过程中踩了不少坑,一定要耐心看完!!!

2.1 引导配置

Ⅰ.选择语言:中文(简体)

Ⅱ.键盘布局:选择 Chinese - Hanyu Pinyin(altgr),这样系统会内置拼音输入法

Ⅲ.选择时区,默认 Shanghai 即可

Ⅳ.填写个人与计算机信息(选择自动登录)

2.2 进入系统后配置

注意:千万不要更换镜像源,因为此版本系统应该是Ubuntu为树莓派4(ARM架构)专门定制的,原生源软件多,下载速度也不慢,如果更换了网上其他的源会导致无法通过 apt 下载某些软件。

Ⅰ.打开设置 - Region & Language,将语言改为汉语(中国)

Ⅱ.在应用中打开 Language Support,然后会提示完整安装语言支持,点击安装即可。安装完成后,键盘输入法系统选择 IBus,点击 应用到整个系统,然后重启系统。

Ⅲ.重启完成后,你会发现系统语言已经切换为中文,然后就可以愉快地使用Ubuntu了!

2.3. 开启SSH连接

详见第三节安装openssh-server 方法。

三. 某些软件的安装

安装软件前,请先执行下列命令:

1
2
sudo apt update
sudo apt-get update

3.1 SSH连接工具

请执行下列命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装openssh-server
sudo apt-get install openssh-server

# 开机自动启动ssh命令
sudo systemctl enable ssh

# 单次开启ssh
sudo systemctl start ssh

# 单次关闭ssh
sudo systemctl stop ssh

#查看ssh是否启动,看到Active: active (running)即表示成功
sudo systemctl status ssh

然后就可以通过SSH工具连接了!推荐:Termius(一个跨平台的SSH工具)或者 Secure CRT。

3.2 qv2ray

这是一个对v2ray做了图形化的工具,实测可以安装在 Ubuntu Desktop 20.10 树莓派上。

1
2
3
4
# 使用snap安装qv2ray
sudo snap install qv2ray
# 启动qv2ray
qv2ray

参考自:https://snapcraft.io/install/qv2ray/raspbian

3.3 温度监控组件

推荐一个效果如下的组件。

psensor插件

在安装Psensor前,你需要安装和配置lm-sensors,这是一个用于硬件监控的命令行工具。如果你想要测量磁盘温度,你还需要安装hddtemp。要安装这些工具,运行下面的这些命令。

1
sudo apt-get install lm-sensors hddtemp

接着开始检测硬件传感器:

1
sudo sensors-detect

要确保已经工作,运行下面的命令:

1
sensors

如果一切看上去没问题,使用下面的命令安装 psensor:

1
sudo apt-get install psensor

然后启动 psensor 即可。

如果想在面板中显示温度(如上图),进入 Sensor Preferences ,然后选择 Application Indicator菜单,勾选Display sensor in the label 选项即可。

如果想要开机自动启动,进入 Preferences->Startup 并选择 Launch on session startup 使每次启动时启动 psensor。

注:以上内容参考自 https://jingyan.baidu.com/article/a17d5285f043c38098c8f21d.html

四. 一些BUG或者注意事项

目前发现的一些BUG(或者有解决方案,但是我太蠢了)和注意事项总结如下。

4.1 屏幕共享问题

Ⅰ.Ubuntu这个版本自带了屏幕分享(在设置里面),可以通过VNC连接,但是如果树莓派4在开机时没有外接显示器,是无法成功连接的。(就算树莓派4开机后,再连接实体显示器,也不能正常工作)。

Ⅱ.对于上述问题,可能有的教程会推荐安装一个 虚拟显示器插件 的方法,但是我及其不推荐(亲测不稳定,卸载插件后鼠标无法正常工作),方法在下面仅供参考。

随用户登录后,自动启动 vino server。编辑一个 vino-server.desktop 文件,如果 autostart 目录不存在,就创建一个。

1
sudo vim ~/.config/autostart/vino-server.desktop

填入下列内容:

1
2
3
4
5
[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true

vino-server 不能在 console 中运行,所以需要在用户登录到桌面后用这样的方式自动启动。

安装 video-dummy

1
sudo apt install xserver-xorg-video-dummy

/etc/X11下创建 xorg.conf 文件,填写分辨率等信息:

1
sudo vim /etc/X11/xorg.conf

xorg.conf内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
# Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
# 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
# Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
# 1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz
# Modeline "1368x768_60.00" 85.86 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
# Modeline "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection

Section "Device"
Identifier "Card0"
Option "NoDDC" "true"
Option "IgnoreEDID" "true"
Driver "dummy"
EndSection

Section "Screen"
DefaultDepth 16
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 16
Modes "1920x1080"
EndSubSection
EndSection

配置用户自动登录桌面

查看当前用的是什么管理器:

1
cat /etc/X11/default-display-manager

我的是/usr/sbin/gdm3,那么编辑文件:

1
sudo vim /etc/gdm3/custom.conf

把下面三行的注释去掉,其中AutomaticLogin行修改成自己的用户名。

1
2
3
WaylandEnable=false
AutomaticLoginEnable = true
AutomaticLogin = username

重启电脑,就可以通过VNC登录了。

重启桌面

这样配置后,如果再次接上显示器后,显示器会黑屏,这时候,需要把/etc/X11/xorg.conf删除或者改名,比如改成/etc/X11/xorg.conf.dummy,然后重启显示管理器:

1
sudo systemctl restart display-manager

注:以上内容参考自 https://blog.deskangel.com/2020/05/02/vino-on-headless-ubuntu-desktop/

4.2 VNC无法连接问题

电脑VNC连接Ubuntu报错如下:

1
Unable to connect to VNC Server using your chosen security setting. Either upgrade VNC Server to a more recent version from RealVNC, or select a weaker level of encryption.

解决方法:

1
2
# 在Ubuntu中执行下列命令
gsettings set org.gnome.Vino require-encryption false

4.3 JDK奇怪的错误

原因:在oracle官网下载了 JDK1.8 arm64 版本,运行一个项目发现报错:NoClassDefFoundError: java.awt.Toolkit

解决方法:删除现有JDK,通过以下方式重新安装。

1
2
3
4
5
6
7
8
9
10
11
# 添加仓库源
sudo add-apt-repository ppa:openjdk-r/ppa
# 更新源
sudo apt-get update
# 安装JDK
sudo apt-get install openjdk-8-jdk
# 安装好后查看版本号
banana@pi:~$ java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.10-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

最后问题解决了,感慨arm架构坑有点多。