树莓派使用Ubuntu21.04发行版

1. 配置桌面系统

点击这里获取Ubuntu 21.04桌面

这里是清华软件镜像,在列表中找

ubuntu-21.04-preinstalled-desktop-arm64+raspi.img.xz

这里获取imager_latest.exe安装程序

2. 更换软件源

适用于Arm64平台的清华大学软件源 ubuntu 21.04

以root用户打开编辑器

sudo cp -p /etc/apt/sources.list /etc/apt/sources_bk.list
sudo gedit /etc/apt/sources.list

注意 ubuntu -> ubuntu-ports

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ hirsute-proposed main restricted universe multiverse

之后更新源

sudo apt update
sudo apt upgrade
sudo apt-get upgrade

3. 连接蓝牙设备

以连接罗技K580为例,在图形化界面中开启蓝牙进行搜索,连接成功后会提示输入PIN码,在键盘上进行输入按回车即可。

以命令行进行连接的方法目前尚不明确。

出现的问题

  1. 命令行进行连接时,connect成功,设置为trust成功,之后未显示PIN码,无法完成匹配流程。

  2. USB接收器无法使用。在其它设备上有效。

4. 浏览器配置

在Ubuntu上主要使用Edge浏览器,登录微软账户进行数据同步。

上述关于浏览器的配置操作在树莓派上并不可行。

适用于arm平台的浏览器,目前只有Firefox以及Chromium两款。

如果想要将树莓派作为日常影音娱乐的平台的话,并不推荐使用Firefox,因为Firefox缺少相关的解码器(甚至还没废止flash),在Firefox上无法播放音视频。

Chromium是合适的,不过如何下载是一道难题(因为墙)。

Chromium的官方网站以及snap商店在国内无法进行访问(snap商店是Ubuntu系统中的软件中心,相当于AppStore)。

通过apt进行 chromium-browser 的下载是可行的,不过需要你的设备至少连接一次snap(即使你选择了skip)。

这里可以通过手机热点来共享连接,从而完成到snap的访问。不过在树莓派上使用Chromium观看音视频的体验并不是很好,总是会出现卡顿的情况,这里的原因我并没有进行调查。估计可能是gnome / Chromium / 或者树莓派本身条件并不适合这种娱乐。我决定用树莓派原生的系统再次进行尝试。

5. 配置开发环境

用树莓派进行影音娱乐有些困难,不过作为一个小型服务器来使用是树莓派比较适合的应用场景。

这里我选择使用 windows + VScode 通过ssh连接使用树莓派,并在树莓派上配置git以及Java开发环境。

1. 启动ssh服务

在树莓派上安装 openssh-server :

sudo apt install openssh-server

在树莓派上启用 ssh 服务

sudo service ssh start

查看树莓派的 ip

ifconfig

2. 生成ssh密钥

这个过程可以参照 github.docs ,不过我们需要的是在windows中进行密钥的生成。我们的最终目的是要实现Windows向树莓派的ssh登录。

3. 认证ssh密钥

第一种方式:

将生成的.pub文件上传至树莓派。我这里使用VScode的remote连接进行文件的上传。

连接的时候请使用 username@remote_host 的形式进行连接,输入密码后即可完成连接。

打开树莓派上的任意文件夹,将.pub文件拖入即可完成上传。我这里将文件存入了 ~/.ssh/ 目录下。

将.pub文件内容保存到 authorized_keys 文件中即可完成密钥的认证。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

之后重启树莓派的ssh服务

sudo service ssh restart

第二种方式:

在windows环境下使用 ssh-copy-id 工具,如果powershell中没有的话,可以通过 git-bash 进行尝试。

ssh-copy-id -i xxx.pub username@remote_host

3. 使用ssh进行登录

在vscode界面中点击左下角的remote连接,选择打开 ssh configuration file 进行ssh设置

Host <nick_name>
  HostName <remote_host>
  User <username>

设置完成之后就可以通过host的下拉列表选择主机进行登录了。

4. 配置git

在树莓派上安装git

sudo apt install git

为git配置全局的用户和邮箱

git config --global user.name "Your Name"
git config --global user.email "Your Email"

为你的git配置ssh认证,这里的参照与生成ssh密钥的过程一样,以防万一,还是要确认一下文档。

配置完成之后就可以通过ssh连接来clone仓库了。

5. 配置Java环境

java环境直接通过简单粗暴的命令进行安装

sudo apt install openjdk-11-jdk

检查安装情况

java --version

在vscode中搜索并安装Java扩展-Extension Pack for Java

重新启动vscode之后运行一段helloworld看看效果

public class Man {
    public static void main(String[] args) {
        System.out.println("hello world!!!!!!!");
    }
}

6. 配置C/C++开发环境

这只是突发奇想,最近可能有重新学起 C/C++ 的需要,所以在树莓派上,使用 vscode + gcc/g++ + gdb 构造开发环境。

sudo apt install build-essential  
build-essential 依赖于以下组件: libc6-dev libc-dev, gcc (>= 4:9.2), g++ (>= 4:9.2), make, dpkg-dev (>= 1.17.11)。这意味着你同时安装了上述依赖,这些依赖应该是C/C++开发过程中经常使用的开发工具。

其余的步骤参考微软文档进行配置即可。