본문 바로가기

Robot/Robot Program - ROS

Ubuntu에서 zsh에서 ROS2 명령이 자동 완성되지 않을 때

우분투든, 맥이든 터미널 작업을 하다보면, 점점 zsh를 사용하고 싶어집니다. 일단 이쁘니까요^^. 그리고 몇몇 눈에 띄는 기능들도 있구요. 맥에서는 zsh 설치와 터미널 세팅에 대한 이야기를 했었습니다.

https://pinkwink.kr/1354

 

Mac M1 노트북 (Mac silicon) 터미널 세팅 - iTerm2

요즘 노트북 세계에 한 가지 큰 이슈라면 애플에서 나온 맥 m1 노트북이 아닐까요. 정말 많은 이슈를 만들고 있는 것 같습니다. 저는 예전에 맥북 사용에서 해두면 편한 몇 가지 설정을 이야기한

pinkwink.kr

아무튼... 우분투 유저들도 bash를 사용하다가 zsh로 넘어가는 일이 많은데요. 그 때, 한가지~ ROS2 유저들의 경우 ROS2 명령이 자동완성되지 않을 때가 있습니다. 분명 bash에서는 되던 건데요.

위 그림처럼 source 명령으로 setup.zsh를 부르고, ros2 laun까지 타이핑 한 다음... 탭키를 쳐도.. 완성이 안되죠.ㅠㅠ.

그것은 위 명령을 입력한 내용이 터미널에서 실행되어야 하는데요. 그래서

eval "$(register-python-argcomplete3 ros2)"
eval "$(register-python-argcomplete3 colcon)"

위 두 줄이 터미널에서 실행되면 됩니다.

두 줄을 복사해서 붙여 넣어보면 자동완성이 잘 되는 것을 확인할 수 있습니다. 위 명령을 .zshrc에 등록해서 사용하면 됩니다. 저의 경우는 .zshrc에 

이렇게 alias를 하나 잡아놓고, humble을 부를때마다 실행되도록 합니다.

반응형