准备工作

  1. SD卡一张,8GB大小的足矣,用来挂载树莓派的文件系统
  2. 树莓派一个,要安装通用Linux发行版,树莓派的版本需要3/3+/4/400或更新的版本才行,否则就只能安装树莓派的定制系统Raspberry Pi OS
  3. 网线,用于将树莓派接入局域网
  4. 读卡器一个,用于向SD卡写入系统映像
  5. 烧写软件,可以用Image Writer。树莓派官方后来推出了一个树莓派专用的烧写软件Raspberry Pi Imager,把烧录系统的方式简单化了,推荐使用
  6. HDMI连接线与屏幕(可选),安装系统的时候如果有屏幕就会方便许多,可以直接安装带桌面环境的操作系统。当然没有屏幕的话也可以选择通过SSH安装不带桌面环境的操作系统,如果有需要的话可以自行安装桌面环境,再通过安装VNC进行远程桌面连接
  7. VNC Viewer,用于远程桌面连接

为什么选择Manjaro

Manjaro是基于Arch Linux的发行版,背靠Arch这个大山。

  • Arch Linux的社区非常活跃,首先,它有文档丰富的Archwiki,在上面你几乎可以找到一切你想要找的和Arch Linux相关的文档,并且绝大部分页面都有中文翻译,许多文档还指出了某些问题的解决方案,折腾Linux总得踩不少坑,但Archwiki上基本把会踩到的坑都写了个遍,并贴心地提供了解决方案,省了不少Google的时间。
  • 其次,Arch Linux的软件仓库以更新快、内容全著称,更有Arch 用户软件仓库(Arch User Repository,AUR)的支撑,AUR是由用户主导的 Arch 软件仓库,用户们在上面维护、发布软件包,你几乎可以找到一切你需要的软件包,维护者编写好了生成脚本和安装脚本,你可以一键安装,十分方便。
  • 但是Arch Linux的安装却不那么友好,没有图形化的界面,需要有一定的Linux环境知识才能安装,上手不易。Manjaro解决了安装困难的问题,以"Enjoy the simplicity"作为标语的Manjaro提供了图形化的安装方式,用户只需进行些许设置,一直点击"下一步"便能完成安装,享用Arch Linux带来的便利性,即便是使用SSH、命令行的安装方式,Manjaro也会在命令行中绘制图形界面便于用户安装。
  • 最后,Manjaro和Arch Linux采用的是滚动更新的方式,Arch的哲学在于保持软件和系统总是处于最新的状态,和CentOS、Ubuntu等发行版使用的点版本更新不同,滚动更新使得你可以用上最新的软件和功能,尽管你可能也会体验到最新的bug,但作为个人使用来说,易用性比稳定性更为重要。

因此,个人觉得如果作为个人使用的Linux系统的话,Manjaro是非常不错的选择,如果用于生产环境,追求稳定性的话还是老老实实用CentOS或者Ubuntu吧。

下载系统镜像

打开Raspberry Pi Imager,选择CHOOSE OS可以看到官方提供的烧写软件上提供了所有支持的操作系统,它们都是最新的,你可以在上面直接选择,它会自动下载。不过由于网络原因,下载速度可能有些慢,如果你觉得慢的话可以去操作系统的官方页面自行下载,一般会提供BT下载方式,会快很多。

这里我们选择Other genaral purpose OS -> Manjaro ARM Linux
imager
Manjaro官方提供了自带桌面环境的系统镜像,有KDE PlasmaGNOMEXFCE。还有社区成员维护的非官方镜像,它们提供了更多的桌面环境,如MATESway

KDE Plasma以界面华丽、时尚、符合现代风格著称,其自带的主题样式经过精心设计,配色舒适、风格统一、注重细节,丝毫不缺乏美感,从Windows 11的桌面样式中都可以看出KDE的影子。但这不影响其有着高度的可定制性和灵活性,同时也有着强大的兼容性和稳定性,可以称的上是功能最强大、最先进的桌面环境了,但是由于其稍重的资源占用,对于硬件资源捉襟见肘的树莓派来说有些力不从心。

GNOME作为Ubuntu的默认桌面环境,是最为流行和使用最广泛的,虽然没有KDE那样非常细致的自定义选项,但通过插件也可以获得足够的可定制性。个人认为其自带的主题样式不如KDE精致,在易用性方面也比不上KDE。从前的KDE由于其稳定性差,经常崩溃,饱受诟病。但春来秋去,暑往寒来,随着一代代版本的更新和开发组的努力,KDE已经改头换面、今非昔比了,其稳定性已经得到了巨大的飞跃。从它们最近的版本来看,似乎是由于Gnome的开发人员与用户、社区之间存在观念上的矛盾,Gnome 3在用户中的反响不是很好,而KDE Plasma 5则得到了越来越多用户的倾心和呼声。但无论如何,作为使用最广泛的桌面环境,其稳定性在一众桌面环境中依旧独占鳌头。可惜由于其资源占用甚至高于KDE,用在树莓派上似乎不太理想。

XFCE的卖点是快速、轻量,它有着比其他桌面环境更小的资源占用,同时保证了界面的美观,对于树莓派来说是一个十分合适的选择,因此如果需要桌面环境的话,建议使用XFCE。你可以在Raspberry Pi Imager上选择镜像 Manjaro ARM XFCE,如果下载速度不理想,可以去官方页面,上面提供了BT下载方式。

我遇到的问题

