ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Autocomplete not working anymore

asked 2013-01-25 00:35:03 -0600

r0nald gravatar image

updated 2016-05-25 14:42:31 -0600

2ROS0 gravatar image

Hi. When I first installed ROS Groovy, most of its commands had autocomplete and I found it very useful.

For some reason, autocomplete of ros command arguments (topic, service, package and node names) is not working any more. Any ideas how to get it to work again?

edit retag flag offensive close merge delete


Could you try a clean shell where you don't source specific files and set no environment variables and the just source /opt/ros/groovy/setup.bash (assuming you use bash) and see if it works. (For me amd64/groovy updated today completion works).

dornhege gravatar image dornhege  ( 2013-01-25 01:04:26 -0600 )edit

What lines in the setup.bash script are responsible for tab completion? In some of my nodes, rosrun doesn't tab complete and I'd like to debug upwards from the root of the problem.

2ROS0 gravatar image 2ROS0  ( 2016-05-25 14:40:53 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2013-01-25 01:38:52 -0600

KruseT gravatar image

Autocompletion is activated using setup.bash instead of

edit flag offensive delete link more


Thanks, that information helped.

r0nald gravatar image r0nald  ( 2013-01-25 01:46:51 -0600 )edit

Doesn't setup.bash just source the file?

2ROS0 gravatar image 2ROS0  ( 2016-05-25 14:39:26 -0600 )edit

answered 2013-08-11 23:05:15 -0600

da-na gravatar image

Hello! I have the same problem, when I use ssh connection. On the original computer tab completion works, but when I connect to it via ssh I cannot use tab completion :(

I get the following error, after writing roscd [+tab]

roscd terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid terminate called after throwing an instance of 'std::runtime_error' what(): locale::facet::_S_create_c_locale name not valid

Anyone had the same problem?

UP: I have "source /opt/ros/fuerte/setup.bash" in my .bashrc

edit flag offensive delete link more



You need to call setup.bash within the ssh connection as a well. Also, for the locale error,do this: export LC_ALL="C" maybe put it in your .bashrc

KruseT gravatar image KruseT  ( 2013-08-11 23:08:56 -0600 )edit

It worked! Thank you :) What's the meaning of this command export LC_ALL="C" ?

da-na gravatar image da-na  ( 2013-08-11 23:22:28 -0600 )edit

Every locale definition is now using the "C" locale. That's roughly a "fake" language what you want for programmatic access to data.

dornhege gravatar image dornhege  ( 2013-08-12 02:21:54 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-01-25 00:35:03 -0600

Seen: 4,175 times

Last updated: Aug 11 '13