Ubuntu 20.04 从零到一:ROS Noetic、Terminator与PyCharm一站式开发环境搭建实战
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 LANGen_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验证安装是否成功可以跑个小乌龟demoroscore rosrun turtlesim turtlesim_node3. Terminator终端深度定制默认的GNOME终端功能太弱Terminator支持分屏、透明背景等高级功能。分享几个我常用的配置技巧安装后先改默认快捷键原CtrlShiftE分屏太反人类gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left [PrimaryLeft]配置文件路径在~/.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 常用分屏操作垂直分屏CtrlShiftV水平分屏CtrlShiftH切换分屏Alt方向键关闭分屏CtrlShiftW4. 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 pkgmy_pkg typenode.py namemy_node outputscreen param namedebug valuetrue/ /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_IP127.0.0.1 # 优化TCP缓冲区 sudo sysctl -w net.core.rmem_max2097152PyCharm内存占用过高 修改vmoptions文件-Xms512m -Xmx2048m -XX:ReservedCodeCacheSize512mTerminator闪退问题# 重置配置文件 rm -rf ~/.config/terminator # 禁用GPU加速 terminator --disable-gpu