zoukankan      html  css  js  c++  java
  • Ubuntu小记

    一、 Ubuntu分区记忆

    参考教程调整:

    1. /boot用于安装grub,设为主分区

    2. /根目录20G一般足够

    3. /home剩下的给home

    4. swap空间=物理内存

    挂载点大小类型新分区位置用于
    /boot 200M 主分区 空间起始位置 EXT4日志文件系统
    / 20G 逻辑分区 空间起始位置 EXT4日志文件系统
    /home 剩余空间 逻辑分区 空间起始位置 EXT4日志文件系统
    不设置 2G 逻辑分区 空间起始位置 交换空间

    二、最小化窗口

    命令行中手动开启:

    gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-minimize-window true
    发现报错:

    安装:gconf-editor
    sudo apt-get install gconf-editor

    再手动开启即可


    参考:
    https://blog.csdn.net/CareyTian/article/details/80170589
    https://zhidao.baidu.com/question/923401708407265259.html



    三、 手动更新谷歌浏览器
    不更新就不能同步书签
    sudo apt-get update
    sudo apt-get install -y google-chrome-stable

     参考:https://blog.csdn.net/jiangjiang_jian/article/details/62074283

    四、大型作死现场之——重装PCL1.8为1.7  在1.8的基础上装1.7

    实验室里的小伙伴都说,PCL不好卸载。但是,作为一个具有冒险(作死)心态的我,怎么可以不尝试一下呢?

    但是卸载之前的工作,一样都不能少。

    首先是卸载风险评估,卸载后,系统是不会挂的(别问我为什么知道,我只能这么猜)。假设只有点云库收到影响。因为Ubuntu中软件的安装和卸载都真的不是很友好,很容易就gg,万一连带系统也挂了,那就不好了。如果不能接受这个,请老老实实维持原状。我已经预装并且配置好了另外一台备用电脑,于是就有了这个踩坑指南。

    那么我自己的情况是怎么样呢?因为在跑rgbdslamv2中,编译的问题。把点云库升级为1.8,但是,跑很多旧版代码,却经常报些莫名其妙的错误。误踩坑浪费了长达一个多星期的时间,最终在另外一台电脑上,PCL1.7版本下,居然没有报错。

    好了,重装是要重装的。问题是,怎么重装呢?听说过最惨的情况就是,把pcl卸了然后装上,结果各种其他问题。上述说的ubuntu系统套不友好问题。于是,果断放弃直接卸载的做法。

    现在冷静想一想,按道理,安装ROS kinetic时,是1.7的版本,如果说卸载是一见风险很大的做法,那么我升级应该也是才对。但是我却安然无恙,所以是我真的这么幸运,没有踩到重装系统的坑呢,还是,pcl的重装,根本就没有这么可怕?

    带来的思考就是:重装方式,分为两种,一种是卸载后安装,一种是直接覆盖安装。覆盖安装又有两种,一种是新版本覆盖旧版本,另一种是旧版本覆盖新版本。

    回头查看编译rgbdslamv2的博客文件,发现我并没有卸载,而是直接用1.8的版本覆盖掉1.7的,并且,我还尝试着,用1.8的再直接覆盖1.8的。一直没什么问题。

    如果不进行卸载,直接进行覆盖安装,显然,新版本覆盖旧版本是行得通的。但是,如果是旧版本覆盖新版本呢?这个情况能和往常一样吗?我们拭目以待。

    很明显的普通安装套路,新建文件夹,下载,解压,编译,运行,安装。

    这里,我直接修改源代码为:

    cd ~/Downloads
    
    mkdir nozuonodie
    
    cd nozuonodie
    
    wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.7.2.tar.gz

    tar -xvzf pcl-1.7.2.tar.gz

    cd pcl-pcl-1.7.2

    mkdir build

    cd build

    cmake ..

    make -j4 VERBOSE=1

    sudo make install

    修改cmakelist.txt,在其第122行加入并保存 

    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

    按道理是很快搞掂的,结果cmake ..时,报了一大堆错太长了这个错误代码。找了很多种方法,都无济于事。

    结果是因为本身的点云库版本问题,于是选择了1.7.2之后,也就是上面的代码,才能正常make。(注意:1.7.0和1.7.1都不行)

    留意标题,本来ros完整版安装时就已经装上了pcl,但是我又装了1.8版本。

    经过上面的代码,又再次装上了1.7.

    于是系统中有3个pcl版本,3个啊我的天!

    外置pcl 卸载:删除/usr/local/子目录下所有pcl的文件,即bin、include、lib、share(当中可能有些文件夹中的pcl文件不需要删除也行,没试过,反正我全删)

    (1)删除/usr/local/include/pcl,指令为sudo rm -rf /usr/local/include/pcl;(具体看名称pcl版本)

    (2)删除/usr/local/lib下有关libpcl_*.so的库文件,先进入目录cd /usr/local/lib,然后多个同时删除sudo rm -rf lib*

    (3)删除/usr/local/bin、/usr/local/share同理

    反正所有与pcl有关的统统删除即可

    ————————————————————————

    后记:删除自己装的pcl后,再编译ros时,发现很多问题,与pcl有关的必须重新再装一遍

    sudo apt-get install ros-kinetic-pcl-conversions ros-kinetic-pcl-ros ros-kinetic-pcl-msgs

    装完也就算了,还需要装cv_brige,神奇

    sudo apt-get install ros-kinetic-cv-brige

    最后,再

    sudo apt install update
    sudo apt install upgrade

     开启Realsense相机报错

    ERROR] [1538470884.109883734]: Failed to load nodelet [/camera/realsense2_camera] of type [realsense2_camera/RealSenseNodeFactory] even after refreshing the cache: Failed to load library /home/william/catkin_ws/devel/lib//librealsense2_camera.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libopencv_core3.so.3.3: cannot open shared object file: No such file or directory)
    [ERROR] [1538470884.109915140]: The error before refreshing the cache was: Failed to load library /home/william/catkin_ws/devel/lib//librealsense2_camera.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libopencv_core3.so.3.3: cannot open shared object file: No such file or directory)
    [FATAL] [1538470884.110112599]: Failed to load nodelet '/camera/realsense2_camera` of type `realsense2_camera/RealSenseNodeFactory` to manager `realsense2_camera_manager'
    [camera/realsense2_camera-3] process has died [pid 1810, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load realsense2_camera/RealSenseNodeFactory realsense2_camera_manager __name:=realsense2_camera __log:=/home/william/.ros/log/bca07aa6-c621-11e8-81f6-30b49ea6df95/camera-realsense2_camera-3.log].
    log file: /home/william/.ros/log/bca07aa6-c621-11e8-81f6-30b49ea6df95/camera-realsense2_camera-3*.log

     source ~/.bashrc就好了

    参考:

    https://blog.csdn.net/zhuoyueljl/article/details/78536996?reload

    https://blog.csdn.net/hookie1990/article/details/78268888

    https://answers.ros.org/question/272151/could-not-find-a-package-configuration-file-provided-by-cv_bridge/

  • 相关阅读:
    react条件渲染
    js用replaceAll全部替换的方法
    批量重命名图片,去除括号
    [转]自定义alert弹框,title不显示域名
    [转]ASCII码表及扩展ASCII码表,方便查阅
    [转]PHP中file_put_contents追加和换行
    Response
    Redirect
    Request
    Paginator
  • 原文地址:https://www.cnblogs.com/linweilin/p/9714980.html
Copyright © 2011-2022 走看看