Bootstrap

参照ROS官方教程安装ROS遇到的问题

 


先放教程链接

 

英文链接:http://wiki.ros.org/ROS/Tutorials

 

中文翻译链接:http://wiki.ros.org/cn/ROS/Tutorials

 

我用的中文翻译版的。

 

我用的VMware虚拟机,linux用的Ubuntu16.04版本,按照安装说明安装ROS Kinetic。

 

第一步设置源,这步是后面下载安装出问题的根源。

后面根据提示设置key,更新apt-get,下载并安装desktop版。

 

 

下载时就出了问题,提示hash校验和不符,出现这个说明连下载都没下载成,智障的我以为安装完了,就忽略了它,强行做下一步sudo rosdep init,提示没有rosdep这个指令(下都没下完,当然没有这个指令了)。

然后就去查hash校验和不符的原因和方法,许多方法都是没有用的。终于被我发现了问题所在,就是之前说的设置源的问题,教程给的是国外官方的源,有部分包可能是被墙了(毕竟最近又加强了一波防火墙)。原因明白后解决问题就简单了,换个源。参照https://blog.csdn.net/u013453604/article/details/49386953这篇博客给出的方法我换了个中科大的源,立马问题就解决了。

 

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

 

最好把下面这句全加到~/.bashrc中,这样每次开机都能用ros命令了。

 

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

 

这样ROS Kinetic就装完了。

但之后问题随之而来,只要你一关虚拟机,重新打开就没有图形界面了。我之前一直以为

是我虚拟机安装的不对出的问题,然后重装了好几遍,每次都这样,终于发现和安装了ros有关,具体是什么关系我还不了解。这里先放一个我安虚拟机和VMware Tools所用的教程,https://www.linuxidc.com/Linux/2016-11/137241.htm。装VMware Tools 时中间跳出的选项我全选的yes,暂时没有问题。

 

回到正题,重新打开虚拟机后显示xxxxxxx is running in low-graphics mode .我又查了一堆资料,怀疑是显卡问题,我电脑是thinkpad,有集显和独显,我以为可能是重启后显卡被切换了才导致的问题。查到有博主说他是128MB显存,换了大显存的显卡就好了,我查了一下自己的,1024MB的,那就不是这个问题了。

 

后来终于找到个能重新显示图形界面的方法了。按下Ctrl+Alt+F1进入命令行界面,输入用户名和密码后,输入下面的命令。

cd /etc/X11  
sudo cp xorg.conf.failsafe xorg.conf 

 

 

 

这个两行命令执行后用sudo reboot重启,确实可以重新显示图形界面了,但分辨率变小了,变成了初始大小了,且不管用什么方法都无法改变屏幕分辨率。为了这个屏幕大小,我又废了好几天。

 

 

好不容易,终于查到一个非常简单的好方法,感谢提供以下方法的博主。

 

sudo apt-get update
sudo apt-get upgrade

 

不用怀疑,就这两行很简单的命令就可以解决问题。之前ROS的安装教程中有让我们输过第一行命令,但没有输第二行命令。可行的原因我不明白,求大神解答。

 

 

当然这里还是有个问题,upgrade的时候又出现了hash校验和不符的问题,又查了好久,发现还是源被墙了的问题。同样的道理,更换一个源,参考https://blog.csdn.net/mandagod/article/details/53968940中更换源的办法,我将源换成了清华的源。

最后用

 

sudo -r /etc/X11/xorg.conf
sudo reboot


将之前复制的文件删除,再重启虚拟机就好了,perfect,ROS没有问题,VMware Tools没有问题,屏幕分辨率没有问题。

 

终于,ROS的安装问题结束了,其实许多时间浪废了,主要还是因为对linux太不了解。

最后感谢中间对我提供或多或少帮助的同学,舍友和文章中提到的参考文章的博主。

;