对于习惯Windows的开发者来说,切换到Ubuntu进行机器人开发可能会遇到不少挑战。本文将带你从零开始,在VMware虚拟机中搭建一个既高效又美观的Ubuntu20.04开发环境,特别针对ROS Noetic开发进行优化。
在Windows上使用VMware Workstation Pro创建Ubuntu20.04虚拟机时,有几个关键配置需要注意:
bash复制# 检查虚拟机硬件信息
lscpu | grep "CPU(s)"
free -h
df -h
安装过程中有几个容易被忽视但很重要的选项:
分区方案:
/ 根分区:30-50GBswap 交换分区:内存大小的1-1.5倍/home 家目录:剩余所有空间安装类型:选择"最小安装"以减少不必要的软件包
第三方软件:勾选安装MP3等媒体支持
虚拟机环境下常见的几个问题及解决方案:
| 问题 | 解决方案 | 命令 |
|---|---|---|
| 无法拖放文件 | 安装VMware Tools | sudo apt install open-vm-tools-desktop |
| 剪贴板不共享 | 启用共享剪贴板 | 虚拟机设置 > 选项 > 客户机隔离 |
| 分辨率不适配 | 调整显示设置 | xrandr --output Virtual1 --mode 1920x1080 |
bash复制# 更换为国内软件源(以清华源为例)
sudo sed -i 's|http://.*archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
sudo sed -i 's|http://.*security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
提示:更新后建议重启系统以确保所有更新生效
ROS Noetic是最后一个支持Python2的ROS版本,也是Ubuntu20.04的官方支持版本。以下是完整安装步骤:
bash复制sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
bash复制sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
bash复制sudo apt update
sudo apt install ros-noetic-desktop-full
bash复制sudo rosdep init
rosdep update
在.bashrc文件末尾添加以下内容,使ROS环境变量自动加载:
bash复制# ROS环境设置
source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash
# 自定义ROS命令别名
alias cm="catkin_make"
alias cw="cd ~/catkin_ws"
alias killgazebo="killall -9 gzserver gzclient"
Terminator是ROS开发者最爱的终端工具,以下是我的推荐配置:
bash复制sudo apt install terminator
bash复制mkdir -p ~/.config/terminator
gedit ~/.config/terminator/config
ini复制[global_config]
title_use_system_font = False
title_font = Monospace 10
[keybindings]
[profiles]
[[default]]
background_color = "#2e3436"
cursor_color = "#babdb6"
font = Monospace 11
foreground_color = "#eeeeec"
show_titlebar = False
use_system_font = False
[layouts]
[[default]]
[[[child1]]]
type = Terminal
[[[window0]]]
type = Window
[plugins]
对于ROS开发,PyCharm专业版提供了更好的支持:
bash复制wget https://download.jetbrains.com/python/pycharm-professional-2021.2.3.tar.gz
tar -xzf pycharm-professional-2021.2.3.tar.gz -C ~/
bash复制sudo ln -s ~/pycharm-2021.2.3/bin/pycharm.sh /usr/local/bin/pycharm
在Windows和Ubuntu之间共享文件有几种方案:
VMware共享文件夹:
/mnt/hgfs/目录SSH文件传输:
bash复制# 在Ubuntu上安装SSH服务器
sudo apt install openssh-server
# 从Windows使用WinSCP连接
bash复制sudo apt install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
bash复制sudo apt install tmux
经过以上步骤,你将获得一个既美观又高效的Ubuntu20.04开发环境,特别适合ROS Noetic开发。在实际使用中,我发现Terminator的分屏功能特别适合同时查看代码和运行ROS节点,而PyCharm的ROS插件则大大简化了包管理和节点调试的流程。