工作踩坑记录二

正式入职一个月了,知道了工作中相关记录的重要性。这里不定期更新工作中遇到的各种技术问题。以便后续回顾,不在一条路上跌倒两次。

一、无法挂载NTFS移动硬盘的解决办法:

插入硬盘时提示:

sudo mount -t ntfs-3g /dev/sdb6 /home/media/P
$MFTMirr does not match $MFT (record 0).
Failed to mount '/dev/sdb6': 输入/输出错误
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.

解决办法:sudo ntfsfix /dev/*** ***为报错时告知的硬盘挂载分区

 

二、两台Ubuntu主机共享一套键鼠的办法:(俩台需要在同一个局域网下)

1. sudo apt-get installsynergy /quicksynergy 

2. 服务端配置:(键鼠接口所在的机器即是服务端)

sudo vim /etc/synergy.conf

 

section: screens
        myserver:
        myclient:
end
section: links
        myserver:
                right = myclient
        myclient:
                left = myserver

end

 

其中的right与left根据两台显示器实际左右关系调整。

3. 运行:

服务端运行:

 

synergys

客户端运行:

 

 

synergyc <SERVER HOSTNAME>

server hostname 直接写为服务端ip地址即可。

 

三、配置ssh与vnc使得Windows系统可远程Ubuntu

1、ssh:

(1)sudo apt-get install openssh-server

(2)sudo ps -e |grep ssh  -> sudo service ssh start

(3)sudo gedit /etc/ssh/sshd_config

把配置文件中的"PermitRootLogin without-password"加一个"#"号,把它注释掉-->再增加一句"PermitRootLogin yes"-->保存

2、vnc:

(1)desktop sharpe

(2)sudo apt-get install dconf-editor -> 运行dconf-editor

(3)

 

依次展开org->gnome->desktop->remote-access

这里也可以直接设置远程控制选项,但重要的是将“requre-encryption”去掉。

如果不想每次远程登陆都在ubuntu上点一下允许的话,注意也要把promotion-enabled选项去掉

 

四、配置TX2开机自启动roslaunch

按照网上的各种教程方法进行了尝试,发现将roslaunch写入的脚本文件,通过其方法启动,均失败。现象为sh脚本文件开机可正常启动,通过ps -aux|grep roslaunch 可查看到roslaunch进程,但通过rosnode list查看不到相关节点的启动。

故经过多次尝试放弃,采用一种较差的方式解决。即将其sh脚本文件写入~/.bashrc中,可实现。但存在一个小问题,每次通过ssh远程连接TX2默认重新启动一次sh脚本。

 

五、在TX2上编译opencv遇到的报错:

error: ‘NppiGraphcutState’ does not name a type operator NppiGraphcutState*()

 

解决办法:

在graphcuts.cpp中将

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

 

六、绑定USB口

由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插,

在网上找到一种方法:udev的规则

udev的规则说明,可以参考博客说明:http://blog.csdn.net/cokewei/article/details/8281239

将端口重映射到新的固定的名字,并且设置其权限为可读。使用对应的id端口映射到固定的名字上。

1

lsusb

查看对应的usb端口信息

1

2

3

4

5

6

7

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub

Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

udev的规则

$kernel, %k:设备的内核设备名称,例如:sda、cdrom。

ID  10c4:ea60     表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)
    10c4    usb_device_descriptor.idVendor
    ea60    usb_device_descriptor.idProduct

依据上面信息写udev文件:我用的是rplidar的激光雷达usb串口

我的串口设备信息

1

Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

1

sudo vi /etc/udev/rules.d/rplidar.rules

  

1

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar" 

 创建生效后重新插拔USB

1

ls -l /dev |grep ttyUSB

  显示

1

2

3

lrwxrwxrwx  1 root   root           7 Nov 29 14:03 rplidar -> ttyUSB1

crw-rw-rw-  1 root   dialout 188,   0 Nov 29 14:03 ttyUSB0

crwxrwxrwx  1 root   dialout 188,   1 Nov 29 14:03 ttyUSB1

多个不同型号设备可使用这种方法来区分

 打开设备时,用(/dev/rplidar)即可。

本解决方式 转自:https://blog.csdn.net/walleva96/article/details/78347612

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值