【indemind双目惯性相机调试】sudo后找不到命令问题,环境变量问题

2023-11-09

问题1

报错

kanhao100@ubuntu-x86 ~ % roslaunch imsee_ros_wrapper start.launch
RLException: [start.launch] is neither a launch file in package [imsee_ros_wrapper] nor is [imsee_ros_wrapper] a launch file name
The traceback for the exception was written to the log file

解决

source /home/kanhao100/IMSEE-SDK/ros/devel/setup.zsh 

问题2

报错

kanhao100@ubuntu-x86 ~ % roslaunch imsee_ros_wrapper start.launch              
... logging to /home/kanhao100/.ros/log/f3bd5ef2-d2f4-11ed-ba51-f09e4ab0090f/roslaunch-ubuntu-x86-8178.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubuntu-x86:36885/

SUMMARY
========

PARAMETERS
 * /imsee/imsee_wrapper_node/enable_depth: False
 * /imsee/imsee_wrapper_node/enable_detector: False
 * /imsee/imsee_wrapper_node/enable_disparity: False
 * /imsee/imsee_wrapper_node/enable_point: False
 * /imsee/imsee_wrapper_node/enable_rectified: False
 * /imsee/imsee_wrapper_node/framerate: 50
 * /imsee/imsee_wrapper_node/imu_frequency: 100
 * /imsee/imsee_wrapper_node/resolution_index: 1
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /imsee/
    imsee_wrapper_node (imsee_ros_wrapper/imsee_wrapper_node)

ROS_MASTER_URI=http://localhost:11311

process[imsee/imsee_wrapper_node-1]: started with pid [8193]
[ INFO] [1680618804.215470243]: Initializing nodelet with 8 worker threads.
Module Parameters Load Fail!
[imsee/imsee_wrapper_node-1] process has died [pid 8193, exit code -11, cmd /home/kanhao100/IMSEE-SDK/ros/devel/lib/imsee_ros_wrapper/imsee_wrapper_node __name:=imsee_wrapper_node __log:=/home/kanhao100/.ros/log/f3bd5ef2-d2f4-11ed-ba51-f09e4ab0090f/imsee-imsee_wrapper_node-1.log].
log file: /home/kanhao100/.ros/log/f3bd5ef2-d2f4-11ed-ba51-f09e4ab0090f/imsee-imsee_wrapper_node-1*.log
[imsee/imsee_wrapper_node-1] restarting process
process[imsee/imsee_wrapper_node-1]: started with pid [8222]
[ INFO] [1680618814.521321294]: Initializing nodelet with 8 worker threads.
Module Parameters Load Fail!
[imsee/imsee_wrapper_node-1] process has died [pid 8222, exit code -11, cmd /home/kanhao100/IMSEE-SDK/ros/devel/lib/imsee_ros_wrapper/imsee_wrapper_node __name:=imsee_wrapper_node __log:=/home/kanhao100/.ros/log/f3bd5ef2-d2f4-11ed-ba51-f09e4ab0090f/imsee-imsee_wrapper_node-1.log].
log file: /home/kanhao100/.ros/log/f3bd5ef2-d2f4-11ed-ba51-f09e4ab0090f/imsee-imsee_wrapper_node-1*.log

问题分析

该问题是由于没有root权限导致的,indemind相机这个SDK需要root权限才能运行(就很无语),因此需要加上sudo,或者sudo su等命令

问题3

报错

使用root权限运行后出现命令不存在

kanhao100@ubuntu-x86 ~ % sudo roslaunch imsee_ros_wrapper start.launch
[sudo] kanhao100 的密码: 
sudo: roslaunch:找不到命令

问题分析

这个问题是由于环境变量的问题导致的。一般来说,sudo命令会使用root用户的环境变量,而不是当前用户的环境变量。如果当前用户的环境变量中已经包含了需要的路径,但是root用户的环境变量中没有包含,就会出现这个问题。
实例说明root环境和普通用户环境的区别:

