按照本文操作完全实现无屏幕远程连接树莓派进行各种操作!亲测有效!不过大家注意一定要按博客顺序操作哈!否则可能会出现bug,博主花了前后近半个多月的时间踩坑并将正确步骤记录如下,刷机十次左右,希望能帮到大家!
注意:每一步骤只用看对应文章中的特定部分即可,虽然很多文章写了其他部分,但是博主都遇到了各种各样的bug,所以已经将对应部分完全没有问题的部分摘出来了。首先需要备份一下你的网络配置文件!一定要备份,否则如果操作失误,没有原文件可能会需要重新刷机!
# 备份操作(备份时仅用该命令即可) sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak # 如果后边你发现你的原文件操作错误,需要使用备份文件,则将原文件删除并将备份文件改名为原文件即可 sudo rm /etc/netplan/50-cloud-init.yaml sudo mv /etc/netplan/50-cloud-init.yaml.bak /etc/netplan/50-cloud-init.yaml 即可完成备份文件的复原(正常不需要使用!)具体操作方法:
树莓派4B(ubuntu)无线网络配置出现以下情况是正常现象,只要第一步sudo netplan try不出现报错即可,然后重启一下树莓派看看是否配置成功吧!
当配置完成wifi后,如果有静态IP配置的需要(否则跳过),则查看:
Ubuntu1804 设置WiFi/有线 静态IP树莓派4B安装ubuntu18.04.4和ROS
注意:在第三部会告诉大家桌面的安装和远程访问,这一部暂时不需要安装桌面。
解决办法,执行如下命令:
cd /etc sudo gedit hosts在文件末尾添加:
151.101.84.133 raw.githubusercontent.com并将电脑连接到手机热点,更换WiFi连接时直接更改WiFi名称和密码即可。参考:上文中配置Wifi的博客即可: 树莓派4B(ubuntu)无线网络配置
多次重试即可,也可以用个无限循环的脚本一直重试。
或者是出现如下的错误:
解决方法:
步骤1:将电脑连接到手机热点更改方法和问题一方法相同。
步骤2:解决GitHub屏蔽问题 依次命令: sudo sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdistro/__init__.py sudo sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py sudo sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdep2/rep3.py sudo sed -i "s/raw.githubusercontent.com/raw.ctl.app/g" /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py再执行rosdep update即可。 建议大家用个无限循环的脚本重复执行rosdep update,免得自己要不停的盯着终端。
到这里说明更新完成了,中断脚本即可。
安装完整版桌面,xubuntu会遇到一些奇怪的问题,所以装完整版即可:
sudo apt-get install ubuntu-desktop安装完毕后配置远程桌面环境:
Ubuntu18.04.4 安装XRDP远程桌面
亲测有效:(连接成功截图)
将树莓派的SD卡插入电脑中,我这里是ubuntu18.04系统,Windows操作相同!
到该盘符下可以直接可以看到network-config文件,打开该文件。
network-config原文件如下:
解注释并将wifi信息修改改成自己的:
保存,退出,配置完成。然后直接通过该WiFi下树莓派的IP访问即可。
效果图: Ubuntu端直接SSH设定的WiFi,连接树莓派: Windows端通过WiFi直连远程桌面:
如果还没有上位机ubuntu环境,则先建立ubuntu虚拟机:Ubuntu——虚拟机安装ubuntu18.04并配置基础开发环境和ROS
配置完成或已有环境,参考博客配置ROS主从机:
主从控制树莓派上小海龟如果在配置完IP后遇到如下问题:解决办法
如果在使用putty使用roscore的时候,putty报错:Network error:Software caused connection abort 的解决办法
到这里就配置完成啦~
