Open jmehami1 opened 6 days ago
Looks like some catkin environment hooks dont carry over to the new shell.
The environment does but it must work differently for the autocompletion stuff from rosbash :shrug:
I appreciate the fast response. I guess I will just keep sourcing setup.bash script each time I start up a ROS container. I'll set up a keybinding to automate it.
The setup is sources by the Dockerfile entrypoint, so that sets the ENV, but like @mikaelarguedas hypothesizes, perhaps something shell specific is not carrying over to the bash process you start via docker run that the entrypoint would then exec?
docker run -it --rm osrf/ros:noetic-desktop-full bash
Perhaps you could add the source setup to the bashrc of the desired user you want to start the container from? E.g.
docker run -it --rm --user root osrf/ros:noetic-desktop-full echo 'source /opt/ros/$ROS_DISTRO/setup.bash' >> ~/.bashrc && bash
Hi, I have been running ROS1 containers on two different computers with OSs Ubuntu 22.04 and Ubuntu 20.04 to avoid local installations. I start the containers interactively using the following command on both systems:
docker run -it --rm --network host osrf/ros:noetic-desktop-full
I'm assuming the script ros_entrypoint.sh sources the setup.bash file when container is started. I try to type and autocomplete ROS commands. For example, when I type "ros" and press TAB I find all the relevant ROS commands.
The issue appears when finding subcommands. For example, If I want to run the![image](https://github.com/osrf/docker_images/assets/58451623/3ad7765b-262a-4e90-88db-b20b83fef9d8)
rosbag
command and I want to see its subcommands, they do not appear when I press TAB and instead directories are shown as follows:In order to fix this I have to source the setup.bash script as follows:![image](https://github.com/osrf/docker_images/assets/58451623/a45afbbb-8f02-431e-8210-9432ecf77a2e)
source /opt/ros/noetic/setup.bash
After sourcing the setup.bash script, I can now see the subcommands when autocompleting with TAB as follows:Why do I have to source the setup.bash script after the ros_entrypoint.sh has already carried out the command.
The ros_entrypoint.sh is as follows:![image](https://github.com/osrf/docker_images/assets/58451623/b0291184-47e3-4f47-bfc5-29a1f3407d2c)