1. Ubuntu 20.04系统安装与基础配置
刚接触Ubuntu系统的朋友可能会觉得安装过程很神秘,其实就像给手机刷机一样简单。我去年帮实验室十几个同学配置环境时,发现90%的问题都出在基础安装环节。下面分享几个实测有效的技巧:
首先下载镜像时,建议直接访问Ubuntu官网获取20.04 LTS版本。LTS代表长期支持版,官方会提供5年的更新维护,特别适合作为开发环境。下载完成后记得用md5sum校验文件完整性,我遇到过三次因下载不完整导致的安装失败。
安装方式推荐双系统或虚拟机。如果是主力开发机,建议分配至少50GB磁盘空间。有个学生曾经只分20GB,结果ROS装到一半就爆盘。安装时注意勾选"安装第三方软件"选项,这样会自动装上显卡驱动等常用组件。
装完系统第一件事就是换源。清华源的加速效果最稳定,执行这两个命令就能搞定:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list语言设置有个坑要注意:如果安装时选了中文,家目录会变成"桌面"、"下载"这样的中文路径。这会导致很多脚本报错,建议用这个命令切换为英文路径:
export LANG=en_US && xdg-user-dirs-gtk-update2. ROS Noetic完整安装指南
作为机器人开发的标配工具,ROS在Ubuntu 20.04上对应的版本是Noetic。去年给机器人战队培训时,我整理了一套稳定安装方案:
先装必备依赖,这几个包经常被忽略但很重要:
sudo apt install -y net-tools openssh-server build-essential设置中科大源(比官方源快3倍以上):
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'导入密钥时如果卡住,可以尝试换端口:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654桌面完整版安装包含Gazebo等常用工具:
sudo apt update && sudo apt install -y ros-noetic-desktop-full环境变量配置建议写入.bashrc,这样每次开终端自动生效:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc验证安装是否成功可以跑个小乌龟demo:
roscore & rosrun turtlesim turtlesim_node3. Terminator终端深度定制
默认的GNOME终端功能太弱,Terminator支持分屏、透明背景等高级功能。分享几个我常用的配置技巧:
安装后先改默认快捷键(原Ctrl+Shift+E分屏太反人类):
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "['<Primary>Left']"配置文件路径在~/.config/terminator/config,这是我的主题配置:
[profiles] [[default]] background_color = "#2c2c2c" cursor_color = "#ffffff" font = Monospace 12 foreground_color = "#d3d3d3" show_titlebar = False [layouts] [[default]] [[[child1]]] type = Terminal [[[window0]]] type = Window parent = ""常用分屏操作:
- 垂直分屏:Ctrl+Shift+V
- 水平分屏:Ctrl+Shift+H
- 切换分屏:Alt+方向键
- 关闭分屏:Ctrl+Shift+W
4. PyCharm专业版配置技巧
虽然社区版免费,但专业版对ROS开发支持更好。教育邮箱可以免费申请授权,具体操作:
下载官方安装包后,解压到/opt目录更规范:
sudo tar -xzf pycharm-professional-2020.2.tar.gz -C /opt创建桌面快捷方式:
sudo ln -s /opt/pycharm-2020.2/bin/pycharm.sh /usr/local/bin/pycharm配置ROS开发环境需要额外步骤:
- 在Plugin中安装ROS插件
- 创建Catkin工作空间时勾选"ROS-enabled"
- 设置Python解释器为/usr/bin/python3
调试ROS节点的小技巧:
- 在Run Configuration中添加ROS Launch类型
- 勾选"Single instance only"避免重复启动
- 使用"Attach to Process"功能调试运行中的节点
5. 开发环境联调实战
去年做SLAM项目时,我总结出这套高效工作流:
在Terminator中开三个分屏:
- 左:roscore
- 右上:roslaunch启动节点
- 右下:rostopic echo调试信息
PyCharm中配置远程调试:
<launch> <node pkg="my_pkg" type="node.py" name="my_node" output="screen"> <param name="debug" value="true"/> </node> </launch>- 常用调试命令组合:
# 查看节点关系图 rqt_graph # 性能分析 top -H -p $(pgrep -f my_node) # 带宽监控 iftop -i wlp3s0环境变量冲突是常见问题,如果遇到PyCharm找不到ROS包,检查~/.bashrc是否包含:
source /opt/ros/noetic/setup.bash source ~/catkin_ws/devel/setup.bash6. 避坑指南与性能优化
在实验室部署了二十多台开发机后,我整理了这些常见问题解决方案:
中文输入法卡顿:
# 改用ibus框架更稳定 sudo apt install ibus-pinyin im-config -n ibus显卡驱动问题:
# 查看推荐驱动 ubuntu-drivers devices # 安装专有驱动 sudo ubuntu-drivers autoinstallROS通信延迟:
# 设置本地回环 export ROS_IP=127.0.0.1 # 优化TCP缓冲区 sudo sysctl -w net.core.rmem_max=2097152PyCharm内存占用过高: 修改vmoptions文件:
-Xms512m -Xmx2048m -XX:ReservedCodeCacheSize=512mTerminator闪退问题:
# 重置配置文件 rm -rf ~/.config/terminator # 禁用GPU加速 terminator --disable-gpu