Software/Ubuntu and Mint

ROS2에서 ros domain id를 터미널 프롬프트에 표현하기

PinkWink 2024. 11. 4. 08:00

여러 로봇을 ROS2에서 다루는 경우, 터미널마다 ros domain id가 혼돈되어 실수하는 경우가 자주 있죠. 이럴때 터미널에서 도메인 아이디를 보기좋게 표현되는 방법을 써보면 좋습니다.

바로 이렇게요^^ 일단 터미널에서 아래 코드를 넣어보죠.

GREEN='\[\e[1;32m\]' 
BLUE='\[\e[1;34m\]' 
NC='\[\e[0m\]'
PS1="${BLUE}(ID: \${ROS_DOMAIN_ID:-unset})${GREEN}\u${NC}${GREEN}@\h${NC}:${BLUE}\w${NC}\$ "

이 코드를 최초 디폴트 터미널에 넣어보겠습니다.

그리고 나면 

이렇게 됩니다. 만약 unset이 아니라, ros2가 동작하면 default가 0이니 0으로 하겠다고 하면, 

GREEN='\[\e[1;32m\]' 
BLUE='\[\e[1;34m\]' 
NC='\[\e[0m\]'
PS1="${BLUE}(ID: \${ROS_DOMAIN_ID:-0})${GREEN}\u${NC}${GREEN}@\h${NC}:${BLUE}\w${NC}\$ "

이렇게 하면 됩니다. 실행 결과는 

잘 되네요. 이제 ros domain id를 export로 변경해보죠. 

짠~^^ 이제 이 내용을 bashrc에 추가합니다.

추가하는 방법은 위 그림은 nano를 사용했지만, 아무 편집기를 사용하시면 됩니다. 그리고 나면 이제 터미널을 켤때마다 적용될겁니다.^^

반응형