由于我没有屏幕,所以使用SSH进行连接安装,而当我使用自带XFCE桌面环境的镜像时,我无法通过SSH连接到树莓派,虽然系统默认启用了SSH,但似乎阻止了root用户的登录,我以root用户登录,尝试了空密码、root、manjaro等密码均无法登陆成功,我又尝试以manjaro用户登录,在尝试了多个密码之后依旧无法登录。所以如果没有屏幕的话,建议在Raspberry Pi Imager上选择镜像Manjaro ARM Minimal,或者使用官方页面提供的BT下载方式,在安装完最小系统之后,自行安装桌面环境。

烧写镜像

使用读卡器将SD卡挂载到电脑上,打开Raspberry Pi Imager,选择好镜像,这里我们选择Other genaral purpose OS -> Manjaro ARM Linux -> Manjaro ARM XFCE,如果是自行下载的镜像,则需要在选择CHOOSE OS后,滚动至最底部选择Use custom,然后选择下载好的.img镜像文件(如果是.xz的压缩文件格式需要先解压)。
use_custom

之后点击CHOOSE STORAGE选择SD卡后就可以点击Write进行烧写了,烧写需要比较久的时间,需要耐心等待。
writing

连接树莓派

将烧写好系统镜像的SD安装到树莓派上,插上电源,用网线将树莓派和电脑连接在同一个局域网下,进入路由器的管理界面或者通过其他方式获取树莓派的ip地址,然后使用ssh客户端,如puttyFinal Shell等连接树莓派,用户名为root,密码为空。当然也可以使用系统自带的cmd或者Power Shell,输入ssh root@ip来连接,其中ip为树莓派的ip地址。

系统安装

通过ssh连接上树莓派后,会自动进入安装界面

  1. 选择键盘布局
    install_1
    由于我不用屏幕,而是用SSH连接树莓派,所以键盘布局无关紧要,随便选了第一个,但这个并不是我们一般使用的QWERTY的键盘布局,如果以后可能会使用到屏幕和键盘,一定要往下翻,选择美式键盘布局us
  2. 输入用户名
    install_2
    由于安装系统临时使用的是root用户,我们需要新建一个用户,在安装完系统之后使用。
  3. 添加用户组
    install_3
    给新建的用户分配额外的用户组,一般留空就好,具体信息可以查阅这个wiki页面
  4. 设置密码
    install_3.5
  5. 输入名字
    install_4
    给用户设置名字,这里随意,可以写自己的名字。
  6. 选择时区
    install_5
    中国大陆地区选择Asia/Shanghai
  7. 选择语言
    install_6
    选择zh_CN.UTF-8设置成简体中文。
  8. 输入主机名
    install_7
    输入一个名字,用于标识该计算机,随意设置即可。
  9. 确认信息
    install_8
    如果信息准确无误,就可以选择Yes,树莓派将会完成安装并重启,等待几分钟,让树莓派完成重启。如果需要修改,选择No,安装会回到第一步重新开始。

安装桌面环境

等待树莓派重启完成后,就可以用刚刚新建的用户使用ssh客户端进行ssh连接了,或者在cmd、Power Shell中输入ssh 用户名@ip,随后会要求输入密码。
login
登录成功以后,输入以下命令安装XFCE桌面环境和Vim编辑器。

sudo pacman -Sy
sudo pacman -S xfce4 xfce4-goodies vim

出现下图所示要求输入某个选择时,直接回车,默认为全部选定。
全部选定

然后输入以下命令编辑.xinitrc文件

vim ~/.xinitrc

i进入插入编辑模式,在文件最后加入以下内容

exec startxfce4

ESC退出编辑模式,输入: q保存退出。

安装VNC远程桌面

输入以下命令安装tigervnc

sudo pacman -S tigervnc

然后输入以下命令设置vnc连接密码

vncpasswd

在输入密码和确认密码之后,会让你选择是否创建一个"view-only password",通过这个密码进行VNC远程桌面连接时只能看而不能操控,我这里直接输入no跳过了。

vncpasswd

创建VNC用户

输入以下命令创建VNC用户

sudo vim /etc/tigervnc/vncserver.users

i进入插入编辑模式,在文件最后加入以下内容

:1=随便写个用户名

其中:1表示第一个用户,会自动分配到5901端口,:2表示第二个用户,分配的端口为5902,以此类推。
ESC退出编辑模式,输入: q保存退出。

配置VNC

输入以下命令查看系统当前安装的桌面环境有哪些

ls /usr/share/xsessions/

如果只安装了XFCE桌面环境,那么命令输出应该只有一行

xfce.desktop

接下来输入以下命令来配置VNC

vim ~/.vnc/config

i进入插入编辑模式,在文件中输入入以下内容

session=xfce
geometry=1920x1080
localhost
alwaysshared

其中session=这一项填写要使用的桌面环境,这里使用的是XFCE桌面环境,上一条命令的输出是xfce.desktop,因此去掉.desktop后这里应填xfce,其他桌面环境同理。
ESC退出编辑模式,输入: q保存退出。

接下来输入以下命令启动vnc服务,并设置为开机自启

sudo systemctl enable vncserver@:1 --now

如果安装的是Minimal最小系统,为了正常显示汉字,还需要输入以下命令安装中文字体

sudo pacman -S wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei

连接VNC

打开VNC Viewer,新建连接,VNC Server处填写树莓派ip:1或者树莓派ip:5901都可,Name处随意填写即可,只是作为标识。
vncviewer

连接时会弹出窗口要求输入VNC密码,这里输入上一步中设置的VNC连接密码即可,注意不要和系统的用户密码混淆。
vncviewer_connect

大功告成了!