A comprehensive setup script for configuring Ubuntu 22.04 (Jammy Jellyfish) with ROS2 Humble and essential development tools.
This tool automates the installation and configuration process for a complete development environment on Ubuntu 22.04. It's designed for robotics developers, researchers, and enthusiasts who need a quick setup for ROS2 Humble and related tools.
The script configures system settings, installs necessary software packages, sets up Korean language support, configures ROS2 Humble, and creates utility scripts for daily development workflow.
- Ubuntu 22.04 LTS (Jammy Jellyfish)
- Administrator (sudo) privileges
- Internet connection
- At least 20GB of free disk space
- Recommended: NVIDIA GPU for driver installation
-
System Configuration
- GRUB timeout reduction (01_system_config.sh)
- APT mirror configuration (Korean Kakao mirror) (01_system_config.sh)
- Korean language input setup (02_korean_config.sh)
- GNOME desktop environment customization (12_gnome_settings.sh)
-
Software Installation
- ROS2 Humble desktop (08_ros2_humble.sh)
- NVIDIA drivers (automatic detection and installation) (03_nvidia_drivers.sh)
- Google Chrome (specific version pinning) (05_chrome_install.sh)
- MATLAB (interactive installation) (06_matlab_install.sh)
- Visual Studio Code (07_other_software.sh)
- Terminator with infinite scrollback (13_terminator_config.sh)
- Docker CE with NVIDIA Container Toolkit support (14_docker_install.sh)
- CopyQ clipboard manager with Super+V shortcut (15_clipboard_manager.sh)
- Development packages and utilities (04_software_packages.sh)
-
ROS2 Configuration
- Complete ROS2 Humble installation (08_ros2_humble.sh)
- Colcon build tools (08_ros2_humble.sh)
- Environment setup (09_shell_config.sh)
- Convenient aliases for building projects (09_shell_config.sh)
-
Additional Tools
- Xbox controller drivers (xpadneo) (07_other_software.sh)
- Workspace initialization script (09_shell_config.sh)
- Windows boot script for dual-boot systems (09_shell_config.sh)
- NAS connection configuration (11_nas_setup.sh)
-
Claude Code Installation (10_claude_code.sh)
- nvm (Node Version Manager) - latest version
- Node.js LTS (Long Term Support) version
- Claude Code CLI tool (@anthropic-ai/claude-code)
- Automatic version management without hardcoded versions
- Clone this repository:
git clone https://github.com/username/ros2_humble_setup_tool.git
cd ros2_humble_setup_tool- Make the script executable:
chmod +x ubuntu_setup.sh- Run the script:
./ubuntu_setup.sh- Interactive Components:
- Korean input setup: When the language selector opens, click the 'Install' button if prompted to install additional language packages
- MATLAB installation: You need to manually download the MATLAB installation file (browser will open automatically)
- NAS connection: You will be prompted to enter your Synology NAS server address, username, and password
- Important: When setting up the keyring password at the end of installation, leave it blank for automatic connections after system reboot
The script will guide you through the installation process with clear prompts. After installation, you'll have several utility scripts available in your home directory:
initiate_bash.sh: Interactive tool to select ROS2 version, MATLAB version, and workspace pathdocker_run.sh: Script for launching Docker containers with proper configurationgo_windows.sh: Quick reboot to Windows for dual-boot systems (accessible via desktop shortcutgo_windows.desktopfor easy double-click execution)
After installation, the system will be configured with:
-
ROS2 Humble and development tools
-
Convenient aliases in
.bashrcfor ROS2 development:cbd: Clear and build in debug modecbr: Clear and build in release mode
-
Environment variables in
.bashrc:ROS_DOMAIN_ID=30: Sets the ROS domain ID- Language settings:
LANG=en_US.UTF-8 - ROS console formatting:
RCUTILS_CONSOLE_OUTPUT_FORMAT='[{severity}]: {message}' - Colorized output:
RCUTILS_COLORIZED_OUTPUT=1 - Logging settings:
RCUTILS_LOGGING_USE_STDOUT=0andRCUTILS_LOGGING_BUFFERED_STREAM=1
-
Auto-sourced tools in
.bashrc:- Colcon argument completion
- VCS tool completion
- Colcon directory functions
- Custom workspace initialization script
-
Korean language support with proper input method configuration
-
Dark mode GNOME theme with customized dock settings
-
Terminator with infinite scrollback configuration
-
NAS connection setup for shared storage
-
Performance power profile activation
-
Custom keyboard shortcuts:
Super+V: Open CopyQ clipboard manager (with clipboard history)- Automatic conflict resolution for shortcut keys
After installing ROS2 Humble, you can create and set up a ROS2 workspace:
mkdir -p ~/ros2_ws/src
cd ~/ros2_wsInstall dependencies for your ROS2 packages:
rosdep install --from-paths src -y --ignore-srcBuild your workspace:
colcon buildThe setup tool includes the following scripts:
- 01_system_config.sh: Basic system configuration
- 02_korean_config.sh: Korean language support
- 03_nvidia_drivers.sh: NVIDIA drivers installation
- 04_software_packages.sh: Common software packages
- 05_chrome_install.sh: Google Chrome installation
- 06_matlab_install.sh: MATLAB installation
- 07_other_software.sh: Additional software
- 08_ros2_humble.sh: ROS2 Humble installation
- 09_shell_config.sh: Shell configuration including aliases
- 10_claude_code.sh: Claude Code CLI installation
- 11_nas_setup.sh: NAS configuration
- 12_gnome_settings.sh: GNOME desktop settings
- 13_terminator_config.sh: Terminator terminal configuration
- 14_docker_install.sh: Docker installation
- 15_clipboard_manager.sh: Clipboard manager setup
This tool was developed to streamline the setup process for robotics development environments using ROS2 Humble on Ubuntu 22.04.
- Moon Seongjoon - Script developer and maintainer - janismoon - janismoon@korea.ac.kr
This project is licensed under the MIT License - see the LICENSE file for details.