若要正常使用树莓派,你需要:
1.一块树莓派:推荐使用树莓派3以上版本,因为Ubuntu mate系统运行要求较高
2.HDMI转接线:先不要好奇,毕竟正常安装系统才是王道。注意,树莓派3以前版本HDMI口为Mini HDMI,树莓派4使用的是Micro HDMI,千万不要选错
3.电源线和电源头:推荐5V3A,老式小米快充头较为适合
4.鼠标或键盘有一即可,建议有键盘,且不是蓝牙键盘
5.一TF卡,建议在16G以上,感觉16G都有点不够用
6.借用他人的显示器或有一个男朋友
如果你和我一样是个女生,你这个时候肯定会感叹,有男朋友真好啊!!!因为女生宿舍根本没有同学有显示器!!!研究生请自动忽略 w(゚Д゚)w
这里解释一下为什么还是需要显示器和HDMI线:因为我严重怀疑Ubuntu程序员脑子瓦特了,为什么系统没有自带SSH!!!
1.从ubuntu mate官网(https://ubuntu-mate.org/download/)下载树莓派镜像
选择树莓派合适的系统,以4B为例,这里选择64-bit的系统,然后点击进入下载
这里我选择的是20.04.3LTS,下载并保存该镜像。文件格式为.xz,内包含一个.img格式的镜像文件,这里无需解压,若使用树莓派自带系统刷写工具能直接使用该格式文件。
2.插入TF卡,并下载安装系统写入工具
你可以使用各种第三方工具,针对于小白,这里推荐使用树莓派官方提供的Raspberry Pi Imager,下载地址:https://www.raspberrypi.com/software/
下载并安装后,软件的打开界面如上图中所展示的样子,首先选择CHOOSE OS,找到最后的Use Custom,并选择刚下载的镜像。(该工具还提供了联网下载各支持的系统镜像的方式,非常便捷,但由于列表中无Ubuntu Mate,故在此采用了先下载系统镜像的方法)
选择完要安装的系统后,点击CHOOSE STORAGE,选择要写入的储存卡,最后点击WRITE,写入系统镜像。
3.开启树莓派,等待系统初始化并安装
在系统写入SD卡后,就来到了最激动人心的时刻,将树莓派板子开机并点亮。手动点亮一颗小星星⭐
由于该系统无SSH服务,故在第一次使用时需用到显示器和键盘鼠标。系统第一次打开会展开各项文件,然后才能进入图像界面,如果你的树莓派一直开在开机后的前两个界面或报出各种错误,说明你的TF卡可能不太支持,建议选择高速TF卡,一般在卡上会有U3标志。
系统进入图像界面后,该步骤与正常安装系统无异,故不再描述,强烈建议先不要联网,否则系统会卡在waiting for unattended-upgr to exit,这时候系统在更新,会消耗大量时间。如果你已经在这一步卡了很久,可以鼠标选择退出,或按下键盘Ctrl+Alt+T,打开一个Shell,输入reboot重启。重启后会重新之前的步骤。
4.系统源的切换和更新
具体切换安装包源的方法可参见其他博主,这里提供一种换源方法,Ctrl+Alt+T打开Shell,输入:
sudo vim /etc/apt/sources.list
打开源文件后,在其后添加下列内容,这里你需要按下Insert键才能进入编辑模式,编辑完成后,按Esc,输入:wq,保存并退出。
deb http://us.archive.ubuntu.com/ubuntu trusty main universe
若后续提示“由于没有公钥,无法验证签名”,可执行:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys xxxxxxxxx
最后,依次执行下列命令,更新系统:
sudo apt update
sudo apt upgrade
同时,建议您安装gedit,gedit是ubuntu的一个类似于Windows记事本的文本编辑器,比较符合Windows老用户的习惯,Ubuntu自带的文本编辑器除vim外,还有nano等,可根据你的习惯选择。gedit安装方法如下:
sudo apt install gedit
这里可以看出,Ubuntu安装扩展包的方式为sudo apt install +包名,apt其实只是Ubuntu的一种软件包管理器,其余还有dpkg等,建议初学者自行了解。
至此,系统安装与更新已经完成,但是,我们仍然依赖显示器和键盘,那么如何才能在我们的电脑或笔记本上对其进行控制呢,接下来,我们首先安装SSH服务,安装这个服务后,我们才算真正摆脱显示器与键盘。
这样就不需要男友或男友同学的显示器了 o(*≧▽≦)ツ┏━┓
1.设置管理员账户(root)密码
sudo passwd root
2.安装SSH服务
sudo apt-get install openssh-server
3.允许Root登录:
修改ssh配置文件/etc/ssh/sshd_config,将PermitRootLogin前的注释删除,并将其后内容改为yes:
sudo gedit /etc/ssh/sshd_config
4.开启服务并设置开机自启
sudo /etc/init.d/ssh start #开始服务
sudo /etc/init.d/ssh stop #停止服务
sudo /etc/init.d/ssh restart #重启服务
sudo systemctl enable ssh #开机自启
5.查看SSH服务是否开启
输入ps -e | grep ssh命令看到有类似于 1688 ? 00:00:00 sshd
或者用sudo netstart -tlp命令来检测,看到: tcp6 0 0 [::]:ssh [::]: *
若提示没有netstart命令,可能是系统还没安装网络工具,可以执行如下命令:
sudo apt-get install net-tools
6.SSH连接树莓派
windows CMD虽也能执行SSH连接,但这里推荐使用PuTTY,该工具能执行高级SSH操作
需保证笔记本与树莓派在同一局域网中,找到树莓派的IP地址,以192.168.1.100为例,打开PuTTY,输入该IP,默认端口号即为22,点击OPEN进行连接。登录账号和密码,即可实现远程控制。
1.VNC介绍与选择
有了远程的代码命令控制,但没有图形界面,很多时候也让我们效率低下,那么VNC服务便为我们打开了这一扇窗,让我们能通过图形,可视化控制树莓派。
VNC服务有很多,常见的有tightvnc、vnc4server、vino+dconf-editor、x11vnc等,在做项目时,我尝试了多个VNC,最后不得不选择x11vnc。其实,vnc4server扩展性更好,支持多用户操作,x11vnc并不支持多用户,但在我换源并尝试多次后,始终未对最新版的系统找到合适的vnc4server包,故不得不放弃,而系统自带的桌面共享vino+dconf-editor,每次连接需要手动在树莓派端确认,如此不切实际的操作让我望尘莫及,而tightvnc也是错误不断,最后不得不选择了x11vnc。
以下便针对x11vnc的安装进行讲解。
2.安装X11VNC
sudo apt install x11vnc
sudo x11vnc -storepasswd #设置VNC密码
sudo x11vnc -storepasswd in /etc/x11vnc.pass #将密码文件保存到/etc目录
3.配置X11VNC服务
sudo gedit /lib/systemd/system/x11vnc.service
输入以下命令:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared -o /home/<你的用户名>/.vnc/x11vnc.log
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
其中-o /home//.vnc/x11vnc.log为设置日志文件保存位置,-rfbport 5900为设置端口号5900,这里也可以自行更改,-rfbauth /etc/x11vnc.pass为设置密码文件地址。
4.启动服务并设置开机自启
sudo lightdm #启动lightdm服务
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service #设置开机自启
sudo systemctl start x11vnc.service #开启x11vnc服务
在此之后,可进行系统重启,并通过top命令查看x11vnc进程是否运行
5.通过VNC连接树莓派
X11VNC需借助VNC软件对树莓派远程访问,这里推荐使用VNC Viewer,其界面如下:
在输入栏中输入树莓派地址,如192.168.1.100:5900,输入设置的VNC密码,此时,便可连接树莓派:
6.问题描述
密码总是不对?(password check failure?)???
!!!恭喜你,遇到和我一样的问题了,如果你找到了更好的解决方案,请告诉我。
在使用X11VNC时,我遇到了密码总是匹配不成功的情况,打开VNC日志文件,并未察觉出错误原因,在尝试多种方案后,果断放弃设置密码(万不得已不要使用!!!),在第三步的配置文件中,删去-rfbauth /etc/x11vnc.pass
如果上述情况,你都正常运行,并能连接到桌面环境,我用一个棒棒糖赌你还在用着显示器 ( =•ω•= )m,不妨把显示器拔掉?
当你觉得你的树莓派可以正常裸奔使用了,那你可能考虑少了!!!因为脱离显示器后,树莓派开机便不会进入桌面环境,更不可能打开VNC服务。
那么,肿么办?有两种方案,简单粗暴:1.买一个HDMI虚拟负载,插在你的HDMI口上,告诉树莓派,我可连了一个显示器哦,你的桌面要正常打开( ﹁ ﹁ ) ~→;2.安装虚拟显示组件。以第二种方法为例,进行讲解:
1.安装模块:
sudo apt install xserver-xorg-video-dummy
2.编辑配置文件:
sudo nano /usr/share/X11/xorg.conf.d/xorg.conf
输入以下内容:
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# https://arachnoid.com/modelines/
# 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
EndSection
Section "Device"
Identifier "Card0"
Driver "dummy"
VideoRam 256000
EndSection
Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1024x768_60.00"
EndSubSection
EndSection
通过语义,大家应该可以自行了解并更改里面的参数。
3.最后的最后
要自动登录桌面会话,需利用lightdm,将其配置文件增添命令:
打开配置文件:
sudo nano /etc/lightdm/lightdm.conf
添加内容:
[SeatDefaults]
autologin-user=<你的用户名>
autologin-user-timeout=0
user-session=ubuntu