kanhao100@ubuntu-x86 ~ % cmake -version                               
cmake version 3.17.0
kanhao100@ubuntu-x86 ~ % sudo cmake -version
cmake version 3.10.2

运行:

sudo -E roslaunch <package> <launch_file>

这个命令会使用当前用户的环境变量来运行roslaunch命令,从而解决了找不到命令的问题。

如果还是提示找不到命令

可以通过编辑sudo的配置文件来添加路径。打开终端并输入以下命令:

sudo visudo

这会打开sudo配置文件。在文件末尾添加以下行:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/ros/melodic/bin"

其中/opt/ros/melodic/bin为roslaunch所在的路径。保存并退出文件,然后尝试再次运行命令。
如果你不知道命令所在的路径,可以使用以下命令来查找:

which roslaunch

这会显示命令所在的路径。

问题4

报错

kanhao100@ubuntu-x86 ~ % sudo -E roslaunch imsee_ros_wrapper start.launch
Traceback (most recent call last):
  File "/opt/ros/melodic/bin/roslaunch", line 34, in <module>
    import roslaunch
ImportError: No module named roslaunch

问题分析

推测还是环境变量的问题,在前面问题3中虽然将roslaunch加入了可信赖路径,但是其在执行的过程中还是需要Python解释器相关的环境变量,这些环境变量可能也发生了变化。

最后解决方案:

kanhao100@ubuntu-x86 ~ % sudo su -
root@ubuntu-x86:~# source /home/kanhao100/IMSEE-SDK/ros/devel/setup.bash
root@ubuntu-x86:~# roslaunch imsee_ros_wrapper start.launch

susu -命令都可以用于切换用户,但它们之间有一些区别。

su命令是用于切换用户的,但是它不会完全切换到新用户的环境变量。也就是说,它会将当前用户的环境变量保留下来,而不是使用新用户的环境变量。这可能会导致一些问题,例如在使用新用户的命令时,可能会出现找不到命令的错误。

su -命令也用于切换用户,但是它会完全切换到新用户的环境变量。也就是说,它会使用新用户的环境变量,而不是保留当前用户的环境变量。这样可以避免找不到命令的问题,并确保使用正确的环境变量来运行命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【indemind双目惯性相机调试】sudo后找不到命令问题,环境变量问题 的相关文章

