news 2026/4/17 22:50:24

Ubuntu 20.04 从零到一:ROS Noetic、Terminator与PyCharm一站式开发环境搭建实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 LANG=en_US && xdg-user-dirs-gtk-update

2. 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_node

3. 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开发环境需要额外步骤:

  1. 在Plugin中安装ROS插件
  2. 创建Catkin工作空间时勾选"ROS-enabled"
  3. 设置Python解释器为/usr/bin/python3

调试ROS节点的小技巧:

  • 在Run Configuration中添加ROS Launch类型
  • 勾选"Single instance only"避免重复启动
  • 使用"Attach to Process"功能调试运行中的节点

5. 开发环境联调实战

去年做SLAM项目时,我总结出这套高效工作流:

  1. 在Terminator中开三个分屏:

    • 左:roscore
    • 右上:roslaunch启动节点
    • 右下:rostopic echo调试信息
  2. PyCharm中配置远程调试:

<launch> <node pkg="my_pkg" type="node.py" name="my_node" output="screen"> <param name="debug" value="true"/> </node> </launch>
  1. 常用调试命令组合:
# 查看节点关系图 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.bash

6. 避坑指南与性能优化

在实验室部署了二十多台开发机后,我整理了这些常见问题解决方案:

中文输入法卡顿

# 改用ibus框架更稳定 sudo apt install ibus-pinyin im-config -n ibus

显卡驱动问题

# 查看推荐驱动 ubuntu-drivers devices # 安装专有驱动 sudo ubuntu-drivers autoinstall

ROS通信延迟

# 设置本地回环 export ROS_IP=127.0.0.1 # 优化TCP缓冲区 sudo sysctl -w net.core.rmem_max=2097152

PyCharm内存占用过高: 修改vmoptions文件:

-Xms512m -Xmx2048m -XX:ReservedCodeCacheSize=512m

Terminator闪退问题

# 重置配置文件 rm -rf ~/.config/terminator # 禁用GPU加速 terminator --disable-gpu
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 22:49:22

NoSQL数据库Redis(三):主从复制

Redis 主从复制详解Redis 主从复制 (Replication) 是 Redis 实现高可用性 (High Availability)、数据冗余备份以及读写分离的核心机制之一。它允许一个 Redis 服务器&#xff08;称为主节点&#xff0c;Master&#xff09;将其数据实时或准实时地复制到一个或多个其他 Redis 服…

作者头像 李华
网站建设 2026/4/17 22:47:18

JS垃圾回收机制

内存回收 内存回收:全局变量在关闭页面之前一般不会回收,局部变量会在使用完毕之后自动回收,若本该回收的变量无法回收或未回收叫内存泄露 内存泄漏:内存泄漏有多种情况非严格模式下变量忘记加var/let/const,导致隐式创建全局变量,挂载在window上,因为全局对象是根,不会被回收,…

作者头像 李华
网站建设 2026/4/17 22:47:03

告别C1083编译噩梦:从环境变量INCLUDE/LIB配置根治pip安装头文件缺失

1. 为什么pip安装时总报C1083头文件缺失错误&#xff1f; 每次用pip安装需要编译的Python包时&#xff0c;最怕看到的就是满屏红色报错&#xff0c;特别是那个经典的"C1083: 无法打开包括文件"。我刚开始接触Python开发时&#xff0c;为了装个pybullet库折腾了整整两…

作者头像 李华
网站建设 2026/4/17 22:45:19

【推荐算法】保序回归校准:从理论到广告混竞场景的平滑实践

1. 广告系统中的预估偏差问题 在广告推荐系统中&#xff0c;CTR&#xff08;点击率&#xff09;预估模型就像一位经验丰富的导购员&#xff0c;它能预测用户对每个广告的点击概率。但这位导购员有个小毛病&#xff1a;它给出的预估数字经常和实际情况有出入。比如它说"这个…

作者头像 李华
网站建设 2026/4/17 22:43:11

5分钟快速上手:开源视频智能分析工具的完整指南

5分钟快速上手&#xff1a;开源视频智能分析工具的完整指南 【免费下载链接】video-analyzer Analyze videos using LLMs, Computer Vision and Automatic Speech Recognition 项目地址: https://gitcode.com/gh_mirrors/vi/video-analyzer 在当今视频内容爆炸式增长的时…

作者头像 李华