Ros Environment in root










1















I have a ros (kinetic) environment set up on a raspberry pi 3 and am trying to get ros to execute upon startup via a simple bash script which calls roslaunch. Ros works in the user domain but fails when called from root.
Here is my launch_ros.sh script:



#!/bin/bash
source /home/pi/ros_catkin_ws/devel/setup.bash
export PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages
roslaunch my_pkg pkg_launch.launch


When I run sudo /home/pi/Desktop/ros_launch.sh the roscore crashes with



ERROR: cannot launch node of type [rosout/rosout]: can't locate node
[rosout] in package [rosout] failed to start core service [/rosout]
The traceback for the exception was written to the log file


But, if I comment out



source /home/pi/ros_catkin_ws/devel/setup.bash


and execute /home/pi/Desktop/ros_launch.sh, ros works fine.



Also worthy of noting is if I leave the above source line uncommented when running in the user domain I get the same error as I do in the root. I think this might be pointing me to the solution but I am still very new to ros.
Has anyone come across this issue and found a solution?










share|improve this question


























    1















    I have a ros (kinetic) environment set up on a raspberry pi 3 and am trying to get ros to execute upon startup via a simple bash script which calls roslaunch. Ros works in the user domain but fails when called from root.
    Here is my launch_ros.sh script:



    #!/bin/bash
    source /home/pi/ros_catkin_ws/devel/setup.bash
    export PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages
    roslaunch my_pkg pkg_launch.launch


    When I run sudo /home/pi/Desktop/ros_launch.sh the roscore crashes with



    ERROR: cannot launch node of type [rosout/rosout]: can't locate node
    [rosout] in package [rosout] failed to start core service [/rosout]
    The traceback for the exception was written to the log file


    But, if I comment out



    source /home/pi/ros_catkin_ws/devel/setup.bash


    and execute /home/pi/Desktop/ros_launch.sh, ros works fine.



    Also worthy of noting is if I leave the above source line uncommented when running in the user domain I get the same error as I do in the root. I think this might be pointing me to the solution but I am still very new to ros.
    Has anyone come across this issue and found a solution?










    share|improve this question
























      1












      1








      1








      I have a ros (kinetic) environment set up on a raspberry pi 3 and am trying to get ros to execute upon startup via a simple bash script which calls roslaunch. Ros works in the user domain but fails when called from root.
      Here is my launch_ros.sh script:



      #!/bin/bash
      source /home/pi/ros_catkin_ws/devel/setup.bash
      export PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages
      roslaunch my_pkg pkg_launch.launch


      When I run sudo /home/pi/Desktop/ros_launch.sh the roscore crashes with



      ERROR: cannot launch node of type [rosout/rosout]: can't locate node
      [rosout] in package [rosout] failed to start core service [/rosout]
      The traceback for the exception was written to the log file


      But, if I comment out



      source /home/pi/ros_catkin_ws/devel/setup.bash


      and execute /home/pi/Desktop/ros_launch.sh, ros works fine.



      Also worthy of noting is if I leave the above source line uncommented when running in the user domain I get the same error as I do in the root. I think this might be pointing me to the solution but I am still very new to ros.
      Has anyone come across this issue and found a solution?










      share|improve this question














      I have a ros (kinetic) environment set up on a raspberry pi 3 and am trying to get ros to execute upon startup via a simple bash script which calls roslaunch. Ros works in the user domain but fails when called from root.
      Here is my launch_ros.sh script:



      #!/bin/bash
      source /home/pi/ros_catkin_ws/devel/setup.bash
      export PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages
      roslaunch my_pkg pkg_launch.launch


      When I run sudo /home/pi/Desktop/ros_launch.sh the roscore crashes with



      ERROR: cannot launch node of type [rosout/rosout]: can't locate node
      [rosout] in package [rosout] failed to start core service [/rosout]
      The traceback for the exception was written to the log file


      But, if I comment out



      source /home/pi/ros_catkin_ws/devel/setup.bash


      and execute /home/pi/Desktop/ros_launch.sh, ros works fine.



      Also worthy of noting is if I leave the above source line uncommented when running in the user domain I get the same error as I do in the root. I think this might be pointing me to the solution but I am still very new to ros.
      Has anyone come across this issue and found a solution?







      bash cmake sh sudo ros






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 15 '18 at 5:26









      Cal DilworthCal Dilworth

      5816




      5816






















          1 Answer
          1






          active

          oldest

          votes


















          0














          In order to run a node as root after changing your shell to root using commands like sudo -i, You can source your current bash profile thats located inside your normal user .bashrc and use it inside root shell.






          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312959%2fros-environment-in-root%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            In order to run a node as root after changing your shell to root using commands like sudo -i, You can source your current bash profile thats located inside your normal user .bashrc and use it inside root shell.






            share|improve this answer



























              0














              In order to run a node as root after changing your shell to root using commands like sudo -i, You can source your current bash profile thats located inside your normal user .bashrc and use it inside root shell.






              share|improve this answer

























                0












                0








                0







                In order to run a node as root after changing your shell to root using commands like sudo -i, You can source your current bash profile thats located inside your normal user .bashrc and use it inside root shell.






                share|improve this answer













                In order to run a node as root after changing your shell to root using commands like sudo -i, You can source your current bash profile thats located inside your normal user .bashrc and use it inside root shell.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 21 '18 at 15:42









                Mohammad AliMohammad Ali

                402310




                402310





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312959%2fros-environment-in-root%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    Node.js Script on GitHub Pages or Amazon S3

                    Museum of Modern and Contemporary Art of Trento and Rovereto