随机推荐

  • Nginx——Location用法详解

    目录 一 Nginx的Httpp配置简介 二 Location匹配规则 1 精确匹配 2 最佳匹配 3 正则表达式要区分大小写 4 正则表达式不区分大小写 5 开头 通用匹配 6 综合示例 7 root alias指令区别 一 Nginx的
  • Python爬虫入门案例6:scrapy的基本语法+使用scrapy进行网站数据爬取

    几天前在本地终端使用pip下载scrapy遇到了很多麻烦 总是报错 花了很长时间都没有解决 最后发现pycharm里面自带终端 狂喜 于是直接在pycharm终端里面写scrapy了 这样的好处就是每次不用切换路径了 pycharm会直接把
  • 网络层协议------IP协议

    这里写目录标题 IP协议 基本概念 协议头格式 网段划分 特殊的ip地址 私网ip地址和公网ip地址 ip地址的数量限制 路由 IP协议 IP协议 其实就是TCP IP协议中对于网络层的一个协议 注意IP协议是TCP IP协议族中最为核心的
  • 查看localstorage容量

    1 function if window localStorage console log 浏览器不支持localStorage var size 0 for let item in window localStorage if windo
  • 电路实验---全桥整流电路

    全桥整流电路作用 采用四个二极管将交流电转换成直流电 全桥整流电路图 全桥整流电路原理 220V交流电经过变压器T1降压输出电压U2 当U1正半周从L1经过T1 到达L2 极性表现为上正下负 此时电流流过方向 L2上正 gt VD1 gt
  • uniapp的onPullDownRefresh失效 不执行

    需要在 pages json 里 找到的当前页面的pages节点 并在 style 选项中开启 enablePullDownRefresh path pages install uploadImg style navigationBarTi
  • 数据分析-数据集划分-交叉验证

    目录 交叉验证 k折交叉验证 k fold cross validation 分层k折交叉验证 stratified cross validation Sklearn的实现 k折交叉分类器 分层k折交叉分类器 打乱数据集后再划分 模型验证
  • angular 代理http到https

    api target https www XXXX com changeOrigin true public target https www XXXX com changeOrigin true
  • uniapp switch按钮的使用

    switch使用官方文档 https uniapp dcloud io component switch 想要改变switch按钮的大小
  • Cloudera CDH 5.1版本的Hive与LDAP-2.4.44集成

    文章目录 0 没集成之前测试 1 安装LDAP 2 4 44 2 增加组织 3 添加用户 4 CDH配置LDAP 5 beeline测试1 5 beeline测试2 0 没集成之前测试 可以看到没有输入用户密码可以登录 1 安装LDAP 2
  • OpenGL学习笔记(十)-几何着色器-实例化

    参考网址 LearnOpenGL 中文版 4 7 几何着色器 4 7 1 基本概念 1 顶点和片段着色器之间有一个可选的几何着色器 几何着色器的输入是一个图元 如点或三角形 的一组顶点 顶点发送到下一着色器之前可对它们随意变换 将顶点变换为
  • 【Web Crawler】Python 的 urllib.request 用于 HTTP 请求

    如果您需要使用 Python 发出 HTTP 请求 那么您可能会发现自己被引导至 brilliantrequests库 尽管它是一个很棒的库 但您可能已经注意到它并不是 Python 的内置部分 如果您出于某种原因更喜欢限制依赖项并坚持使用
  • qt 中lineEdit->setText()输出double

    在qt中需要将获取到的double 值在ui界面上显示出来 便于观察 但是lineEdit控件的setText 要求的参数是string 所以我们先要进行转化 将double 转化为string QString QString number
  • 计算方法实验(二):龙贝格积分法

    Romberg积分法数学原理 利用复化梯形求积公式 复化辛普生求积公式 复化柯特斯求积公式的误差估计式计算积分 a b f x
  • 有效的数独

    LeetCode 之 有效的数独 判断一个 9x9 的数独是否有效 只需要根据以下规则 验证已经填入的数字是否有效即可 数字 1 9 在每一行只能出现一次 数字 1 9 在每一列只能出现一次 数字 1 9 在每一个以粗实线分隔的 3x3 宫
  • python机器学习-乳腺癌细胞挖掘(基于真实美国临床数据)

    随着人们生活水平提高 大家不仅关注如何生活 而且关注如何生活得更好 在这个背景下 精准治疗和预测诊断成为当今热门话题 据权威医学资料统计 全球大约每13分钟就有一人死于乳腺癌 乳腺癌已成为威胁当代人健康的主要疾病之一 并且随着发病率的增加
  • Error mounting /dev/sr0 at /media/ VBox

    重新安装Linux映像 sudo apt get install reinstall linux image uname r
  • IBM WAS简介

    IBM WAS简介 IBM WAS 的全称是 IBM WebSphere Application Server 和 Weblogic 一样 是 当前主流的 App Server 应用服务器 之一 App Server 是运行 Java 企
  • DataWhale集成学习(下)——Task14 案例分析1幸福感预测

    目 录 背景介绍 数据信息 评价指标 案例 背景介绍 数据来源于国家官方的 中国综合社会调查 CGSS 文件中的调查结果中的数据 数据来源可靠可依赖 用139维的信息来预测其对幸福感的影响 数据信息 139维 8000余组 幸福感预测值为1
  • 【indemind双目惯性相机调试】sudo后找不到命令问题,环境变量问题

    问题1 报错 kanhao100 ubuntu x86 roslaunch imsee ros wrapper start launch RLException start launch is neither a launch file i