Ask Your Question
1

Autocomplete not working anymore

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

r0nald gravatar image

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

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

Comments

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 -0500 )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 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
6

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

KruseT gravatar image

Autocompletion is activated using setup.bash instead of setup.sh.

edit flag offensive delete link more

Comments

Thanks, that information helped.

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

Doesn't setup.bash just source the setup.sh file?

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

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

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

Comments

1

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 -0500 )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 -0500 )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 -0500 )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

Stats

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

Seen: 3,356 times

Last updated: Aug 11 '13