# Stretch 2 workspace update fail due to realsense apt

**URL:** <https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485>\
**Category:** Ask\
**Created:** [April 18, 2026, 1:10am UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485 "2026-04-18T01:10:14Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Egg\_Cag](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/egg_cag/32/1156_2.png) [@Egg\_Cag](https://forum.hello-robot.com/u/Egg_Cag)\
**Post date:** [April 18, 2026, 1:10am UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/1 "2026-04-18T01:10:14Z")

</div>

Hello,

I am currently failing to run stretch\_web\_teleop (running `cd ~/ament_ws/src/stretch_web_teleop/` then `./launch_interface.sh`, and as a possible fix I saw at ( [Web\_teleop demo got stucked in loading page - #2 by hello-vinitha](https://forum.hello-robot.com/t/web-teleop-demo-got-stucked-in-loading-page/1403/2) ) I have tried running `stretch_new_robot_install.sh -u` (after switching to main and pulling), however it fails with the following message:

#############################################  
STARTING NEW ROBOT INSTALL  
#############################################

###########################################  
INSTALLATION OF SYSTEM WIDE PACKAGES  
###########################################  
Apt update & upgrade (this might take a while)  
Install zip & unzip  
Install Curl  
Install ca-certificates  
Install gnupg  
Install Git  
Install rpl  
Install ipython3  
Install pip3  
Install Emacs packages  
Install nettools  
Install wget  
Install vim  
Install pyserial  
Install Port Audio  
Install lm-sensors & nvme-cli  
Install cheese for camera testing  
Install SSH Server  
Install Chromium  
Install htop  
Install Ubuntu Sounds  
Install BleachBit  
Install APT HTTPS  
Install Network Security Services libraries  
Install uv

###########################################  
INSTALLATION OF ROS 2 HUMBLE  
###########################################  
Setting up keys  
Apt update  
Install ROS 2 Humble (this might take a while)  
Install ROS 2 Dev Tools  
Install colcon  
Install rosdep  
Configure rosdep  
Install vcstool

###########################################  
INSTALLATION OF ADDITIONAL ROS HUMBLE PKGS  
###########################################  
Install packages to work with URDFs  
Install joint state GUI package  
Install IMU visualization plugin for RViz and IMU filter  
Install robot localization package for use with IMU and wheel odometry  
Install teleop packages

###########################################  
INSTALLATION OF INTEL D435i  
###########################################  
Register the librealsense APT server’s public key  
Add the librealsense APT server to the list of APT repositories  
Remove old records in case of upgrading  
Apt update  
W: GPG error: jammy InRelease: The following signatures couldn’t be verified because the public key is not available: NO\_PUBKEY FB0B24895113F120  
E: The repository jammy InRelease’ is not signed.

#############################################  
FAILURE. INSTALLATION DID NOT COMPLETE.  
Look at the troubleshooting guide for solutions to common issues:  
or contact Hello Robot support and include /home/hello-robot/stretch\_user/log/stretch\_install\_202604171753/stretch\_robot\_install\_logs.zip  
#############################################

I seem to be able to fix that specific issue by adding the new (non-intel?) source to apt and reinstalling librealsense2=2.55.1\*: [librealsense/doc/distribution\_linux.md at master · realsenseai/librealsense · GitHub](https://github.com/realsenseai/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages) , but am unsure how to proceed with making sure my packages are up-to-date, and how to make the web teleop work. For more context, here was the output of `ros2 launch stretch_web_teleop web_interface.launch.py` before trying to update my workspace and after reinstalling the realsense library I mentioned:

[INFO] [launch]: All log files can be found below /home/hello-robot/.ros/log/2026-04-17-17-49-41-328401-weirdstretch-6297  
[INFO] [launch]: Default logging verbosity is set to INFO  
[INFO] [realsense2\_camera\_node-1]: process started with pid [6310]  
[INFO] [stretch\_driver-8]: process started with pid [6324]  
[INFO] [d435i\_accel\_correction-2]: process started with pid [6312]  
[INFO] [image\_publisher\_node-3]: process started with pid [6314]  
[INFO] [image\_publisher\_node-4]: process started with pid [6316]  
[INFO] [tf2\_web\_republisher-5]: process started with pid [6318]  
[INFO] [joint\_state\_publisher-6]: process started with pid [6320]  
[INFO] [robot\_state\_publisher-7]: process started with pid [6322]  
[INFO] [rosbridge\_websocket-9]: process started with pid [6326]  
[INFO] [rosapi\_node-10]: process started with pid [6328]  
[INFO] [configure\_video\_streams.py-11]: process started with pid [6330]  
[INFO] [configure\_video\_streams.py-12]: process started with pid [6333]  
[INFO] [configure\_video\_streams.py-13]: process started with pid [6336]  
[INFO] [Empty “{}”-14]: process started with pid [6341]  
[INFO] [Bool true-15]: process started with pid [6348]  
[INFO] [move\_to\_pregrasp.py-16]: process started with pid [6351]  
[INFO] [text\_to\_speech.py-17]: process started with pid [6354]  
[realsense2\_camera\_node-1] [INFO] [1776473383.406299193] [camera]: RealSense ROS v4.55.1  
[realsense2\_camera\_node-1] [INFO] [1776473383.406768157] [camera]: Built with LibRealSense v2.55.1  
[realsense2\_camera\_node-1] [INFO] [1776473383.406944660] [camera]: Running with LibRealSense v2.55.1  
[realsense2\_camera\_node-1] [INFO] [1776473383.478958278] [camera]: Device with serial number 153222071854 was found.  
[realsense2\_camera\_node-1]  
[realsense2\_camera\_node-1] [INFO] [1776473383.479026128] [camera]: Device with physical ID /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1:1.0/video4linux/video0 was found.  
[realsense2\_camera\_node-1] [INFO] [1776473383.479048396] [camera]: Device with name Intel RealSense D435I was found.  
[realsense2\_camera\_node-1] [INFO] [1776473383.479362031] [camera]: Device with port number 4-1 was found.  
[realsense2\_camera\_node-1] [INFO] [1776473383.479397420] [camera]: Device USB type: 3.2  
[realsense2\_camera\_node-1] [INFO] [1776473383.479415589] [camera]: Resetting device…  
[image\_publisher\_node-3] [INFO] [1776473383.534470227] [navigation\_camera\_node]: param\_change\_callback  
[image\_publisher\_node-3] [INFO] [1776473383.539702611] [navigation\_camera\_node]: Reset filename as ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/nodes/blank\_image.png’  
[image\_publisher\_node-3] [INFO] [1776473383.539726989] [navigation\_camera\_node]: File name for publishing image is : /home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/nodes/blank\_image.png  
[image\_publisher\_node-3] [INFO] [1776473383.591751664] [navigation\_camera\_node]: Flip horizontal image is : false  
[image\_publisher\_node-3] [INFO] [1776473383.591811646] [navigation\_camera\_node]: Flip flip\_vertical image is : false  
[image\_publisher\_node-4] [INFO] [1776473383.942835528] [gripper\_camera\_node]: param\_change\_callback  
[image\_publisher\_node-4] [INFO] [1776473383.943066018] [gripper\_camera\_node]: Reset filename as ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/nodes/blank\_image.png’  
[image\_publisher\_node-4] [INFO] [1776473383.943092386] [gripper\_camera\_node]: File name for publishing image is : /home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/nodes/blank\_image.png  
[image\_publisher\_node-4] [INFO] [1776473383.993650019] [gripper\_camera\_node]: Flip horizontal image is : false  
[image\_publisher\_node-4] [INFO] [1776473383.993701233] [gripper\_camera\_node]: Flip flip\_vertical image is : false  
[rosbridge\_websocket-9] [INFO] [1776473384.420408615] [rosbridge\_websocket]: Rosbridge WebSocket server started on port 9090  
[d435i\_accel\_correction-2] [INFO] [1776473384.450841768] [d435i\_accel\_correction\_node]: d435i\_accel\_correction\_node started  
[text\_to\_speech.py-17] [INFO] [1776473384.872944938] [text\_to\_speech]: Created!  
[text\_to\_speech.py-17] [INFO] [1776473384.875290271] [text\_to\_speech]: Running!  
[move\_to\_pregrasp.py-16] [INFO] [1776473385.832037743] [move\_to\_pregrasp]: Created!  
[move\_to\_pregrasp.py-16] [INFO] [1776473385.847500240] [move\_to\_pregrasp]: Waiting for the get joint states service…  
[Bool true-15] Setting parameter failed: (‘Invalid access to undeclared parameter(s)’, )  
[stretch\_driver-8] [INFO] [1776473386.136830704] [stretch\_driver]: For use with S T R E T C H ™ RESEARCH EDITION from Hello Robot Inc.  
[stretch\_driver-8] [INFO] [1776473386.137302438] [stretch\_driver]: stretch\_driver started  
[INFO] [Bool true-15]: process has finished cleanly [pid 6348]  
[stretch\_driver-8] Key mapped to End-Of-Arm Tool: tool\_stretch\_dex\_wrist  
[stretch\_driver-8] [INFO] [1776473387.916802480] [stretch\_driver]: broadcast\_odom\_tf = True  
[stretch\_driver-8] [INFO] [1776473387.957316734] [stretch\_driver]: rate = 30.0 Hz  
[stretch\_driver-8] [INFO] [1776473387.958673020] [stretch\_driver]: twist timeout = 0.5 s  
[stretch\_driver-8] [INFO] [1776473387.960109963] [stretch\_driver]: base\_frame\_id = base\_link  
[stretch\_driver-8] [INFO] [1776473387.961340193] [stretch\_driver]: odom\_frame\_id = odom  
[stretch\_driver-8] [INFO] [1776473388.038419008] [stretch\_driver]: Changed to mode = position  
[move\_to\_pregrasp.py-16] [INFO] [1776473388.104284734] [move\_to\_pregrasp]: Received the joint limits.  
[move\_to\_pregrasp.py-16] [ERROR] [1776473388.104829454] [move\_to\_pregrasp]: Failed to get velocity limits for joint name: Joint.WRIST\_EXTENSION  
[realsense2\_camera\_node-1] [INFO] [1776473389.514831692] [camera]: Device with serial number 153222071854 was found.  
[realsense2\_camera\_node-1]  
[realsense2\_camera\_node-1] [INFO] [1776473389.514879767] [camera]: Device with physical ID /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1:1.0/video4linux/video0 was found.  
[realsense2\_camera\_node-1] [INFO] [1776473389.514900158] [camera]: Device with name Intel RealSense D435I was found.  
[realsense2\_camera\_node-1] [INFO] [1776473389.515048802] [camera]: Device with port number 4-1 was found.  
[realsense2\_camera\_node-1] [INFO] [1776473389.515072406] [camera]: Device USB type: 3.2  
[realsense2\_camera\_node-1] [INFO] [1776473389.515112415] [camera]: getParameters…  
[realsense2\_camera\_node-1] [INFO] [1776473389.876052536] [camera]: JSON file is loaded! (/home/hello-robot/ament\_ws/install/stretch\_core/share/stretch\_core/config/HighAccuracyPreset.json)  
[realsense2\_camera\_node-1] [INFO] [1776473389.876119866] [camera]: Device Name: Intel RealSense D435I  
[realsense2\_camera\_node-1] [INFO] [1776473389.876140283] [camera]: Device Serial No: 153222071854  
[realsense2\_camera\_node-1] [INFO] [1776473389.876156376] [camera]: Device physical port: /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1:1.0/video4linux/video0  
[realsense2\_camera\_node-1] [INFO] [1776473389.876173255] [camera]: Device FW version: 5.14.0  
[realsense2\_camera\_node-1] [INFO] [1776473389.876187880] [camera]: Device Product ID: 0x0B3A  
[realsense2\_camera\_node-1] [INFO] [1776473389.876201680] [camera]: Sync Mode: On  
[realsense2\_camera\_node-1] [WARN] [1776473390.017139016] [camera]: re-enable the stream for the change to take effect.  
[realsense2\_camera\_node-1] [WARN] [1776473390.018226138] [camera]: re-enable the stream for the change to take effect.  
[realsense2\_camera\_node-1] [WARN] [1776473390.025107492] [camera]: re-enable the stream for the change to take effect.  
[realsense2\_camera\_node-1] [ERROR] [1776473390.025958261] [camera]: Given value, 63 is invalid. Set ROS param back to: 100  
[realsense2\_camera\_node-1] [INFO] [1776473390.034927793] [camera]: Stopping Sensor: Depth Module  
[realsense2\_camera\_node-1] [INFO] [1776473390.035331146] [camera]: Stopping Sensor: RGB Camera  
[realsense2\_camera\_node-1] [INFO] [1776473390.035375765] [camera]: Stopping Sensor: Motion Module  
[realsense2\_camera\_node-1] [INFO] [1776473390.054835188] [camera]: Starting Sensor: Depth Module  
[realsense2\_camera\_node-1] [INFO] [1776473390.066651894] [camera]: Open profile: stream\_type: Depth(0), Format: Z16, Width: 424, Height: 240, FPS: 15  
[realsense2\_camera\_node-1] [INFO] [1776473390.077300516] [camera]: Starting Sensor: RGB Camera  
[realsense2\_camera\_node-1] [INFO] [1776473390.078721046] [camera]: Open profile: stream\_type: Color(0), Format: RGB8, Width: 424, Height: 240, FPS: 15  
[realsense2\_camera\_node-1] [INFO] [1776473390.102414469] [camera]: Starting Sensor: Motion Module  
[realsense2\_camera\_node-1] [INFO] [1776473390.104025159] [camera]: Open profile: stream\_type: Accel(0)Format: MOTION\_XYZ32F, FPS: 100  
[realsense2\_camera\_node-1] [INFO] [1776473390.104064049] [camera]: Open profile: stream\_type: Gyro(0)Format: MOTION\_XYZ32F, FPS: 200  
[realsense2\_camera\_node-1] [INFO] [1776473390.106878468] [camera]: RealSense Node Is Up!  
[realsense2\_camera\_node-1] [WARN] [1776473391.057941928] [camera]: XXX Hardware Notification:Motion Module failure,1.77647e+12,Error,Hardware Error  
[realsense2\_camera\_node-1] [WARN] [1776473391.057998907] [camera]: Hardware Notification:Motion Module failure,1.77647e+12,Error,Hardware Error

^C[realsense2\_camera\_node-1] [INFO] [1776473412.202613070] [rclcpp]: signal\_handler(signum=2)  
[realsense2\_camera\_node-1] [INFO] [1776473412.203267555] [camera]: Stop Sensor: Depth Module  
[realsense2\_camera\_node-1] [INFO] [1776473412.203292317] [camera]: Close Sensor.  
[realsense2\_camera\_node-1] [INFO] [1776473412.205014223] [camera]: Close Sensor - Done.  
[realsense2\_camera\_node-1] [INFO] [1776473412.205043386] [camera]: Stop Sensor: RGB Camera  
[realsense2\_camera\_node-1] [INFO] [1776473412.205055354] [camera]: Close Sensor.  
[image\_publisher\_node-3] [INFO] [1776473412.201488506] [rclcpp]: signal\_handler(signum=2)  
[image\_publisher\_node-4] [INFO] [1776473412.201485511] [rclcpp]: signal\_handler(signum=2)  
[tf2\_web\_republisher-5] Traceback (most recent call last):  
[tf2\_web\_republisher-5] File “/home/hello-robot/ament\_ws/install/tf2\_web\_republisher\_py/lib/tf2\_web\_republisher\_py/tf2\_web\_republisher”, line 33, in  
[tf2\_web\_republisher-5] sys.exit(load\_entry\_point(‘tf2-web-republisher-py’, ‘console\_scripts’, ‘tf2\_web\_republisher’)())  
[tf2\_web\_republisher-5] File “/home/hello-robot/ament\_ws/build/tf2\_web\_republisher\_py/tf2\_web\_republisher\_py/tf2\_web\_republisher\_py.py”, line 241, in main  
[tf2\_web\_republisher-5] rclpy.spin(tf\_republisher\_node) #, executor)  
[tf2\_web\_republisher-5] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/ **init**.py”, line 222, in spin  
[tf2\_web\_republisher-5] executor.spin\_once()  
[tf2\_web\_republisher-5] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py”, line 739, in spin\_once  
[tf2\_web\_republisher-5] self.\_spin\_once\_impl(timeout\_sec)  
[tf2\_web\_republisher-5] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py”, line 728, in \_spin\_once\_impl  
[tf2\_web\_republisher-5] handler, entity, node = self.wait\_for\_ready\_callbacks(timeout\_sec=timeout\_sec)  
[tf2\_web\_republisher-5] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py”, line 711, in wait\_for\_ready\_callbacks  
[tf2\_web\_republisher-5] return next(self.\_cb\_iter)  
[tf2\_web\_republisher-5] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py”, line 608, in \_wait\_for\_ready\_callbacks  
[tf2\_web\_republisher-5] wait\_set.wait(timeout\_nsec)  
[tf2\_web\_republisher-5] KeyboardInterrupt  
[d435i\_accel\_correction-2] interrupt received, so shutting down  
[move\_to\_pregrasp.py-16] Traceback (most recent call last):  
[move\_to\_pregrasp.py-16] File “/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/move\_to\_pregrasp.py”, line 1025, in  
[move\_to\_pregrasp.py-16] main(sys.argv[1:])  
[move\_to\_pregrasp.py-16] File “/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/move\_to\_pregrasp.py”, line 1018, in main  
[move\_to\_pregrasp.py-16] spin\_thread.join()  
[move\_to\_pregrasp.py-16] File “/usr/lib/python3.10/threading.py”, line 1096, in join  
[move\_to\_pregrasp.py-16] self.\_wait\_for\_tstate\_lock()  
[move\_to\_pregrasp.py-16] File “/usr/lib/python3.10/threading.py”, line 1116, in \_wait\_for\_tstate\_lock  
[move\_to\_pregrasp.py-16] if lock.acquire(block, timeout):  
[move\_to\_pregrasp.py-16] KeyboardInterrupt  
[stretch\_driver-8] Caught signal 2  
[realsense2\_camera\_node-1] [INFO] [1776473412.210665039] [camera]: Close Sensor - Done.  
[realsense2\_camera\_node-1] [INFO] [1776473412.210693893] [camera]: Stop Sensor: Motion Module  
[realsense2\_camera\_node-1] [INFO] [1776473412.214595978] [camera]: Close Sensor.  
[configure\_video\_streams.py-12] [‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/configure\_video\_streams.py’, ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/config/configure\_video\_streams\_params.yaml’, ‘False’, ‘False’, ‘True’, ‘False’, ‘–ros-args’, ‘-r’, ‘\_\_node:=configure\_video\_streams\_realsense’, ‘–params-file’, ‘/tmp/launch\_params\_po\_6ldvq’]  
[configure\_video\_streams.py-12] Publishing reconfigured video stream  
[rosbridge\_websocket-9] registered capabilities (classes):  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.call\_service.CallService’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.advertise.Advertise’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.publish.Publish’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.subscribe.Subscribe’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.defragmentation.Defragment’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.advertise\_service.AdvertiseService’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.service\_response.ServiceResponse’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.unadvertise\_service.UnadvertiseService’\>  
[rosbridge\_websocket-9] - \<class ‘rosbridge\_library.capabilities.action\_client.ActionClientRequests’\>  
[rosbridge\_websocket-9] Exiting due to SIGINT  
[configure\_video\_streams.py-11] [‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/configure\_video\_streams.py’, ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/config/configure\_video\_streams\_params.yaml’, ‘False’, ‘True’, ‘False’, ‘False’, ‘–ros-args’, ‘-r’, ‘\_\_node:=configure\_video\_streams\_overhead’, ‘–params-file’, ‘/tmp/launch\_params\_bsoytx4m’]  
[configure\_video\_streams.py-11] Publishing reconfigured video stream  
[configure\_video\_streams.py-13] [‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/configure\_video\_streams.py’, ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/config/configure\_video\_streams\_params.yaml’, ‘False’, ‘False’, ‘False’, ‘True’, ‘–ros-args’, ‘-r’, ‘\_\_node:=configure\_video\_streams\_gripper’, ‘–params-file’, ‘/tmp/launch\_params\_km6si3re’]  
[configure\_video\_streams.py-13] Publishing reconfigured video stream  
[text\_to\_speech.py-17] Traceback (most recent call last):  
[text\_to\_speech.py-17] File “/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/text\_to\_speech.py”, line 181, in  
[text\_to\_speech.py-17] main()  
[text\_to\_speech.py-17] File “/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/text\_to\_speech.py”, line 177, in main  
[text\_to\_speech.py-17] rclpy.shutdown()  
[text\_to\_speech.py-17] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/ **init**.py”, line 126, in shutdown  
[text\_to\_speech.py-17] \_shutdown(context=context)  
[text\_to\_speech.py-17] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/utilities.py”, line 58, in shutdown  
[text\_to\_speech.py-17] return context.shutdown()  
[text\_to\_speech.py-17] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/context.py”, line 102, in shutdown  
[text\_to\_speech.py-17] self.\_\_context.shutdown()  
[text\_to\_speech.py-17] rclpy.\_rclpy\_pybind11.RCLError: failed to shutdown: rcl\_shutdown already called on the given context, at ./src/rcl/init.c:241  
[ERROR] [tf2\_web\_republisher-5]: process has died [pid 6318, exit code -2, cmd ‘/home/hello-robot/ament\_ws/install/tf2\_web\_republisher\_py/lib/tf2\_web\_republisher\_py/tf2\_web\_republisher --ros-args -r \_\_node:=tf2\_web\_republisher\_node’].  
[INFO] [robot\_state\_publisher-7]: process has finished cleanly [pid 6322]  
[INFO] [image\_publisher\_node-3]: process has finished cleanly [pid 6314]  
[INFO] [image\_publisher\_node-4]: process has finished cleanly [pid 6316]  
[ERROR] [move\_to\_pregrasp.py-16]: process has died [pid 6351, exit code -2, cmd ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/move\_to\_pregrasp.py /home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/config/configure\_video\_streams\_params.yaml --ros-args’].  
[configure\_video\_streams.py-12] Traceback (most recent call last):  
[configure\_video\_streams.py-12] File “/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/configure\_video\_streams.py”, line 1110, in  
[configure\_video\_streams.py-12] rclpy.shutdown()  
[configure\_video\_streams.py-12] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/ **init**.py”, line 126, in shutdown  
[configure\_video\_streams.py-12] \_shutdown(context=context)  
[configure\_video\_streams.py-12] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/utilities.py”, line 58, in shutdown  
[configure\_video\_streams.py-12] return context.shutdown()  
[configure\_video\_streams.py-12] File “/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/context.py”, line 102, in shutdown  
[configure\_video\_streams.py-12] self.\_\_context.shutdown()  
[configure\_video\_streams.py-12] rclpy.\_rclpy\_pybind11.RCLError: failed to shutdown: rcl\_shutdown already called on the given context, at ./src/rcl/init.c:241  
[ERROR] [Empty “{}”-14]: process has died [pid 6341, exit code -2, cmd ‘/opt/ros/humble/bin/ros2 service call /reinitialize\_global\_localization std\_srvs/srv/Empty “{}”’].  
[INFO] [joint\_state\_publisher-6]: process has finished cleanly [pid 6320]  
[INFO] [rosbridge\_websocket-9]: process has finished cleanly [pid 6326]  
[INFO] [rosapi\_node-10]: process has finished cleanly [pid 6328]  
[INFO] [d435i\_accel\_correction-2]: process has finished cleanly [pid 6312]  
[INFO] [configure\_video\_streams.py-11]: process has finished cleanly [pid 6330]  
[INFO] [configure\_video\_streams.py-13]: process has finished cleanly [pid 6336]  
[ERROR] [text\_to\_speech.py-17]: process has died [pid 6354, exit code 1, cmd ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/text\_to\_speech.py gtts --ros-args’].  
[realsense2\_camera\_node-1] [INFO] [1776473412.542464462] [camera]: Close Sensor - Done.  
[ERROR] [configure\_video\_streams.py-12]: process has died [pid 6333, exit code 1, cmd ‘/home/hello-robot/ament\_ws/install/stretch\_web\_teleop/lib/stretch\_web\_teleop/configure\_video\_streams.py /home/hello-robot/ament\_ws/install/stretch\_web\_teleop/share/stretch\_web\_teleop/config/configure\_video\_streams\_params.yaml False False True False --ros-args -r \_\_node:=configure\_video\_streams\_realsense --params-file /tmp/launch\_params\_po\_6ldvq’].  
[INFO] [realsense2\_camera\_node-1]: process has finished cleanly [pid 6310]  
[INFO] [stretch\_driver-8]: process has finished cleanly [pid 6324]

Thanks so much!

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 20, 2026, 6:12pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/2 "2026-04-20T18:12:52Z")

</div>

Hi @Egg_Cag,

Let’s first focus on resolving the new install issue. Once that’s working, we can switch back to the web teleop.

From what we’ve seen, the issue appears to be related to the RealSense installation . We’ve identified a fix but haven’t pushed it to the main branch yet. In the meantime, we can test it directly.

Could you please do the following:

```auto
cd ~/repos/stretch_install
git fetch
git checkout fix/stretch-install-20.04

```

Then rerun:

```auto
./stretch_new_robot_install.sh -u

```

Let me know how that goes, and we’ll take it from there.

For reference, the fix is based on this [PR](https://github.com/hello-robot/stretch_install/blob/master/factory/20.04/stretch_initial_setup.sh).

Thanks!  
Jason

* * *

---

<div class="post-metadata">

**Author:** ![Egg\_Cag](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/egg_cag/32/1156_2.png) [@Egg\_Cag](https://forum.hello-robot.com/u/Egg_Cag)\
**Post date:** [April 21, 2026, 3:14am UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/3 "2026-04-21T03:14:33Z")

</div>

It didn’t help at all since that branch also installs it from [intel.com](http://intel.com), but I changed stretch\_install\_system.sh in factory/22.04 to include the new apt source, and now it works. With that, the stretch\_web\_teleop now mostly works, except I don’t have camera input available. There doesn’t seem to be an error in my output now and stretch\_camera\_streams\_check.py runs without any issues, so I’m not sure how to debug this.

Thank you so much for your help!

Here’s the stretch\_install\_system.sh (i’m a new user so cannot include it as an attachment):

#!/bin/bash  
set -e

REDIRECT\_LOGDIR=“$HOME/stretch\_user/log”  
if getopts “:l:” opt && [[$opt == “l” && -d $OPTARG]]; then  
REDIRECT\_LOGDIR=$OPTARG  
fi  
REDIRECT\_LOGFILE=“$REDIRECT\_LOGDIR/stretch\_install\_system.`date '+%Y%m%d%H%M'`\_redirected.txt”

function install {  
sudo apt-get install -y --allow-downgrades “$@” \>\> $REDIRECT\_LOGFILE  
}

echo “###########################################”  
echo “INSTALLATION OF SYSTEM WIDE PACKAGES”  
echo “###########################################”  
echo “Apt update & upgrade (this might take a while)”  
sudo apt-add-repository universe -y \>\> $REDIRECT\_LOGFILE  
sudo apt-get --yes update \>\> $REDIRECT\_LOGFILE  
sudo apt-get --yes upgrade &\>\> $REDIRECT\_LOGFILE  
echo “Install zip & unzip”  
install zip unzip  
echo “Install Curl”  
install curl  
echo “Install ca-certificates”  
install ca-certificates  
echo “Install gnupg”  
install gnupg  
echo “Install Git”  
install git  
echo “Install rpl”  
install rpl  
echo “Install ipython3”  
install ipython3  
echo “Install pip3”  
install python3-pip  
echo “Install Emacs packages”  
install emacs yaml-mode  
echo “Install nettools”  
install net-tools  
echo “Install wget”  
install wget  
echo “Install vim”  
install vim  
echo “Install pyserial”  
install python3-serial  
echo “Install Port Audio”  
install portaudio19-dev  
echo “Install lm-sensors & nvme-cli”  
install lm-sensors  
install nvme-cli  
echo “Install cheese for camera testing”  
install cheese  
echo “Install SSH Server”  
install ssh  
echo “Install Chromium”  
install chromium-browser  
echo “Install htop”  
install htop  
echo “Install Ubuntu Sounds”  
install ubuntu-sounds  
echo “Install BleachBit”  
install bleachbit  
echo “Install APT HTTPS”  
install apt-transport-https  
echo “Install Network Security Services libraries”  
install libnss3-tools  
echo “Install uv”  
curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh &\>\> $REDIRECT\_LOGFILE  
echo “”

# [Ubuntu-Install-Debians — ROS 2 Documentation: Humble documentation](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)

echo “###########################################”  
echo “INSTALLATION OF ROS 2 HUMBLE”  
echo “###########################################”  
echo “Setting up keys”  
sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg  
sudo rm -f /etc/apt/sources.list.d/ros2.list  
export ROS\_APT\_SOURCE\_VERSION=$(curl -s [https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest](https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest) | grep -F “tag\_name” | awk -F" ‘{print $4}’)  
curl -L -o /tmp/ros2-apt-source.deb “[https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS\_APT\_SOURCE\_VERSION}/ros2-apt-source\_${ROS\_APT\_SOURCE\_VERSION}.$](https://github.com/ros-infrastructure/ros-apt-source/releases/download/$%7BROS_APT_SOURCE_VERSION%7D/ros2-apt-source_$%7BROS_APT_SOURCE_VERSION%7D.$)(. /etc/os-release && echo ${UBUNTU\_CODENAME:-${VERSION\_CODENAME}})\_all.deb” &\>\> $REDIRECT\_LOGFILE  
sudo dpkg -i /tmp/ros2-apt-source.deb \>\> $REDIRECT\_LOGFILE

echo “Apt update”  
sudo apt-get --yes update \>\> $REDIRECT\_LOGFILE  
echo “Install ROS 2 Humble (this might take a while)”  
install ros-humble-desktop-full

# [ROS Developer Tools - Now in Binary Form! - ROS General - Open Robotics Discourse](https://discourse.ros.org/t/ros-developer-tools-now-in-binary-form/29802)

echo “Install ROS 2 Dev Tools”  
install ros-dev-tools  
echo “Install colcon”  
install python3-colcon-common-extensions  
install python3-colcon-clean  
echo “Install rosdep”  
install python3-rosdep  
echo “Configure rosdep”  
if [-f “/etc/ros/rosdep/sources.list.d/20-default.list”]; then  
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list  
fi  
sudo rosdep init \>\> $REDIRECT\_LOGFILE  
echo “Install vcstool”  
install python3-vcstool  
echo “”

echo “###########################################”  
echo “INSTALLATION OF ADDITIONAL ROS HUMBLE PKGS”  
echo “###########################################”  
echo “Install packages to work with URDFs”  
install liburdfdom-tools meshlab  
install ros-humble-urdfdom-py  
echo “Install joint state GUI package”  
install ros-humble-joint-state-publisher-gui  
echo “Install IMU visualization plugin for RViz and IMU filter”  
install ros-humble-rviz-imu-plugin ros-humble-imu-filter-madgwick  
echo “Install robot localization package for use with IMU and wheel odometry”  
install ros-humble-robot-localization  
echo “Install teleop packages”  
install ros-humble-teleop-twist-keyboard  
echo “”

echo “###########################################”  
echo “INSTALLATION OF INTEL D435i”  
echo “###########################################”  
echo “Register the librealsense APT server’s public key”  
function register\_librealsense\_apt\_server {  
curl -sSf [https://librealsense.realsenseai.com/Debian/librealsenseai.asc](https://librealsense.realsenseai.com/Debian/librealsenseai.asc) | gpg --dearmor | sudo tee /etc/apt/keyrings/librealsenseai.gpg \> /dev/null  
}  
register\_librealsense\_apt\_server &\>\> $REDIRECT\_LOGFILE  
echo “Add the librealsense APT server to the list of APT repositories”  
function add\_librealsense\_apt\_server {  
echo “deb [signed-by=/etc/apt/keyrings/librealsenseai.gpg] [https://librealsense.realsenseai.com/Debian/apt-repo](https://librealsense.realsenseai.com/Debian/apt-repo) `lsb_release -cs` main” | sudo tee /etc/apt/sources.list.d/librealsense.list  
}  
add\_librealsense\_apt\_server &\>\> $REDIRECT\_LOGFILE  
echo “Remove old records in case of upgrading”  
sudo rm -f /etc/apt/sources.list.d/realsense-public.list  
echo “Apt update”  
sudo apt-get --yes update \>\> $REDIRECT\_LOGFILE  
echo “Install librealsense2 packages”  
install librealsense2=2.55.1\* librealsense2-udev-rules librealsense2-utils=2.55.1\* librealsense2-dev=2.55.1\* librealsense2-dbg=2.55.1\* librealsense2-gl=2.55.1\*  
echo “”

echo “###########################################”  
echo “INSTALLATION OF WEB INTERFACE”  
echo “###########################################”  
echo “Register the nodesource APT server’s public key”  
function register\_nodesource\_apt\_server {  
curl -fsSL [https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key](https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key) | sudo gpg --batch --yes --dearmor -o /etc/apt/keyrings/nodesource.gpg  
}  
register\_nodesource\_apt\_server &\>\> $REDIRECT\_LOGFILE  
echo “Add the nodesource APT server to the list of APT respositories”  
function add\_nodesource\_apt\_server {  
NODE\_MAJOR=21  
echo “deb [signed-by=/etc/apt/keyrings/nodesource.gpg, arch=amd64] [https://deb.nodesource.com/node\_$NODE\_MAJOR.x](https://deb.nodesource.com/node_$NODE_MAJOR.x) nodistro main” | sudo tee /etc/apt/sources.list.d/nodesource.list  
}  
add\_nodesource\_apt\_server &\>\> $REDIRECT\_LOGFILE  
echo “Apt update”  
sudo apt-get --yes update \>\> $REDIRECT\_LOGFILE  
echo “Install NodeJS”  
install nodejs  
echo “Install PyPCL and PyKDL”  
install python3-pcl python3-pykdl screen  
echo “Install PM2”  
sudo npm install -g pm2 &\>\> $REDIRECT\_LOGFILE  
echo “”

echo “###########################################”  
echo “INSTALLATION OF REMOTE DESKTOP”  
echo “###########################################”  
echo “Install Sunshine Remote Desktop Server”  
wget [https://github.com/LizardByte/Sunshine/releases/download/v0.21.0/sunshine-ubuntu-22.04-amd64.deb](https://github.com/LizardByte/Sunshine/releases/download/v0.21.0/sunshine-ubuntu-22.04-amd64.deb) -O /tmp/sunshine.deb &\>\> $REDIRECT\_LOGFILE  
install /tmp/sunshine.deb  
echo “Add Sunshine uinput udev rule”  
function add\_sunshine\_uinput\_rule {  
echo ‘KERNEL==“uinput”, SUBSYSTEM==“misc”, OPTIONS+=“static\_node=uinput”, TAG+=“uaccess”’ | sudo tee /etc/udev/rules.d/85-sunshine.rules  
}  
add\_sunshine\_uinput\_rule &\>\> $REDIRECT\_LOGFILE  
echo “Setup Sunshine apps”  
sudo cp ./sunshine\_apps.json /usr/share/sunshine/apps.json  
echo “Setup Sunshine systemd unit”  
mkdir -p ~/.config/systemd/user/  
cp ./sunshine.service ~/.config/systemd/user/sunshine.service

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 21, 2026, 4:06pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/4 "2026-04-21T16:06:15Z")

</div>

That’s great news that you were able to get the installation working.

Before we dive into the camera issue, could you please share your robot’s serial number?

Now, focusing on the camera issue in `stretch_web_teleop`, could you share a bit more detail on what you’re observing?

- Is everything else in web teleop working as expected aside from the camera streams?
- What do you see for the camera feeds (e.g., black screen, frozen image, etc.)?
- Are both camera streams affected, or just one?
- Do you see any relevant logs or errors when running web teleop?

With a bit more detail, we can narrow this down quickly.

Thanks!  
Best,  
Jason

---

<div class="post-metadata">

**Author:** ![Egg\_Cag](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/egg_cag/32/1156_2.png) [@Egg\_Cag](https://forum.hello-robot.com/u/Egg_Cag)\
**Post date:** [April 21, 2026, 4:31pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/5 "2026-04-21T16:31:40Z")

</div>

Hello! Thanks for the quick reply - the serial number of this robot is stretch-re2-2038, and I’m running into the same issue in another robot (stretch-re2-2049). Everything else in web teleop works as intended, the camera feed is a black screen. Since this is a stretch 2, we don’t have a wrist camera, so I’m only seeing one black screen (which I believe is as intended). Here is the console output from the browser when running ./launch\_interface.py and connecting from a workstation.

[console-export-2026-4-21\_9-23-49.log](https://forum.hello-robot.com/uploads/short-url/rjKZqyKEOtjriqec9sV3ruh8Uqx.log) (4.6 KB)

I’m not seeing any other relevant errors when running web\_teleop, but will also attach more log files later as I’m trying to observe the output of web\_interface.launch.py right now.

Also, here are the results of “stretch\_system\_check.py -v” for more context:

Model = Stretch 2  
Tool = DexWrist 2 w/ Gripper  
Batch = nina  
Serial Number = stretch-re2-2038

-— Checking Hardware ----  
[Pass] Comms are ready  
hello-wacc present  
hello-motor-left-wheel present  
hello-pimu present  
hello-lrf present  
hello-dynamixel-head present  
hello-dynamixel-wrist present  
hello-motor-arm present  
hello-motor-right-wheel present  
hello-motor-lift present  
hello-respeaker present  
stretch\_gripper pinged  
wrist\_pitch pinged  
wrist\_roll pinged  
wrist\_yaw pinged  
head\_pan pinged  
head\_tilt pinged  
hello-motor-lift pinged  
hello-motor-arm pinged  
hello-motor-left-wheel pinged  
hello-motor-right-wheel pinged  
[Pass] Actuators are ready  
D435i USB speed OK (5000 Mbps, SN=153222071854, sysfs=4-1, product=Intel(R) RealSense™ Depth Camera 435i)  
[Pass] Sensors are ready  
[Pass] Battery voltage is 13.6 V

-— Checking Software ----  
[Pass] Ubuntu 22.04 is ready  
[Pass] All APT pkgs are setup correctly  
[Pass] Firmware is up-to-date  
hello-pimu = v0.8.3p6  
hello-wacc = v0.5.1p3  
hello-motor-arm = v0.7.6p5  
hello-motor-lift = v0.7.6p5  
hello-motor-left-wheel = v0.7.6p5  
hello-motor-right-wheel = v0.7.6p5  
[Pass] Python pkgs are up-to-date  
hello-robot-stretch-body = 0.7.31  
hello-robot-stretch-body-tools = 0.7.16  
hello-robot-stretch-tool-share = 0.3.4  
hello-robot-stretch-factory = 0.5.7  
hello-robot-stretch-diagnostics = 0.0.14  
hello-robot-stretch-urdf = 0.1.2  
[Pass] ROS2 Humble is ready  
Workspace at ~/ament\_ws/src/stretch\_ros2

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 21, 2026, 5:15pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/6 "2026-04-21T17:15:45Z")

</div>

Thanks for the detailed update, this is very helpful.

Good to see that the robot is passing system checks and that everything else in web teleop is working as expected.

For Stretch 2, web teleop uses the wide-angle navigation camera (not the D435i). Could you confirm which camera is being used on your system? Do you have another camera other than the Realsense D435i?

Best,  
Jason

---

<div class="post-metadata">

**Author:** ![Egg\_Cag](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/egg_cag/32/1156_2.png) [@Egg\_Cag](https://forum.hello-robot.com/u/Egg_Cag)\
**Post date:** [April 21, 2026, 5:40pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/7 "2026-04-21T17:40:08Z")

</div>

Is this the navigation camera? If so, how can I connect it to the gimbal d435 sits in?  
This is from the other robot, the one I have been mentioning so far doesn’t have it.

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/2X/f/f3cba0075e107972397d3d43ed2eb90a280b83a1.jpeg)

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/2X/1/14812b5e1c7e1efce3586dbc0e4c642645dc5fe3.jpeg)

---

<div class="post-metadata">

**Author:** ![Egg\_Cag](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/egg_cag/32/1156_2.png) [@Egg\_Cag](https://forum.hello-robot.com/u/Egg_Cag)\
**Post date:** [April 21, 2026, 5:58pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/8 "2026-04-21T17:58:33Z")

</div>

Alternatively, where in stretch\_web\_teleop can I change to enable viewing the rotated d435 image instead?

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [April 24, 2026, 1:36am UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/9 "2026-04-24T01:36:02Z")

</div>

Hi @Egg_Cag,

Thanks for sharing all the details, that’s really helpful.

In your specific case, since you only have the D435i camera, everything should still work correctly in web teleop. So let’s focus on why you’re seeing a black screen.

Could you check whether the camera stream is working properly in ROS 2?

In Terminal 1, run:

```auto
ros2 launch stretch_core d435i_low_resolution.launch.py

```

Then in Terminal 2, run:

```auto
ros2 topic echo /camera/color/image_raw

```

If you see output in Terminal 2, that means the D435i camera is working correctly at the ROS level.

Could you please confirm whether you see output there?  
If not, could you share the output logs from Terminal 1 so we can take a closer look?

Best,  
Jason

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [May 4, 2026, 4:57pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/10 "2026-05-04T16:57:21Z")

</div>

Hi @Egg_Cag,

Just checking in, were you able to test the steps I shared earlier to verify the D435i camera stream?

Let me know what you’re seeing and I can help from there.

Best,  
Jason

---

<div class="post-metadata">

**Author:** ![Egg\_Cag](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/egg_cag/32/1156_2.png) [@Egg\_Cag](https://forum.hello-robot.com/u/Egg_Cag)\
**Post date:** [May 8, 2026, 10:31pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/11 "2026-05-08T22:31:43Z")

</div>

Hello,  
My apologies for the very late response! We were able to get the camera stream working and changed which camera was shown on the web teleop interface, and it now works. We were in a rush so forgot to come back to this forum. I’ll also be closing the other thread asking for a 3d printed part. Thank you so much again for your help!

---

<div class="post-metadata">

**Author:** ![Jason\_Koubi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/jason_koubi/32/1050_2.png) [@Jason\_Koubi](https://forum.hello-robot.com/u/Jason_Koubi)\
**Post date:** [May 8, 2026, 11:15pm UTC](https://forum.hello-robot.com/t/stretch-2-workspace-update-fail-due-to-realsense-apt/1485/12 "2026-05-08T23:15:22Z")

</div>

Hi @Egg_Cag,

No worries at all, and thanks for the update.

Glad to hear you were able to get the camera stream working and switch the correct camera in web teleop.

Best,  
Jason
