Repository navigation
Dev container: clone path, QT_XCB_NO_MITSHM, vim - #106
Merged
Merged
Conversation
fjp
force-pushed
the
docs/dev-container-readme
branch
from
October 11, 2026 14:37
cf268e4 to
496ebdb
Compare
fjp
force-pushed
the
fix/devcontainer-followups
branch
from
October 11, 2026 14:37
84f78d0 to
bb43fcb
Compare
- setup.sh: vcs import cloned rplidar_ros and remo_description into src/src/, because the paths in diffbot_dev.repos already start with src/. It now runs without a base folder, so they land in src/ as in the manual setup. - devcontainer.json: QT_XCB_NO_MITSHM=1 replaces QT_X11_NO_MITSHM=1, which only Qt 4 reads. Qt 5 would try to share memory with the X server, which fails because the container has its own IPC namespace. - Dockerfile: vim next to nano; the user's ARG lines sit next to the step that creates the user; find no longer filters .git, which .dockerignore already keeps out of the build context. - host-x11.sh: the script's folder gets its own variable, script_dir.
fjp
force-pushed
the
fix/devcontainer-followups
branch
from
October 11, 2026 18:18
bb43fcb to
c46633c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Code fixes found while reviewing the comments in #105.
setup.sh: repositories cloned intosrc/src/.vcs import --skip-existing src < src/diffbot/diffbot_dev.repospassedsrcas the base folder, but the paths indiffbot_dev.reposalready start withsrc/. Sorplidar_rosandremo_descriptionended up in~/catkin_ws/src/src/. The build still worked because catkin searches subfolders.vcs importnow runs without a base folder, as in the manual setup in the README.devcontainer.json:QT_XCB_NO_MITSHM=1replacesQT_X11_NO_MITSHM=1. The old variable came from the ROS Docker GUI tutorial, but only Qt 4 reads it; Noetic's Qt 5.12 readsQT_XCB_NO_MITSHM. Without it, Qt 5 tries to share memory with the X server (MIT-SHM). That fails because the container has its own IPC namespace; Qt then gives up and draws normally.Dockerfile: vim next to nano. TheARGlines for the user's name and IDs sit next to the step that creates the user.findno longer filters.git, which.dockerignorealready keeps out of the build context.host-x11.sh: the script's folder gets its own variable,script_dir.A container created before this change has the two repositories in
src/src/. Rebuild it (Dev Containers: Rebuild Container) before running the newvcs importcommand in it, or catkin finds each package twice.The docs get the same
vcs importfix and a paragraph onQT_XCB_NO_MITSHMin a separate PR in ros-mobile-robots.github.io.Testing
roshas UID 1000, and themanifestsstage copies the same 10package.xmlfiles as before.setup.shin a container from the new image, with the clone mounted as indevcontainer.json: the repositories land insrc/rplidar_rosandsrc/remo_description, there's nosrc/src, and all 13 packages build. A second run skips the existing repositories, builds again, and leaves a singlesourceline in.bashrc.QT_X11_NO_MITSHM=1, Qt's debug log is the same as with no variable:xcb_shm_attach() failed, thendisabling SHM. WithQT_XCB_NO_MITSHM=1, Qt doesn't try. In all three cases the X server shows the window correctly.host-x11.shcalled from another folder still writes.x11/xauthnext to itself, with modes 700 and 600, and turns a test cookie into affff(wild) entry. Without an Xauthority file, as on WSLg, it leaves the file empty and exits with 0.