树莓派4安装Ubuntu Desktop 20.10 记录
一. 准备
Ⅰ.下载 Win32DiskImager
Ⅱ.下载 Ubuntu
镜像,地址:https://ubuntu.com/download/raspberry-pi
Ⅲ.写入系统至TF卡中
Ⅳ.写入完成后,打开名为 system-boot
的磁盘,然后打开 config.txt
文件,修改显存 gpu_mem
参数(单位MB,推荐512)
Ⅴ.卡片插入树莓派4中,开机
补充:如果安装的是server版,可以先在system-boot磁盘中的network-config文件添加Wi-Fi,方便后面连接(默认用户密码为ubuntu),或者连接网线
二. 系统设置
注意:接下来即将进入系统引导配置界面,在这过程中踩了不少坑,一定要耐心看完!!!
2.1 引导配置
Ⅰ.选择语言:中文(简体)
Ⅱ.键盘布局:选择 Chinese - Hanyu Pinyin(altgr),这样系统会内置拼音输入法
Ⅲ.选择时区,默认 Shanghai 即可
Ⅳ.填写个人与计算机信息(选择自动登录)
2.2 进入系统后配置
注意:千万不要更换镜像源,因为此版本系统应该是Ubuntu为树莓派4(ARM架构)专门定制的,原生源软件多,下载速度也不慢,如果更换了网上其他的源会导致无法通过 apt 下载某些软件。
Ⅰ.打开设置 - Region & Language
,将语言改为汉语(中国)
Ⅱ.在应用中打开 Language Support
,然后会提示完整安装语言支持,点击安装即可。安装完成后,键盘输入法系统选择 IBus
,点击 应用到整个系统
,然后重启系统。
Ⅲ.重启完成后,你会发现系统语言已经切换为中文,然后就可以愉快地使用Ubuntu了!
2.3. 开启SSH连接
详见第三节安装openssh-server
方法。
2.4 设置镜像源
[2022/01/22 更新] 貌似ubuntu官方对20.10的支持已经结束,因此镜像源好像用不了,网上寻找后发现可更换为下面镜像源。
修改 /etc/apt/sources.list
为:
1 | # 默认注释了源码仓库,如有需要可自行取消注释 |
三. 某些软件的安装
安装软件前,请先执行下列命令:
1 | sudo apt update |
3.1 SSH连接工具
请执行下列命令:
1 | # 安装openssh-server |
然后就可以通过SSH工具连接了!推荐:Termius(一个跨平台的SSH工具)或者 Secure CRT。
3.2 qv2ray
这是一个对v2ray做了图形化的工具,实测可以安装在 Ubuntu Desktop 20.10 树莓派上。
1 | # 使用snap安装qv2ray |
参考自:https://snapcraft.io/install/qv2ray/raspbian
3.3 温度监控组件
推荐一个效果如下的组件。
在安装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
开启socks代理后,可以用以下方法来使终端连接代理。
1 | export http_proxy="socks5://127.0.0.1:1080" |
3.3 安装第三方软件
点开商店应用,会发现没有什么软件可以下载,但是这个版本的系统内置了snap商店 https://snapcraft.io/ ,在命令行执行sudo snap install 软件名
即可。
3.4 MongoDB安装
参考:https://andyfelong.com/2020/10/mongodb-4-4-ubuntu-20-04-on-raspberry-pi-4/
1.导入包管理系统使用的公钥
1 | ubuntu@ubuntu:~$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - |
2.为MongoDB创建一个列表文件
1 | ubuntu@ubuntu:~$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list |
3.重新加载本地包数据库
1 | ubuntu@ubuntu:~$ sudo apt-get update |
4.安装MongoDB软件包
1 | ubuntu@ubuntu:~$ sudo apt-get install -y mongodb-org |
5.检查安装并运行
1 | ubuntu@ubuntu:~$ sudo service mongod status |
6.启动mongo shell确认安装正确
1 | ubuntu@ubuntu:~$ mongo |
7.启动与停止服务
1 | sudo service mongod start |
3.5 安装NextCloud
说明
可以用于部署nas网盘,参考如下:
https://blog.csdn.net/Wanginsten/article/details/111664341
注意问题:docker貌似不能用官方脚本安装,因为镜像源已经更改,可以用snap安装。
运行docker容器会遇到一个问题:https://www.jianshu.com/p/c535e79d5836
优化
先进入容器,修改php.ini中的memory_limit
限制(调大一点)。
1 | sudo -u www-data php -d memory_limit=512M occ config:app:set files max_chunk_size --value 0 |
注意:外挂磁盘最好是ext4格式(对Ubuntu来说),实测下载速度可以达到50MB/s (老2.5机械硬盘)。如果速度不达标,请检测路由器WAN/LAN口是否为千兆,网线是否为六类/超五类,并且在路由器中将2.4G和5G信号分离开来,2.4G设置20/40MHz带宽,5G设置80MHz带宽。
3.6 磁盘速度测试
本地
1 | sudo apt-get install hdparm |
四. 探索
4.1 通过网线连接电脑与树莓派
情形:Win10电脑通过WiFi上网,树莓派通过网线连接到电脑上,共享网络。
首先在控制面板->网络连接->WLAN,右键属性,点击共享选项卡,勾选允许。
然后使用网线(直连线)连接电脑与树莓派。
在cmd中通过下列命令查找树莓派IP地址。
1 | arp -a |
五. 一些BUG或者注意事项
目前发现的一些BUG(或者有解决方案,但是我太蠢了)和注意事项总结如下。
5.1 屏幕共享问题
Ⅰ.Ubuntu这个版本自带了屏幕分享(在设置里面),可以通过VNC连接,但是如果树莓派4在开机时没有外接显示器,是无法成功连接的。(就算树莓派4开机后,再连接实体显示器,也不能正常工作)。
Ⅱ.对于上述问题,可能有的教程会推荐安装一个 虚拟显示器插件 的方法,但是我及其不推荐(亲测不稳定,卸载插件后鼠标无法正常工作),方法在下面仅供参考。
随用户登录后,自动启动 vino server。编辑一个 vino-server.desktop 文件,如果 autostart 目录不存在,就创建一个。
1 | sudo vim ~/.config/autostart/vino-server.desktop |
填入下列内容:
1 | [Desktop Entry] |
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 | Section "Monitor" |
配置用户自动登录桌面
查看当前用的是什么管理器:
1 | cat /etc/X11/default-display-manager |
我的是/usr/sbin/gdm3
,那么编辑文件:
1 | sudo vim /etc/gdm3/custom.conf |
把下面三行的注释去掉,其中AutomaticLogin
行修改成自己的用户名。
1 | WaylandEnable=false |
重启电脑,就可以通过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/
5.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 | # 在Ubuntu中执行下列命令 |
5.3 JDK奇怪的错误
原因:在oracle官网下载了 JDK1.8 arm64
版本,运行一个项目发现报错:NoClassDefFoundError: java.awt.Toolkit
。
解决方法:删除现有JDK,通过以下方式重新安装。
1 | # 添加仓库源 |
最后问题解决了,感慨arm架构坑有点多。
5.4 不要卸载python3
原因:执行命令 sudo apt remove python3
后,发现系统设置打不开了,火狐游览器等软件没了,然而命令行执行 python3
发现它依然存在。
解决方法:不要卸载!!!卸载后请按顺序执行下列命令进行抢救!
1 | sudo apt install -f |
5.5 Python3缺少SOCKS依赖
解决方法:先安装pip3,然后执行 pip3 install SOCKS
。
注意,如果执行pip3同样报这个错,执行下列命令即可解决:
1 | unset all_proxy && unset ALL_PROXY |